-
v1.7.126 Stable
released this
2026-04-04 20:21:52 +02:00 | 270 commits to main since this releaseSFV-Companion-Dateien werden bei Hybrid-Extraktion korrekt als entpackt markiert
Downloads
-
v1.7.125 Stable
released this
2026-04-04 20:11:55 +02:00 | 272 commits to main since this releaseSFV und kleine Metadaten-Dateien ohne Retry-Loop akzeptieren
Downloads
-
v1.7.124 Stable
released this
2026-03-29 03:27:11 +02:00 | 274 commits to main since this release- Fixed support bundle export UI freeze by moving the save dialog before bundle construction and using cached host diagnostics fallback.
Downloads
-
v1.7.123 Stable
released this
2026-03-28 16:28:20 +01:00 | 276 commits to main since this releaseChangelog (v1.7.123)
Download Integrity and Resume Safety
- Added strict Content-Range parsing for resumed downloads and now validate that returned byte ranges exactly continue from the existing local file size.
- Added hard resume guardrails to stop writing when servers return mismatched resume ranges, forcing a safe re-acquire path instead of risking silent corruption.
- Improved edge-case handling for already-complete responses during resume validation.
- Removed unsafe HTTP 416 completion heuristics that could previously mark incomplete files as finished under ambiguous conditions.
Archive Reliability and CRC/Checksum Robustness
- Switched archive/binary completion checks to strict byte validation to avoid accepting undersized multipart archives that later fail with checksum/CRC errors.
- Applied strict completion tolerance logic across startup recovery, disk fallback, and finalize/revalidation paths to reduce one broken episode outcomes in large batches.
- Tightened completion validation internals to use explicit expected minimum byte checks in more recovery/fallback scenarios.
Extraction Security and Privacy
- Removed plaintext archive password candidates from extractor logs.
- Replaced sensitive extraction password logging with redacted metadata-only diagnostics.
Updater and Supply-Chain Hardening
- Updated installer verification to fail closed when no valid digest can be resolved.
- Added explicit emergency override (
RD_ALLOW_UNSIGNED_UPDATE=1) for exceptional recovery-only cases. - Ensured unsigned update assets are blocked by default to prevent accidental unverified installs.
Storage and Session Safety
- Hardened backup/session import sanitization with strict session-id validation.
- Restricted restored
targetPathvalues to absolute paths inside the package output directory. - Added startup recovery protection so unsafe out-of-package target paths are rejected and reset safely.
Log Path Traversal Protection
- Sanitized package/item log filenames with safe prefixes plus deterministic hash suffixes to keep all log writes inside intended log directories.
- Refactored internal log-path normalization to avoid double-normalization side effects.
Support Bundle Data Minimization
- Removed raw runtime state/config/history file inclusion from support bundles.
- Kept diagnostic visibility through redacted overview outputs without bundling raw sensitive content.
Tests and Validation
- Added/expanded regression coverage for:
- unsafe session IDs and out-of-scope target paths,
- log path traversal-like IDs,
- updater behavior when digests are missing,
- download-manager resume/completion hardening paths.
- Stabilized startup extraction recovery test synchronization to avoid timing race flakes while preserving behavior checks.
- Full test and build validation passed before release (including complete Vitest suite and production build).
Downloads
-
v1.7.122 Stable
released this
2026-03-28 02:31:22 +01:00 | 278 commits to main since this releaseChangelog (since v1.7.121)
Fixed
- Fixed sporadic checksum/CRC extraction errors on resumed downloads where final file size matched but file content was corrupted.
- Fixed a resume edge case where interrupted streams could leave an invalid tail block in the partial file and subsequent HTTP range resume continued after that corrupted tail.
Improved
- Added resume-tail protection for retry attempts: after retryable stream termination (for example: terminated, stall_timeout, write_drain_timeout, premature close, network resets, and underflow indicators), the downloader now rewinds a safety window before sending the next range request.
- Added targeted package/item logging for rewind scheduling and execution to make diagnosis of resume anomalies significantly easier.
Reliability
- Reduced risk of "same size, different hash" artifacts on multi-part archives by replacing potentially corrupted trailing bytes during resume instead of appending after them.
- Hardened retry classification for transient stream failures that are safe to recover with partial rewind.
Tests
- Added a regression test that reproduces the real-world corruption pattern by injecting an error JSON chunk into a terminated stream and verifies byte-identical recovery after resume.
- Updated resume-underflow recovery test expectations to align with the improved in-session recovery path.
- Full test suite passed before release.
Downloads
-
v1.7.121 Stable
released this
2026-03-26 19:48:37 +01:00 | 280 commits to main since this releaseState-Persistenz gehaertet, Provider-Abort und Token-Cache fixes
Downloads
-
v1.7.120 Stable
released this
2026-03-26 19:35:32 +01:00 | 282 commits to main since this releaseQueue-Verlust beim Update verhindert
Downloads
-
v1.7.119 Stable
released this
2026-03-26 13:29:24 +01:00 | 284 commits to main since this releaseArchive-Deobfuskation fuer Hoster-manipulierte Dateinamen
Downloads
-
v1.7.118 Stable
released this
2026-03-26 13:05:14 +01:00 | 286 commits to main since this releaseFix key rotation cascade, case-sensitive rename, sample filter
Downloads
-
v1.7.117 Stable
released this
2026-03-25 19:54:42 +01:00 | 288 commits to main since this releasev1.7.117 — Debrid-Link Hardening
Changelog seit v1.7.116
Debrid-Link Pending-State Polling
/downloader/addliefert manchmal keinedownloadUrlsofort (Link wird noch generiert)- Vorher: Sofortiger Fehler "Keine gueltige Download-URL", Item scheitert
- Jetzt: Bis zu 5 Polling-Versuche mit 2s Pause bevor aufgegeben wird
Expired-nach-Refresh → Key-Rotation
- Wenn
/downloader/listRefresh auchexpired: trueliefert - Vorher: Fatal-Error, kein weiterer Key wird probiert
- Jetzt: Temporary-Klassifizierung, nächster Key wird versucht
notDebrid: Alle Keys probieren
notDebrid= "Host may be down" — transienter Host-Fehler, nicht permanent- Vorher:
fatal: true— erster Key scheitert, alle weiteren Keys werden übersprungen - Jetzt:
fatal: falsemit Cooldown — alle Keys werden durchprobiert bevor aufgegeben wird
Retry-After Cap erhöht
parseRetryAfterMswar auf 2 Minuten gekappt- Problem:
floodDetectedverlangt laut API-Docs "retry after 1 hour" - Jetzt: Cap auf 1 Stunde erhöht, damit der Server-
Retry-After-Header korrekt respektiert wird
Tests
notDebridTest aktualisiert: verifiziert jetzt dass beide Keys probiert werden- 553/553 Tests grün
Audit-Ergebnisse (Rest-Risiken)
Diese Punkte wurden identifiziert aber sind nicht kritisch:
Prio Finding Status Mittel maxDataHostkühlt ganzen Key statt nur HosterIntentional, dokumentiert Mittel fileNotAvailablesetzt Key-Status auf "Fehler" obwohl es ein Link-Problem istKosmetisch Mittel Concurrent Requests können Cooldown-Check gleichzeitig passieren Benign, JS single-threaded Niedrig Dead private methods shouldRetryApiError/retryDelayForApiErrorCleanup-Kandidat Niedrig getAvailableDebridLinkApiKeysprüft keine Runtime-CooldownsFunktional korrekt, 1 Extra-Iteration Downloads