What's Changed
This release fixes a critical bug where completed HTTP downloads would re-download on every app restart. The root cause was twofold: the force-save option was applied globally to all download types, and the aria2.saveSession RPC call was failing silently due to an authentication key mismatch.
🐛 Bug Fixes
- Fixed HTTP re-download on restart — Removed global
force-save=truesetting; now only applied per-download to BitTorrent, Metalink, and Magnet tasks - Fixed
saveSessionRPC authentication — Config store uses camelCase keys (rpcSecret) but the RPC caller was reading kebab-case (rpc-secret), causing silentUnauthorizedfailures - Fixed
force-saveleaking via CLI args — Removedforce-savefrom thesystemKeyswhitelist so it is no longer passed as a global CLI argument to aria2
✨ New Features
- Session save on exit — Added
aria2.saveSessionRPC call before engine shutdown, ensuring in-progress downloads survive quick exits (Dock quit, window close) - Filename resolution animation — Task names now animate smoothly during aria2 filename resolution
- Instant seeding on restore — Enabled
bt-seed-unverifiedfor faster BT session restoration - Expanded updater commands — New Rust commands for download, apply, and cancel update operations
🛠 Improvements
- Decomposed monolithic
app.rsinto dedicated command modules (config,engine,fs,ui,tracker) - Centralized session cleanup logic, removing per-task purge mechanism
- Made
saveSessionasync and properly awaited across task and preference stores
📦 Downloads
| Platform | Architecture | File |
|---|---|---|
| macOS | Apple Silicon · Intel | .dmg
|
| Windows | x64 · ARM64 | -setup.exe
|
| Linux | x64 · ARM64 | .AppImage .deb
|