-
v1.7.25 Stable
released this
2026-03-07 20:18:59 +01:00 | 468 commits to main since this releaseAdd shift-click range selection: click an item, then shift-click another item to select the entire range between them. Works across packages and items in display order. Supports Ctrl+Shift+click to add ranges to existing selection.
Downloads
-
v1.7.24 Stable
released this
2026-03-07 20:14:48 +01:00 | 470 commits to main since this releaseFix stale session data from previous versions: items incorrectly marked as completed by the old 50% file size threshold persist in the session file across updates. Added startup revalidation that checks all completed items against their actual file size on disk. If the file is smaller than the expected totalBytes, the item is reset to queued so it gets re-downloaded. Also handles missing files (item completed but file deleted). This fixes the issue where hybrid extraction tried to extract incomplete archives on startup because the session still had them marked as completed from before the v1.7.22/v1.7.23 fixes.
Downloads
-
v1.7.23 Stable
released this
2026-03-07 20:10:39 +01:00 | 472 commits to main since this releaseFix hybrid extraction starting on incomplete archives after restart: two bugs in the disk-fallback readiness check caused extraction to trigger on partially downloaded RAR archives. (1) Items with 'failed' status were explicitly excluded from the blocking check, so partial downloads that failed mid-stream would not prevent extraction. Now any non-completed item blocks the disk fallback. (2) The file size check only required > 10 KB instead of checking against the expected file size. A 627 MB partial download of a 1001 MB file easily passed this check. Now requires the file to be within 4 KB of the expected size. Together with the v1.7.22 item-recovery fix, this fully prevents premature extraction of incomplete archive sets.
Downloads
-
v1.7.22 Stable
released this
2026-03-07 19:48:54 +01:00 | 474 commits to main since this releaseFix premature hybrid extraction on incomplete archives: the item recovery logic incorrectly marked partially downloaded files as completed when they were >= 50% of the expected size. This caused hybrid extraction to start on incomplete RAR split archives (e.g. a 627 MB partial download of a 1001 MB file passed the 50% check). Fix: now requires the file to be within 4 KB of the full expected size before recovery. Also added a guard against pre-allocated sparse files from hard crashes where the file appears to be the full size but downloadedBytes records show the download was still in progress.
Downloads
-
v1.7.21 Stable
released this
2026-03-07 19:37:07 +01:00 | 476 commits to main since this releaseAuto-fix legacy duplicate filenames on startup: items with (1), (2), etc. suffixes from the previous filename bug are now automatically renamed back to their original filenames when the app starts. This fixes RAR split archive extraction failures caused by files like 'file.part3 (1).rar' that should be 'file.part3.rar'. The rename only happens when the original filename is not taken by another item and is safe to use.
Downloads
-
v1.7.20 Stable
released this
2026-03-07 19:34:13 +01:00 | 478 commits to main since this releaseFix Debrid-Link key selection: all parallel downloads now consistently use the same API key until it is exhausted, then move to the next one together. Previously, a shared round-robin index caused parallel items to scatter across different keys (e.g. Key 3, 5, 7) even when the first available key still had capacity. Now the key selection always starts from Key 1 and uses the first key that is not disabled, not at daily limit, and not in cooldown. This maximizes usage of each key before moving to the next.
Downloads
-
v1.7.19 Stable
released this
2026-03-07 19:27:04 +01:00 | 480 commits to main since this releaseFix duplicate (1) filenames after app restart with partial downloads on disk. After restarting (or auto-updating), the in-memory path reservation map was empty, causing the downloader to create new files with (1) suffix instead of reusing the existing partial file. This broke RAR split archive extraction. Fix: restore target path reservations from persisted session data on startup, so each item correctly reclaims its own file path. This also prevents the edge case where a new download could accidentally overwrite a completed file from another item with the same filename.
Downloads
-
v1.7.18 Stable
released this
2026-03-07 19:21:00 +01:00 | 482 commits to main since this releaseFix duplicate filenames after app restart: when the app restarts or updates while downloads are in progress, partial files remain on disk. Previously, restarting would create new files with (1) suffix (e.g. file.part2 (1).rar) instead of reusing/overwriting the existing partial file. This broke RAR split archive extraction because the filenames no longer matched the expected pattern. Now, if a file exists on disk but no other active download has claimed it, the downloader correctly overwrites it instead of creating a duplicate.
Downloads
-
v1.7.17 Stable
released this
2026-03-07 18:03:05 +01:00 | 484 commits to main since this releaseFix Debrid-Link multi-key rotation: notDebrid and similar errors now skip to the next API key immediately instead of retrying 3 times per key. Added per-key cooldown cache (2 min) so parallel download items skip recently-failed keys, preventing all 6 parallel items from wasting requests on the same broken key. Quota errors (maxLink, maxData, etc.) also set a cooldown now. This drastically reduces wasted API calls when keys 1-2 are at their traffic/link limits while keys 3-9 still have capacity.
Downloads
-
v1.7.16 Stable
released this
2026-03-07 17:56:25 +01:00 | 486 commits to main since this releaseFix shelve stalling and add session-load safety net
Bug Fixes
Shelve mechanism completely reworked ("Viele Fehler (15x), Pause 5 min" fix)
- Fresh provider selection after shelve: When an item accumulates 15+ failures and gets shelved,
item.provideris now cleared so the next retry picks a fresh provider — identical to what manual stop/start does. Previously the item kept retrying the same broken provider. - Circuit breaker reset on shelve: The provider-level failure counter (
providerFailures) is now cleared for the old provider when an item is shelved. Previously the circuit breaker kept escalating cooldowns even after shelve, blocking ALL items for that provider. - Shelve duration reduced from 5 minutes to 90 seconds: Since manual restart works immediately (proving the issue is stale state, not a timing problem), a 5-minute pause was excessive. 90 seconds gives the provider time to recover while not stalling downloads unnecessarily.
Session-load safety net (protection against lost packages on update)
- Automatic backup restore: If the primary session file loads as empty (0 packages) but the backup file (
.bak) contains packages, the backup is automatically used instead. This prevents silent session loss during app updates. - Comprehensive session-load logging: Every session file read now logs the file path, package count, item count, and file size. Parse errors are logged instead of silently returning null.
- Shutdown save logging: The shutdown handler now logs how many packages and items are being saved, making it possible to trace session loss after the fact.
- DownloadManager init logging: Logs initial package/item count and cleanup policy on startup, so the full chain from load to display is traceable.
Downloads
- Fresh provider selection after shelve: When an item accumulates 15+ failures and gets shelved,