Release Notes (v1.0.3)
This release introduces significant performance improvements and major architectural upgrades to the network engine, alongside a more robust and responsive user interface. The standout feature of this release is the fully redesigned, concurrent, and time-bounded bandwidth testing module.
Features
- Advanced Bandwidth Diagnostic Module: Introduced a comprehensive, multi-phase download and upload bandwidth testing suite.
- Concurrent Worker Pool Architecture: Upgraded the download bandwidth test to utilize a fan-out/fan-in architecture. It now spawns 8 concurrent TCP streams, effectively saturating the network link and completely bypassing TCP Slow Start bottlenecks.
- Time-Bounded Upload Tests: Implemented a real O(1) memory complexity upload stream that dynamically adapts to strict duration limits.
- Enhanced UI Integration:
- Added a contextual panel swap mechanism specifically for the bandwidth diagnostic mode.
- Implemented anti-jank animations and a clean Bento Grid layout to ensure a fluid experience during heavy network loads.
- Wired the
skey shortcut to seamlessly trigger non-blocking bandwidth tests.
Refactoring & Performance
- Type Safety & Observability: Implemented strict typestates, strongly-typed errors, and integrated the
tracingcrate for vastly improved systemic observability. - Decoupled Architecture: Fully decoupled the user interface from the underlying bandwidth test logic, fixing critical edge cases where network errors were previously swallowed.
- State Management & Robustness: Improved network engine robustness and UI state management. Introduced a pause/resume command channel pattern to the
CoreEngine. - Resource Optimization: Eliminated zombie async tasks and significantly reduced UI heap churn to prevent memory leaks over long sessions.
- Telemetry Improvements: Introduced Abstract Data Types (ADTs) for multi-telemetry streams and adopted an atomic reporter pattern for accurate and lock-free speed calculations.
Bug Fixes
- Reverted the Cloudflare bandwidth payload size back to a safe 50MB limit to prevent HTTP 403 Forbidden errors during extended testing.
- Added application log files (
intqual.log) to.gitignoreto keep the repository clean.
CI/CD & Infrastructure
- Fixed release branch naming conventions in automated workflows.
- Resolved issues related to the
crates.iopublish pipeline.