LibreQoS 1.5-RC1 Released!
• Herbert WolversonWe’re proud to announce the release of LibreQoS 1.5-rc1! The changelog is really rather large!
LibreQoS v1.5-RC-1 Changelog
Major Features
StormGuard * Automatic Rate Adjustment
- StormGuard automatic bandwidth adjustment system integrated directly into lqosd
- Dynamically adjusts circuit rates based on network conditions and TCP retransmission rates
- Score-based decision making with bias towards returning to maximum rates
- Independent min/max/step bandwidth configuration per site
- Optional CSV logging for rate changes
- Web UI configuration panel for StormGuard settings
LQOS Bakery * TC Command Processing System
- Complete rewrite of TC (Traffic Control) command processing in Rust
- Fractional speed plan support (floating-point rates instead of integers)
- Lazy queue creation system for improved performance
- Lazy threshold bytes setting * only announce circuits that reach traffic threshold
- In-memory command execution reducing file I/O overhead
- Queue pruning system for efficient resource management
- Batch command processing to reduce bus overload
Insight Integration Enhancements
- Complete web-based signup system for Insight service with trial teasers
- Dynamic circuit counting for pricing estimates
- Remote topology management with primary/secondary role support
- Automatic scheduler control based on Insight topology settings
- License key enrollment system for existing shapers
- Topology sharing with remote Insight mapping service
- Insight teasers load from server with local fallback
- Removed opt-in “use_insight” configuration field
Performance Improvements
- Memory usage reductions through improved flow tracking
- Pointer-free flow analysis for simpler memory management
- ArcSwap-based configuration to reduce churn
- Persistent bus connections replacing read-to-end pattern
- Lazy queue expiration aligned with XDP garbage collection
- More aggressive flow expiration to reduce memory burstiness
UI/UX Enhancements
Dashboard Improvements
- New dashboard editor with Bootstrap 5 accordion interface
- Color-blind mode toggle for all visualizations
- Sortable circuit network traffic tables
- Mouse-over tooltips with axis highlighting on time graphs
- “Hide small flows” checkbox for active flows table
- Improved sankey diagram layouts (circuit>ASN>protocol>IP)
- Top 20 flow limitation on active flows sankey
- Cache busters for JavaScript and CSS files
Visualization Updates
- Dave Täht memorial feature (moved to support page only)
- Klingon redaction mode for privacy
- Better shaped/unshaped pie chart coloring
- Filtered display removing empty tree sections
- Improved throughput history rendering
- TimedCache on circuit capacity to reduce UI jumpiness
Integration Updates
UISP Integration
- New integration strategies: “ap_only”, “ap_site”, and improved “full2”
- Bottom-up processing starting from clients
- Support for multiple services per customer
- 64-bit bandwidth support
- Configurable client bandwidth multiplier
- Node promotion to root functionality
- Airmax and LTU capacity multipliers restored
General Integration Features
- Smart scheduler that skips reload if nothing changed
- Better error reporting and diagnostics
- Blackboard submission improvements
- Route override support with bidirectional graph routing
Configuration & Management
New Configuration Options
disable_icmp_ping* Disable ICMP pinging on circuits pageclient_bandwidth_multiplier* Adjust client bandwidth calculationspromote_to_root* Specify nodes to promote to root level- Lazy queue configuration options
- StormGuard enable/disable and tuning parameters
System Improvements
- Cursive-based lqos_setup tool * creates configuration directly instead of Python conversion
- Health check endpoint at
/healthreturning 220/OK - PyO3 syntax updated for version 25.1
- All package versions updated
- Better TC error reporting with improved locking
- Scheduler service restart on “Reload LibreQoS”
Bug Fixes
Critical Fixes
- Fixed duration underflow panic
- Fixed Per-Protocol Packet Count calculations
- Fixed TCP retransmit percentage calculations
- Fixed MQ device reload issues
- Fixed queue creation regression with lazy_queues=false
- Fixed site speed changes not respecting min < max requirement
- Fixed empty device names crashing UISP integration
UI Fixes
- Re-enabled time period buttons
- Fixed frozen UI when queue data unavailable
- Fixed tooltip display scaling for traffic
- Fixed dashboard item addition when dashboard empty
- Fixed Insight time-based packet display
- Fixed ping icon dramatics with proper tooltips
Integration Fixes
- Fixed multiple services per customer in UISP
- Fixed bandwidth calculation with commit multipliers
- Fixed circular recursion in graph calculations
- Fixed Netflow 9 source port selection
- Fixed version check submission confusion
Documentation Updates
- Created LTS documentation
- Updated CAKE documentation
- Updated integration guides
- Updated troubleshooting guide
- Updated design documentation
- Added LQOS Bakery implementation plans
Development & Testing
- Enhanced allocative flamegraph system for memory profiling
- Comprehensive test coverage for lazy queue system
- Circuit hash integrity tests
- Build script improvements
- Warning and log spam reduction throughout
Breaking Changes
- “full2” is now the default UISP integration strategy replacing “full”
- TC command processing moved to Rust implementation by default
- Fractional speeds now use floating-point values instead of integers