Skip to content

Releases: 0xJacky/nginx-ui

v2.2.1

25 Nov 06:02
fdea394

Choose a tag to compare

🎉 Features

Certificate Management

  • Auto-generation of certificate paths and names #1442 (8522ba7)

Configuration & Sandbox

  • Improve sandbox configuration handling and include directive processing #1430 (aee2352)

  • Streamline sandbox configuration and include handling #1421 (d6cdf47)

  • Config restore with mount point handling #1419 (bc0844a)

  • Enhance upstream parser for variables #1402 (c4bd485)

  • Add config to disable site health check #1427 (cfb6cae)

Scanner

  • Enhance scanning functionality with configurable options and post-scan callbacks (49623c2)

Dashboard & UI

🐛 Bug Fixes

  • Replace mutex with RWMutex for NodeMap access and implement snapshot functionality #1444 (98e83f1)

  • Improve error handling and styles in certificate components #1442 (6a82654)

  • Remove password from context payload if nil (a6fbd2f)

  • Use path.Join and rename param to avoid Windows embed path issue #1391 by @alireza Gholiei (a6e1691)

  • Support Windows in execShell by replacing /bin/sh with cmd.exe #1389 by @alireza Gholiei (9eb759d)

  • Allow all paths when the allowed path is the root directory in ValidatePathAccess function #1380 (2457658)

  • Refine regex patterns for server directives #1384 by @LogicDX342 (dc522de)

  • Adjust columns settings in SocketList #1377 (35d6469)

  • Improve caching mechanism for disabled sockets and ensure cache validity (ae86ef7)

  • Add ACMEUserID to the autoCert function #1372 (3930aaf)

🔄 Refactoring

  • Rename DingTalk to Dingding and update related references #1392 (55ee379)

  • Refactor nginx path resolution with improved regex and fallback #1414 by @enwikuna (918642f)

  • Improved WebSocket handling (d24d845)

  • Remove store initialization on mount and unmount (8396599)

❤️ Contributors

Special thanks to our community contributors:

v2.2.0

05 Oct 05:57
372af98

Choose a tag to compare

🎉 Features

GeoLite2 Database Integration

  • Add GeoLite2 database checks and download functionality in self-check tasks (5b47ccf)
  • Implement GeoLite2 database download from cloud (f967501)

Nginx Log Analytics Enhancements

  • Refactor nginx log with advanced indexer parse and search (0ff4a6e)
  • Add geo map visualization for log analytics (fa18186)
  • Add advanced indexing settings (9aa5a26)
  • Add index_path configuration for custom index storage (6567d92)
  • Add basic log_list fallback when AdvancedIndexing is disabled (9124b33)
  • Add advanced indexing status check and update view mode logic (8fc7d8a)
  • Implement log group index deletion and add TabFilter component for log type selection (869012a)
  • Add virtual scroll container for improved performance #1355 (85eb6c9)

Namespace & Deployment

  • Add deploy_mode field to namespace and implement sandbox testing for nginx config #1350 (e71293c)
  • Implement namespace loading and filtering in NamespaceTabs and Nodes components (ccad4d1)
  • Rename env to node, env group to namespace (261c766)

LLM Integration

  • Add llm sessions and update related logic (c355cb8)
  • Enhance LLM functionality with nginx configuration context and update ESLint auto-imports (7214bef)
  • Add OS context to LLM chat and enhance session management logic (66ba546)
  • Add useGlobalApp composable and integrate it into various components for improved message handling (0c83303)

Dashboard & UI

Other Features

  • Allow disabling proxy targets availability test #1327 (de0467b)
  • Add RefreshModulesCache endpoint #1333 (2742aec)
  • Add copy functionality to certificate management and update auto cert states (080ea59)
  • Separate folders and files sorting in config management page (486add9)

Performance Improvements

  • High-performance log search and indexing (4563c1f)
  • Improve indexer throughput (1f478a2)
  • Optimize indexer config for multi-core systems (1626c61)
  • Introduce cache for user, site_config, node (03fbd9b)
  • Adaptive optimization and worker count adjustment for nginx_log (e3ce9a9)

