• v1.6.59 11da8b6e9a

    v1.6.59 Stable

    Administrator released this 2026-03-05 14:31:35 +01:00 | 591 commits to main since this release

    • Native extractor default (7-Zip primary)
    • Reduced extraction stalling between archives
    Downloads
  • v1.6.58 265e6a72be
  • v1.6.57 0f4174d153
  • v1.6.56 6e00bbab53

    v1.6.56 Stable

    Administrator released this 2026-03-05 13:50:32 +01:00 | 597 commits to main since this release

    Fix JVM daemon restart loop that caused 25-30s gaps between archive extractions

    • Fixed startDaemon() killing still-booting daemon processes, which caused the daemon to never actually be used
    • Added waitForDaemonReady() that polls until the daemon is ready instead of immediately spawning a new JVM process
    • Made runJvmExtractCommand() async to await daemon readiness (up to 15s) before falling back to a fresh JVM spawn
    • Previously every archive spawned a fresh JVM process (~5-8s boot each), now the daemon boots once and handles all subsequent archives instantly
    • Eliminates the 25-30 second pause between extracting different episodes in a package
    Downloads
  • v1.6.55 72642351d0

    v1.6.55 Stable

    Administrator released this 2026-03-05 06:25:20 +01:00 | 598 commits to main since this release

    • Use bulk IInArchive.extract() API instead of per-item extractSlow() for ~8x faster extraction throughput on solid RAR archives (from ~43 MB/s to near-native WinRAR speed ~375 MB/s)
    • Add BulkExtractCallback with proper ICryptoGetTextPassword support for password-protected archives during bulk extraction
    • Fix resolveArchiveItemsFromList: items were stuck on 'Ausstehend' because pattern matching returned empty arrays; added multi-level fallback (pattern → exact → stem-based → single-item)
    • Simplify extraction progress caching back to standard Map (the caching was never broken — the resolution function was)
    • Add 14 unit tests for archive item resolution covering multipart RAR, old-style RAR volumes, split ZIP/7z, generic splits, stem-based fuzzy matching, and cross-match isolation
    • Add 2 JVM extractor integration tests verifying progress callbacks and multi-archive extraction
    Downloads
  • v1.6.54 d9a78ea837

    v1.6.54 Stable

    Administrator released this 2026-03-05 05:59:50 +01:00 | 600 commits to main since this release

    • Add persistent JVM daemon mode: JVM extractor now starts once and stays alive across multiple archive extractions, eliminating the ~5s JVM boot overhead per archive (saves ~50s for a 10-episode package)
    • Fix extraction progress caching: replaced Object/Map-based caches with Set + linear Array scan — both Map.has() and the 'in' operator on Object.create(null) mysteriously returned false despite keys being just set, causing resolveArchiveItems to re-run on every 1.1s pulse tick instead of caching
    • Items now correctly show live extraction progress (Entpacken X%) and transition smoothly between archives instead of staying stuck at "Entpacken - Ausstehend"
    • Increase JVM extractor heap to 8GB max / 512MB initial for systems with ample RAM
    • Daemon JSON protocol: Node sends extraction requests as JSON lines to stdin, Java processes them sequentially and emits RD_PROGRESS/RD_REQUEST_DONE markers
    • Graceful daemon shutdown on app quit via before-quit handler
    Downloads
  • v1.6.53 c36549ca69

    v1.6.53 Stable

    Administrator released this 2026-03-05 05:48:41 +01:00 | 602 commits to main since this release

    • Increase JVM extractor heap from 1GB to 8GB max and 512MB initial heap for significantly faster extraction on systems with ample RAM
    Downloads
  • v1.6.52 e3b4a4ba19

    v1.6.52 Stable

    Administrator released this 2026-03-05 05:42:55 +01:00 | 604 commits to main since this release

    • Fix extraction progress cache: replaced Map with plain object — Map.has() was returning false despite set() being called with the same key, causing resolveArchiveItems to run on every 1.1s pulse tick instead of caching, which prevented extraction progress labels (Entpacken X%) from ever showing in the UI
    • Items now correctly show live extraction progress (0% → 50% → Done) instead of staying stuck at "Entpacken - Ausstehend"
    • Increase JVM extractor heap from 512MB to 1GB for better extraction throughput on large archives
    • Use SerialGC for faster JVM startup time on short-lived extraction processes
    • Add download lifecycle logging: log when packages are added and when individual downloads start (filename, size, provider)
    Downloads
  • v1.6.51 1cda391dfe

    v1.6.51 Stable

    Administrator released this 2026-03-05 05:28:42 +01:00 | 607 commits to main since this release

    • Fix extraction running at Windows IDLE priority instead of NORMAL, reducing extraction time from ~30s to ~4s per archive (matching manual 7-Zip/WinRAR speed)
    • Increase hybrid extraction thread count from hardcoded 2 to dynamic calculation (half CPU count, min 2, max 8) for better throughput during hybrid extraction
    • Fix forced UI state emissions being silently dropped when a non-forced timer was pending, ensuring extraction progress labels (Entpacken X%) appear immediately instead of items staying stuck at Ausstehend
    • Both hybrid and full extraction paths now use NORMAL OS priority for maximum extraction speed
    Downloads
  • v1.6.50 375ec36781

    v1.6.50 Stable

    Administrator released this 2026-03-05 05:09:24 +01:00 | 608 commits to main since this release

    • Fix extraction UI: items now immediately show 'Entpacken X%' instead of staying at 'Ausstehend' during active extraction (forced emitState on first archive resolve)
    • Fix extraction speed: final extraction pass (all downloads complete) now runs at BELOW_NORMAL priority instead of IDLE priority, significantly reducing extraction time
    • Add diagnostic logging for resolveArchiveItems to trace item-to-archive matching
    Downloads