github RunOnFlux/flux v8.4.0

16 hours ago

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.


Don't miss a new flux release

NewReleases is sending notifications on new releases.