-
v1.6.46 Stable
released this
2026-03-05 04:24:22 +01:00 | 491 commits to main since this releasev1.6.46 — Instant Package Transition & Additional Fixes
Highlights
Instant package extraction transitions — Previously, there was a 10–15 second pause between finishing one package's extraction and starting the next. The post-process slot is now released immediately after the main extraction completes. All slow post-extraction work (nested extraction, auto-rename, archive cleanup, link/sample artifact removal, empty directory cleanup, MKV collection) runs in the background so the next package starts unpacking without any delay.
Extraction Pipeline
- Post-process slot is released immediately after main extraction, eliminating idle gaps between packages
- Nested extraction (archives found inside extracted output) now runs in background deferred handler
- Archive source cleanup, link artifact removal, sample artifact removal, and empty directory tree removal all deferred to background
- Resume state clearing happens in deferred handler after successful extraction
- Hybrid extraction path: auto-rename changed from blocking await to fire-and-forget for faster slot release
UI Fixes
- Fix CSS class mismatch for danger buttons in history tab
- Update dialog changelog is now collapsible to prevent long changelogs from pushing the install button off-screen
- Modal card gets max-height and overflow-y auto to stay within viewport
Bug Fixes
- Add missing .catch() handlers to IPC calls: start(), extractNow(), setPackagePriority(), updateSettings(columnOrder), openLog(), openSessionLog(), removeHistoryEntry(), clearHistory()
- Fix setPackagePriority type safety: parameter changed from string to PackagePriority in preload and app-controller
- Add DDownload to valid primary and fallback provider lists in storage validation
Internal
- Export cleanupArchives, hasAnyFilesRecursive, removeEmptyDirectoryTree from extractor module
- Import removeDownloadLinkArtifacts, removeSampleArtifacts in download-manager for deferred cleanup pipeline
Downloads
-
v1.6.45 Stable
released this
2026-03-05 04:12:47 +01:00 | 493 commits to main since this releaseComprehensive bugfix release addressing ~70 issues across the entire codebase.
Security & Stability (Critical)
- Fix TLS certificate bypass race condition: replaced save/restore pattern with reference-counted acquire/release to prevent concurrent download interference
- Bind debug server to 127.0.0.1 instead of 0.0.0.0 to prevent LAN exposure
- Add 180-second overall timeout to MegaWebFallback to prevent indefinite hangs
- Stream update installer to disk instead of buffering entire file in RAM
- Add path traversal protection and symlink rejection in JVM extractor
- Sanitize Windows special characters in extracted filenames
DDownload Provider
- Cache DdownloadClient instances on DebridService with credential-based invalidation to preserve session cookies
- Add ddownload provider to normalizeSessionStatuses provider check
- Include ddownloadLogin/ddownloadPassword in backup sensitive keys list
- Add ddownload.com and ddl.to to Content Security Policy connect-src
Error Handling & Resilience
- Add .catch() to all fire-and-forget IPC calls in renderer (togglePause, startPackages, startItems, togglePackage, resetPackage, resetItems, skipItems, clearHistory, removeHistoryEntry, clipboard operations)
- Wrap app.whenReady() chain with .catch() to handle startup failures gracefully
- Wrap clipboard.readText() in try/catch to handle Wayland/permission errors
- Wrap session log directory creation in try/catch to prevent crash on permission errors
- Add AbortSignal.timeout(30000) to all container.ts fetch calls (DLC decrypt, dcrypt.it upload/paste)
- Add actionBusy guard to backup import/export to prevent concurrent operations
UI Fixes
- Fix toast notification z-index to appear above all overlays
- Fix emptySnapshot() missing ddownloadLogin/ddownloadPassword fields
- Add CSP connect-src entries for git.24-music.de, ddownload.com, ddl.to
Code Quality
- Fix fs variable shadowing in download-manager.ts (fs -> fullSt)
- Fix tsconfig.json include path (vite.config.ts -> vite.config.mts)
- Fix storage.ts line ending normalization to handle bare CR
- Delete obsolete _upload_release.mjs (replaced by release_gitea.mjs)
Installer
- Change PrivilegesRequired from admin to lowest (no longer requires elevation)
- Remove ignoreversion flag from file installation
- Fix output filename to use spaces instead of hyphens
Scripts
- release_gitea.mjs: add dry-run safety, streaming uploads, version collision handling, credential timeout
- provider_smoke_check.mjs: fix cookie parsing with getSetCookie(), add login verification
- mega_web_generate_download_test.mjs: fix cookie parsing, add login check
- debrid_service_smoke.ts: add .catch() and try/finally for dispose
- afterPack.cjs: add null check for productFilename, wrap rcedit in try/catch
Tests
- Fix extractor-jvm.test.ts: use describe.skipIf instead of silent return
- Fix extractor.test.ts: use it.skipIf, add afterEach cleanup for statfs/env mocks
- Fix session-log.test.ts: add shutdownSessionLog in afterEach, increase timing tolerance
- Fix mega-web-fallback.test.ts: increase abort timeout from 30ms to 200ms
- Fix debrid.test.ts: increase abort timeout from 25ms to 200ms
- Fix auto-rename.test.ts: add positive assertions to all test cases
- Fix self-check.ts: add missing await to manager2.start()
Java Extractor (JBindExtractorMain.java)
- Fix resource leaks: close InputStream, RandomAccessFile, and volume handles in finally blocks
- Remove path traversal vulnerability in resolveVolumeFile
- Add symlink rejection before extraction
- Precompile regex pattern for performance
- Fix safeSize() to return 0 for empty files
Additional fixes (post-release)
- Fix setPackagePriority type safety: use PackagePriority type instead of string/any in preload and app-controller
- Add .catch() to remaining uncaught IPC calls: start(), extractNow(), setPackagePriority(), updateSettings(columnOrder), openLog(), openSessionLog()
Additional fixes (post-release update 2)
- Add ddownload to VALID_PRIMARY_PROVIDERS and VALID_FALLBACK_PROVIDERS (was missing, preventing DDownload from being set as primary or fallback provider)
Additional fixes (post-release update 3)
- Fix btn-danger CSS class mismatch: history tab danger buttons now get correct red styling (.btn.danger instead of .btn-danger)
Additional fixes (post-release update 4)
- Make update changelog collapsible: long changelogs no longer block the install button, changelog is in a collapsed details element
- Modal dialog is now scrollable with max-height constraint
Downloads
-
v1.6.44 Stable
released this
2026-03-05 03:13:08 +01:00 | 499 commits to main since this releaseImprovements
- Show transitional "Naechstes Archiv..." label between archive extractions, eliminating the dead gap where no status was visible
- Compact changelog in update dialog: only top-level items shown, sub-items stripped (from v1.6.43)
Downloads
-
v1.6.43 Stable
released this
2026-03-05 03:02:41 +01:00 | 500 commits to main since this releaseImprovements
- Compact changelog in update dialog: only top-level items are shown, sub-items and long descriptions are stripped for a clean display
- Detailed post-processing status labels with live extraction progress (from v1.6.41/v1.6.42):
- Entpacken vorbereiten / Archive scannen / Speicherplatz pruefen phases
- Live extraction percentage and archive count
- Password cracking progress
- Renaming / Aufraeumen / MKV collection phases
- DDownload provider label in download status (from v1.6.40)
- DDownload SSL certificate fix for storage servers (from v1.6.38)
- DDownload auto-routing before debrid chain (from v1.6.37)
Downloads
-
v1.6.42 Stable
released this
2026-03-05 02:57:23 +01:00 | 501 commits to main since this releaseImprovements
- Detailed post-processing status labels: The package status now shows exactly what is happening at every phase, eliminating "dead" periods where no activity was visible:
[10/10 - Done] - Entpacken vorbereiten...� initial preparation[10/10 - Done] - Archive scannen...� discovering archive files[10/10 - Done] - Speicherplatz pr�fen...� disk space verification[10/10 - Done] - Entpacken 45% (3/6)� live extraction progress[10/10 - Done] - Passwort knacken: 60%� password testing[10/10 - Done] - Renaming...� auto-rename phase[10/10 - Done] - Aufr�umen...� archive cleanup[10/10 - Done] - Verschiebe MKVs...� MKV library collection
- Dash separator in status: Status format changed from
[10/10] Entpackento[10/10 - Done] - Entpacken 45% (3/6)for better readability
Downloads
- Detailed post-processing status labels: The package status now shows exactly what is happening at every phase, eliminating "dead" periods where no activity was visible:
-
v1.6.41 Stable
released this
2026-03-05 02:46:10 +01:00 | 502 commits to main since this releaseImprovements
- Live extraction progress in package status: The package-level status label now shows detailed, real-time extraction progress instead of a static "Entpacken..." label:
- Overall percentage and archive count:
Entpacken 45% (3/6) - Password cracking progress:
Passwort knacken: 60% - Works for both hybrid (during download) and full extraction modes
- Previously there were phases where the package showed no activity detail, making it unclear what was happening
- Overall percentage and archive count:
Downloads
- Live extraction progress in package status: The package-level status label now shows detailed, real-time extraction progress instead of a static "Entpacken..." label:
-
v1.6.40 Stable
released this
2026-03-05 02:42:19 +01:00 | 503 commits to main since this releaseFixes
- Show "DDownload" instead of "Debrid" in download status: Status column now correctly shows "Download l�uft (DDownload)" instead of the generic "Download l�uft (Debrid)" for DDownload downloads.
- Strip markdown from update changelog (from v1.6.39): Changelog in update dialog now displays as clean plain text.
Downloads
-
v1.6.39 Stable
released this
2026-03-05 02:37:18 +01:00 | 504 commits to main since this releaseFixes
- Strip markdown from update changelog dialog: The confirm dialog is plain text and cannot render markdown. Headings (
##), bold (**), italic (*), and code backticks are now stripped so the changelog displays cleanly.
Downloads
- Strip markdown from update changelog dialog: The confirm dialog is plain text and cannot render markdown. Headings (
-
v1.6.38 Stable
released this
2026-03-05 02:32:59 +01:00 | 505 commits to main since this releaseFixes
- Fix DDownload downloads failing with connection errors: DDownload storage servers (dstorage.org) use SSL certificates that fail Node.js TLS verification, causing all downloads to fail with "Verbindungsfehler". Added
skipTlsVerifyflag so TLS certificate verification is temporarily disabled only for DDownload download connections.
Downloads
- Fix DDownload downloads failing with connection errors: DDownload storage servers (dstorage.org) use SSL certificates that fail Node.js TLS verification, causing all downloads to fail with "Verbindungsfehler". Added
-
v1.6.37 Stable
released this
2026-03-05 02:25:34 +01:00 | 506 commits to main since this releaseFixes
- DDownload auto-routing: DDownload URLs (ddownload.com / ddl.to) are now automatically routed to the DDownload provider before trying any debrid services. Previously, debrid providers like Mega-Debrid would attempt (and fail) to handle these URLs first.
- Remove DDownload from provider dropdowns: DDownload is a direct file hoster, not a debrid service. It no longer appears in the primary/secondary/tertiary provider selection since it only handles its own URLs and is used automatically when configured.
- Fix blank screen on upgrade (from v1.6.36): Guard against undefined
ddownloadLogin/ddownloadPasswordin renderer when upgrading from versions without DDownload support.
Downloads