🐛 Bug Fixes

  • Skipping symlinks outside allowed paths during restore #1371 (29b83da)
  • Replace env_group_id with namespace_id in API endpoints and types #1369 (e26a4fa)
  • Initialize global log parser singleton in modern_services (eb4dc12)
  • Unable to rename file when modifying in "Manage Configs" #1330 (464caf5)
  • Log index match access_log off incorrectly #1317 (a766bd2)
  • Fix migration issues (3ffa80a)
  • Logging middleware context handling (b8cfd93)
  • WebSocket readPump context handling (29ff77a)
  • Increase buffer size for websocket channels and improve client handling (a15ad68)
  • Stop parent's program when restart (f44c44c)
  • Correct Total handling when merging facets in nginx_log (54313dd)
  • Update max interval of 30s for retry in node operations (3eed99a)

🔄 Refactoring

  • Optimized nginx-log parser, indexer, searcher and analyzer (fc968a3)
  • Integrated and optimized shard management for nginx-log (b81a72c)
  • Simplify retry logic and improve node status handling (ff9d0c2)
  • Change nginx_log time fields to Unix timestamps (13ee167)

v2.1.17

06 Aug 03:54
876213a

Choose a tag to compare

🎉 Features

  • Self-check System: Add checks and fixes for conf.d directory existence (30db67385)
  • Notification System: Add error handling component to improve notification stability (3d1751487)
  • Logging System: Add debug logging for process checks in nginx (fb1d82f29)

🐛 Bug Fixes

  • Nginx Logs: Update log path handling #1292 (fb179f4e7)
  • WebSocket: Replace websocket error handling with helper function for improved connection stability (b69fe050f)

🔄 Refactoring

  • Process Checking: Replace os.FindProcess with gopsutil for cross-platform process existence check #1289 (c5750cdc9)

v2.1.16

03 Aug 14:17
aa785aa

Choose a tag to compare

🚀 New Features

🔔 Notification System Enhancements

  • WeCom Support: Added WeCom (Enterprise WeChat) notification channel for sending system notifications to WeCom groups
  • Telegram HTTP Proxy Support: Added HTTP proxy support for Telegram notifications to resolve network access restrictions #1175
  • Notification Test API: Added test message API for notifications to verify configuration correctness #1262

🔐 Certificate Management Improvements

  • Short-lived Certificate Auto-renewal: Implemented early renewal logic for short-lived certificates to ensure timely updates
  • IP Address Support: Added support for IP addresses in AutoCert options to expand certificate application scope #1208
  • EAB Support: Added External Account Binding (EAB) support for ACME user registration to enhance security #1255
  • Certificate Management Components: Added new components for certificate management and editing, including upload, download, and actions

🌐 Upstream Server Management

  • Upstream Server Cards: Added upstream server cards display for more intuitive server status viewing
  • Detail Modal: Added detail modal for upstream servers to display comprehensive server information
  • Proxy Target Parsing Enhancement: Support parsing proxy targets from multiple configurations and added gRPC proxy support
  • Upstream Test Types: Added local, remote, and mirror test types for environment groups

📱 PWA Support

  • Progressive Web App: Implemented PWA support (app manifest)] #1250
  • App Icons: Added multiple size app icons to support different device display requirements

🔧 Configuration Management Improvements

  • Config Name Attribute: Added Name attribute support in EditConfig and handleNginxConfigModify functions #1273
  • Path Handling Optimization: Updated path handling logic to improve configuration file compatibility #1278
  • Include Directive Handling: Optimized Include directive processing logic

🐛 Bug Fixes

🌐 Network and Connectivity

  • IPv6 Address Handling: Fixed IPv6 address handling in socket formatting
  • WebSocket Route Proxy: Fixed WebSocket route proxy for environments and nginx detail status #1280
  • Performance Data Broadcasting: Fixed issue with checking connected clients before broadcasting performance data #1259

