v8.4.0 Release
Summary
This release introduces several significant improvements to FluxOS including a configuration hot-reload system, automated CloudUI updates, watchdog service integration, and various bug fixes and optimizations.
New Features
Configuration Hot-Reload System
- New configManager.js singleton that monitors userconfig.js for changes and enables runtime configuration updates without requiring service restarts
- Configuration is now accessed via globalThis.userconfig instead of static imports
- Supports dynamic testnet mode switching with automatic RPC client rebuild
- Emits configReloaded events for services to react to configuration changes
CloudUI Auto-Update Service
- New cloudUIUpdateService.js that automatically checks for CloudUI updates from GitHub releases
- Validates version hashes before applying updates
- Skips updates on ArcaneOS nodes where watchdog manages the update process
- Integrated into serviceManager for automatic initialization
Watchdog Service Integration
- New watchdogService.js (363 lines) for PM2-based process monitoring on legacy operating systems
- Automated watchdog deployment for legacy nodes
- New restartAlwaysOwners configuration array for watchdog management
Improvements
Application Spawning Optimizations
- Improved delay system for non-enterprise app installation checks on ArcaneOS (reduced to 2-minute intervals)
- Added 27-minute delay check for non-static-IP apps on static-IP nodes
- Dynamic delay adjustment based on available apps to install
- Logic improvements to prevent delay values going below 0
Bug Fixes
- Fixed free update pricing calculations when compose orders change
- Increased block tolerance threshold for improved reliability
- Enhanced enterprise port validation logic for free updates
Files Changed
- 31 files modified or added
- ~2,316 additions and ~92 deletions
New Files
┌──────────────────────────────────────────────┬──────────────────────────────────┐
│ File │ Description │
├──────────────────────────────────────────────┼──────────────────────────────────┤
│ ZelBack/src/services/cloudUIUpdateService.js │ CloudUI auto-update service │
├──────────────────────────────────────────────┼──────────────────────────────────┤
│ ZelBack/src/services/utils/configManager.js │ Configuration hot-reload manager │
├──────────────────────────────────────────────┼──────────────────────────────────┤
│ ZelBack/src/services/watchdogService.js │ PM2 watchdog service integration │
├──────────────────────────────────────────────┼──────────────────────────────────┤
│ tests/unit/cloudUIUpdateService.test.js │ CloudUI update service tests │
├──────────────────────────────────────────────┼──────────────────────────────────┤
│ tests/unit/configManager.test.js │ ConfigManager unit tests │
└──────────────────────────────────────────────┴──────────────────────────────────┘
Testing
- Comprehensive unit tests for ConfigManager covering event handling, edge cases, and cross-platform scenarios
- Full test coverage for CloudUI update service
- All existing tests updated to work with new configuration system
Backward Compatibility
All changes maintain full backward compatibility with no breaking changes.