• v1.7.18 dadc2d1b57

    v1.7.18 Stable

    Administrator released this 2026-03-07 19:21:00 +01:00 | 357 commits to main since this release

    Fix 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 31a579f07c

    v1.7.17 Stable

    Administrator released this 2026-03-07 18:03:05 +01:00 | 359 commits to main since this release

    Fix 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 7e0d4e210f

    v1.7.16 Stable

    Administrator released this 2026-03-07 17:56:25 +01:00 | 361 commits to main since this release

    Fix 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.provider is 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
  • v1.7.15 0042ce0adb

    v1.7.15 Stable

    Administrator released this 2026-03-07 17:15:15 +01:00 | 363 commits to main since this release

    Fix hosterNotAvailable provider cooldown stalling auto-retry

    Bug Fixes

    • Fix provider cooldown escalation on hosterNotAvailable errors: The inner unrestrict error handler was still calling recordProviderFailure() for hosterNotAvailable errors, causing provider-level cooldown to escalate (up to 180 seconds). This made items stall at "Unrestrict-Fehler, Retry X/inf" indefinitely while manual reset ("Zurücksetzen") worked instantly. The root cause was that hosterNotAvailable is a hoster-side issue, not a provider failure, so it should not penalize the provider.

    • Dedicated hosterNotAvailable retry path: Added a specialized error handler that:

      • Clears item.provider for fresh provider selection on retry (mimicking manual reset behavior)
      • Does NOT call recordProviderFailure() — avoids provider cooldown escalation
      • Caps backoff at 30 seconds (5s base with 1.5x growth, max 30s) instead of the previous 5s to 120s+ escalation
      • Properly cleans up partial downloads before retry
    • Inner catch no longer penalizes providers for hoster issues: The catch block that records provider failures during unrestrict now explicitly excludes hosterNotAvailable errors, preventing the failure counter from growing and triggering shelve/cooldown mechanisms

    Downloads
  • v1.7.14 b02f37cda5

    v1.7.14 Stable

    Administrator released this 2026-03-07 17:10:07 +01:00 | 365 commits to main since this release

    What's New in v1.7.14

    Downloads
  • v1.7.13 8a64289924

    v1.7.13 Stable

    Administrator released this 2026-03-07 17:02:32 +01:00 | 367 commits to main since this release

    What's New in v1.7.13

    Downloads
  • v1.7.12 4bdc95a055

    v1.7.12 Stable

    Administrator released this 2026-03-07 16:45:00 +01:00 | 369 commits to main since this release

    What's New in v1.7.12

    Encrypted Backup System (JDownloader 2 Style)

    • Complete redesign of the import/export backup system
    • Backups are now AES-256-GCM encrypted (.mdd format) — no more plaintext credentials
    • All data is included: settings, ALL credentials (API keys, passwords, tokens), session queue, and download history
    • Works on any PC without password — just export and import on another machine
    • Backward-compatible: can still import old JSON backup files
    • Fixed missing credentials in backup: debridLinkApiKeys, linkSnappy login/password were previously not included
    • History entries are now properly normalized during import

    Hide Extracted Items in Package List

    • Completed/extracted items (showing "Entpackt - Done") are now automatically hidden from the expanded package item list
    • Keeps the UI clean — only shows items that are still in progress or queued
    • Progress stats (e.g. [49/387]) still count all items correctly
    • New toggle in Settings > Extraction: "Entpackte Items in Paketliste ausblenden" (enabled by default)
    • Can be disabled if you prefer seeing all items
    Downloads
  • v1.7.11 ca534196b8

    v1.7.11 Stable

    Administrator released this 2026-03-07 15:12:08 +01:00 | 372 commits to main since this release

    Cache flat-mode extraction flag per package, skip redundant password cycles for absolute-path archives

    Downloads
  • v1.7.10 8cb3640057

    v1.7.10 Stable

    Administrator released this 2026-03-07 14:39:54 +01:00 | 374 commits to main since this release

    Fix auto-rename for episode suffixes (rrp), skip 0-byte MKVs in library collector, prevent duplicate (2) file copies

    Downloads
  • v1.7.9 f3e0e54da7

    v1.7.9 Stable

    Administrator released this 2026-03-07 14:18:51 +01:00 | 378 commits to main since this release

    v1.7.9 � Parallel Extraction Fix & Session Counter

    Extraction

    • Fix false wrong_password errors during parallel extraction � When multiple UnRAR processes extract into the same target directory simultaneously, CRC mismatches can occur that are misreported as "Incorrect password". Archives that fail with wrong_password are now automatically retried serially after the parallel batch completes. If the password was already proven correct by another archive in the same package, the serial retry will succeed.
    • Detailed logging: Serielle Wiederholung: X fehlgeschlagene Archive werden einzeln wiederholt

    Session Statistics

    • Fix session download counter resetting on stop/resume � Previously, clicking Stop then Start would reset the "Session" byte counter to zero, losing track of previously downloaded data. The counter now persists across stop/resume cycles and only resets when the queue is completely empty or the app restarts.

    Technical Details

    • Root cause of extraction issue: parallel UnRAR writing to shared target dir causes I/O contention, leading to CRC validation failures on extracted files
    • The serial retry reuses the learned password from successful extractions, so no additional password probing is needed
    • Speed/ETA calculations still reset per-run (by design) via totalDownloadedBytes, only the cumulative sessionDownloadedBytes is preserved
    Downloads