🔐 Security and Encryption

  • Public Key Retrieval Error: Fixed public key retrieval error in restore functionality #1272
  • Timestamp Check Removal: Refactored crypto module to remove timestamp check in GetPublicKey function #1274, #1275
  • S3 Backup Security: Fixed secure dependency on endpoint URL for S3 backup #1266

📊 Logging and Monitoring

  • Node Statistics Reporting: Enhanced node statistics reporting with version info and improved message handling

🗂️ File System

  • Symlink Handling: Enhanced symlink handling in file event handler
  • Cache Optimization: Improved caching mechanism to enhance file system operation performance

📈 Performance Optimizations

  • Optimized upstream server status checking
  • Enhanced DNS credential provider and name filtering options
  • Improved environment group rendering and sync nodes preview functionality
  • Optimized batch upgrader development options

Sponsor

If you find this project helpful, please consider sponsoring us to support ongoing development and maintenance.

GitHub Sponsors
Afdian

Your support helps us:

  • 🚀 Accelerate the development of new features
  • 🐛 Fix bugs and improve stability
  • 📚 Enhance documentation and tutorials
  • 🌐 Provide better community support
  • 💻 Maintain infrastructure and demo servers

v2.1.14

21 Jul 02:20
b1fee47

Choose a tag to compare

✨ Features

  • Upstream: Added dynamic resolver capability #1241.
  • API: Prevents the public_key endpoint from being cached #1234.
  • Nodes: Implemented retry logic with exponential backoff for node connections #1226.
  • Kernel: Added support for HTTP/2 and HTTP/3 protocols #1172.
  • CI: Updated Winget package manager integration #1195.
  • CI: Updated Homebrew tap formula with release assets and checksums #1138.
  • Auth: Implemented short tokens for user authentication and updated login responses.
  • WebSockets: Added WebSocket support for real-time environment monitoring.
  • Nginx: Added WebSocket support for real-time status monitoring.
  • Users: Added default user initialization.
  • Settings: Added an SbinPath option for Nginx.
  • Environment: Added auto-refresh functionality for the environment list with a configurable interval.

🐛 Bug Fixes

  • Middleware: Fixed handling of localhost IPv6 addresses in the IP whitelist middleware.
  • Nginx Status: Improved error handling for Nginx status checks.
  • macOS: Fixed virtual filesystem handling #1213.
  • Certificates: Updated certificate revocation logic #1179.
  • Nginx: Fixed a panic that occurred if the sbin path was empty #1178.
  • File Paths: Used filepath.Base instead of path.Base for filename extraction to improve cross-platform compatibility #1196.
  • WebSockets: Handled unexpected WebSocket errors gracefully in the nodeAnalyticRecord function.

⚡️ Performance

  • Search: Limit max memory usage to prevent out of memory #1178 #1240.

Chore

  • Dependencies: Updated all non-major dependencies.
  • Dependencies: Updated lego ACME client to reduce the size of SDK go-acme/lego#2590.
  • CI: Switched from wrangler to aws s3 cli for R2 uploads to prevent 524 Timeout error during upload.
  • Translations: Updated Arabic translations, thanks @mosaati.
  • Translations: Updated Russian translations, thanks @iAHTOH.
  • Docs: Updated documentation.
  • Analytics: Convert disk and memory size by using humanize.IBytes #1222, thanks @rexzzw.

Sponsor

If you find this project helpful, please consider sponsoring us to support ongoing development and maintenance.

GitHub Sponsors
Afdian

Your support helps us:

  • 🚀 Accelerate the development of new features
  • 🐛 Fix bugs and improve stability
  • 📚 Enhance documentation and tutorials
  • 🌐 Provide better community support
  • 💻 Maintain infrastructure and demo servers

v2.1.13

20 Jul 15:20
0000298

Choose a tag to compare

✨ Features

  • Upstream: Added dynamic resolver capability #1241.
  • API: Prevents the public_key endpoint from being cached #1234.
  • Nodes: Implemented retry logic with exponential backoff for node connections #1226.
  • Kernel: Added support for HTTP/2 and HTTP/3 protocols #1172.
  • CI: Updated Winget package manager integration #1195.
  • CI: Updated Homebrew tap formula with release assets and checksums #1138.
  • Auth: Implemented short tokens for user authentication and updated login responses.
  • WebSockets: Added WebSocket support for real-time environment monitoring.
  • Nginx: Added WebSocket support for real-time status monitoring.
  • Users: Added default user initialization.
  • Settings: Added an SbinPath option for Nginx.
  • Environment: Added auto-refresh functionality for the environment list with a configurable interval.

