Skip to content

Releases: 0xJacky/nginx-ui

v2.2.0

05 Oct 05:57
372af98
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
Choose a tag to compare
  • Published to Homebrew Tap
  • Ready to be published to winget

v2.1.10

04 Jul 00:17
1cb44ab
Compare
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
Compare
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
Compare
Choose a tag to compare

Bug fixes

Fix some known issues

v2.1.7

24 Jun 14:35
42170f5
Compare
Choose a tag to compare

🐛 Bug Fixes

i18n

  • Fixed a regression that left several labels in Chinese (notably on the Certificates page) when the UI language was set to English. Text now follows the selected locale after page refresh or direct navigation. #1165

Log management

  • Site log paths can again be given as valid relative directories inside the allow-list; the validator no longer rejects them erroneously. #1158
  • Deleting a site’s access/error log configuration immediately removes the entry from the list instead of leaving undeletable remnants. #1158

🔧 Behaviour Changes

AutoCert key type – The key-algorithm selector is now read-only. #1160