Skip to content

Changelog1.x

Version 1.1.0

Features

  • ci: add rolling dev release with archives to Refresh :dev workflow (#945) (c30aa25)
  • db: limit metrics database growth on high-throughput hosts (#932) (0167bb2)
  • indexers: Prowlarr-managed indexers (pull) (#944) (de7fb55)
  • queue: automatically recover queue items that stop making progress (#934) (2989216)
  • queue: bulk pause, retry, category, and clear actions on queue and history (#939) (de09c02)
  • queue: normalize obfuscated video filenames so Radarr/Sonarr can import them (#937) (e5e4ee4)
  • sab: show remaining time and speed for Sonarr/Radarr downloads (#981) (ff725b1)
  • sab: support server_stats and warnings so mobile SAB clients can connect (#935) (63bcf6f)
  • ui: play media in-app from Files with auto-resume and playback diagnostics (#947) (c82bcfb)
  • webdav: allow clearing completed-symlinks via WebDAV delete and a new maintenance task (#930) (b6211eb)

Bug Fixes

  • api: let request-abort cancellation escape play handler and pre-verify (f63fd03)
  • api: resolve CodeQL path-injection and user-controlled-bypass findings (#917) (0a469d6)
  • arr: reliably trigger Sonarr/Radarr replacement searches after repairing unplayable files (#925) (4631184)
  • ci: attach only stable-named archives to the rolling dev release (#959) (a24f78b)
  • db: all-time bandwidth totals no longer shrink when old metrics are pruned (#928) (3b9d271)
  • db: corrupt database now gets clear recovery guidance instead of endless stack traces (#943) (87cd91b)
  • db: log a clear ownership error instead of crash-looping with exit 134 when config files are unreadable (#958) (f9f2ca6)
  • deps: Bump daisyui in /frontend in the npm-minor-and-patch group (#904) (7d20c7d)
  • deps: Bump github/codeql-action in the github-actions group (#962) (ae4bbea)
  • deps: Bump the npm-minor-and-patch group (#960) (90903c7)
  • dispose HttpRequestMessage instances in Arr and Rclone clients (2b9fea5)
  • explore: deleting files from Explore now keeps history, caches, and symlinks consistent (#940) (afdfc35)
  • guard nullable dereferences flagged by code quality analysis (fee498a)
  • let shutdown cancellation escape per-item service loops (855d842)
  • par2: propagate cancellation instead of returning partial parse (8e42832)
  • prevent integer overflow before double conversion in sampling math (dcb95b2)
  • prevent Path.Combine from silently dropping base directories (4490098)
  • queue: mount every episode from season packs of split video files (#977) (7f7f0ad)
  • queue: queue items no longer stall and cancel at 50% on obfuscated releases (#974) (4c2657f)
  • queue: season packs with per-episode par2 files now get correct episode filenames (#941) (4c1a605)
  • rclone: mounts no longer show stale files after a temporary rclone outage (#923) (ecd06ab)
  • resolve code-quality findings — resource leaks, null safety, and cancellation handling (32ba80e)
  • sab: queue and history no longer return empty when clients send limit=0 (#924) (d4b90cc)
  • sab: return 400 for malformed nzo_ids in history requests (#921) (21df339)
  • sharpcompress: resolve CodeQL findings in zstd unsafe code and buffer pool tests (#920) (2ad35b6)
  • sharpcompress: stop 7z archives with empty files crashing processing (#952) (4c4a3d9), closes #948
  • simplify constant conditions and redundant LINQ in queue and Arr clients (91f4b6f)
  • support: support pack fields now use consistent camelCase names (#903) (4a39e11)
  • ui: accept empty-string dropdown values and normalize empty categories (#972) (9d187ee), closes #970
  • ui: plain HTTP requests to /ws now get a clean 426 and a proxy hint instead of a stack trace (#957) (cab5f4c)
  • ui: player checks the source before reporting a file as unplayable; missing payloads no longer 500 or trigger repair (#963) (1102737)
  • ui: player now says which codec your browser is missing instead of blaming the file type (#955) (3f7a0f2)
  • ui: show the real error instead of looping “Connecting to InfiniDysk” when a page fails to load (#975) (663b6f1)
  • usenet: providers stop flapping at 60-second cooldowns when health checks run (#885) (e779551), closes #881
  • usenet: stop 502 connection-limit retry loops by learning the provider’s real connection cap (#916) (e0c8a1b)
  • usenet: stop prefetch batch size from flapping during bursty reads (#933) (c353999)
  • watchtower: propagate caller cancellation in episode enumeration (24f2d07)
  • webdav: directory listings no longer appear empty in rclone v1.74+ (#927) (e2e744e)
  • webdav: return valid HTTP-date timestamps for virtual .ids directories (#967) (e9014aa), closes #965
  • webdav: Sonarr/Radarr imports no longer fail with “Permission denied” on default settings (#961) (f2ab8f0)
  • webdav: stop duplicate missing-article warnings for filenames with accented characters (#926) (6c4d998)
  • webdav: streams that end early no longer trigger unhandled Kestrel errors (#968) (d76189a)
  • webdav: write-stall watchdog timeouts no longer mislabeled as backend read deadlines in logs (#951) (49e2a8a)