🐛 Bug Fixes

  • Middleware: Fixed handling of localhost IPv6 addresses in the IP whitelist middleware.
  • Nginx Status: Improved error handling for Nginx status checks.
  • macOS: Fixed virtual filesystem handling #1213.
  • Certificates: Updated certificate revocation logic #1179.
  • Nginx: Fixed a panic that occurred if the sbin path was empty #1178.
  • File Paths: Used filepath.Base instead of path.Base for filename extraction to improve cross-platform compatibility #1196.
  • WebSockets: Handled unexpected WebSocket errors gracefully in the nodeAnalyticRecord function.

⚡️ Performance

  • Search: Limit max memory usage to prevent out of memory #1178 #1240.

Chore

  • Dependencies: Updated all non-major dependencies.
  • Dependencies: Updated lego ACME client to reduce the size of SDK go-acme/lego#2590.
  • CI: Switched from wrangler to aws s3 cli for R2 uploads to prevent 524 Timeout error during upload.
  • Translations: Updated Arabic translations, thanks @mosaati.
  • Translations: Updated Russian translations, thanks @iAHTOH.
  • Docs: Updated documentation.
  • Analytics: Convert disk and memory size by using humanize.IBytes #1222, thanks @rexzzw.

Sponsor

If you find this project helpful, please consider sponsoring us to support ongoing development and maintenance.

GitHub Sponsors
Afdian

Your support helps us:

  • 🚀 Accelerate the development of new features
  • 🐛 Fix bugs and improve stability
  • 📚 Enhance documentation and tutorials
  • 🌐 Provide better community support
  • 💻 Maintain infrastructure and demo servers

v2.1.12

04 Jul 10:08
d6ecf1d

Choose a tag to compare

  • Published to Homebrew Tap
  • Ready to be published to winget

v2.1.10

04 Jul 00:17
1cb44ab

Choose a tag to compare

🚀 New Features

Authentication Enhancements

  • Default User Initialization: Added automatic default user initialization feature

Configuration Improvements

  • Nginx Sbin Path: Added SbinPath option in settings for better Nginx binary path configuration

🔧 Improvements

Performance Optimizations

  • Reduced Recursion Depth: Optimized file scanning to reduce recursion depth and prevent stack overflow issues (#1178)
  • File Scanning Enhancement: Improved file scanning with recursion protection and absolute path resolution (#1178)
  • Nginx Prefix Caching: Added caching for nginx prefix during log file scanning for better performance

UI/UX Enhancements

  • Memory and Storage Charts: Updated grid layout for memory and storage charts (#1201)

🐛 Bug Fixes

Critical Fixes

  • Nginx Panic Prevention: Fixed panic when sbin path is empty (#1178)
  • Filename Extraction: Fixed filename extraction by using filepath.Base instead of path.Base (#1196)

Translation Updates

  • Sbin Capitalization: Updated "sbin" to "Sbin" in multiple language files for consistency
  • Translation Updates: Updated various translations across the application

🔄 Refactoring

Event System

  • WebSocket Event Bus: Refactored to use WebSocket event bus instead of Server-Sent Events (SSE) (#1197)

v2.1.9

26 Jun 09:40
fa0d785

Choose a tag to compare

Bug Fixes

  1. Certificate revocation no longer hangs – addressed a bug that stalled the revocation workflow (#1179).
  2. Dashboard → Environments list now loads correctly – fixed a loading failure that could freeze the /#/dashboard/server page (#1180).
  3. Log-path handling hardened – refined path-resolution logic to skip circular symbolic links (#1178).

v2.1.8

25 Jun 09:27
e4dd130

Choose a tag to compare

Bug fixes

Fix some known issues