Releases: 0xJacky/nginx-ui
v2.2.1
🎉 Features
Certificate Management
Configuration & Sandbox
-
Improve sandbox configuration handling and include directive processing #1430 (aee2352)
-
Streamline sandbox configuration and include handling #1421 (d6cdf47)
Scanner
- Enhance scanning functionality with configurable options and post-scan callbacks (49623c2)
Dashboard & UI
-
Improved maintenance page styles (cc8b820)
-
Update link to
nginx.confin getting-started.md #1424 by @SuitDeer (30379a4)
🐛 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.Joinand rename param to avoid Windows embed path issue #1391 by @alireza Gholiei (a6e1691) -
Support Windows in execShell by replacing
/bin/shwithcmd.exe#1389 by @alireza Gholiei (9eb759d) -
Allow all paths when the allowed path is the root directory in
ValidatePathAccessfunction #1380 (2457658) -
Refine regex patterns for server directives #1384 by @LogicDX342 (dc522de)
-
Improve caching mechanism for disabled sockets and ensure cache validity (ae86ef7)
🔄 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:
- @alireza Gholiei
- @enwikuna
- @LogicDX342
- @SuitDeer
- @weblate (Translation)
v2.2.0
🎉 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
v2.1.17
🎉 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
🚀 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.
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
✨ Features
- Upstream: Added dynamic resolver capability #1241.
- API: Prevents the
public_keyendpoint 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
SbinPathoption 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.Baseinstead ofpath.Basefor filename extraction to improve cross-platform compatibility #1196. - WebSockets: Handled unexpected WebSocket errors gracefully in the
nodeAnalyticRecordfunction.
⚡️ Performance
Chore
- Dependencies: Updated all non-major dependencies.
- Dependencies: Updated
legoACME client to reduce the size of SDK go-acme/lego#2590. - CI: Switched from
wranglertoaws s3 clifor 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.
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
✨ Features
- Upstream: Added dynamic resolver capability #1241.
- API: Prevents the
public_keyendpoint 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
SbinPathoption 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.Baseinstead ofpath.Basefor filename extraction to improve cross-platform compatibility #1196. - WebSockets: Handled unexpected WebSocket errors gracefully in the
nodeAnalyticRecordfunction.
⚡️ Performance
Chore
- Dependencies: Updated all non-major dependencies.
- Dependencies: Updated
legoACME client to reduce the size of SDK go-acme/lego#2590. - CI: Switched from
wranglertoaws s3 clifor 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.
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
v2.1.10
🚀 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
Bug Fixes
- Certificate revocation no longer hangs – addressed a bug that stalled the revocation workflow (#1179).
- Dashboard → Environments list now loads correctly – fixed a loading failure that could freeze the /#/dashboard/server page (#1180).
- Log-path handling hardened – refined path-resolution logic to skip circular symbolic links (#1178).