Skip to content Aug 21, 2026 Bug Fixes
api: suppress EF Core per-query command logs (#1095 ) (8b63233 )
api: suppress EF Core per-query command logs (#1095 ) (405a22f )
auth: keep UI sessions working after upgrades (#1092 ) (dae1b29 )
db: remove EF Core startup warnings (#1096 ) (616c71d )
ui: provider cards show warm connection counts (#1093 ) (79f34d0 )
Aug 21, 2026 Features
api: add opt-in interactive admin API reference (#1010 ) (1925e8c )
api: admin errors return ProblemDetails operators can match to logs (#1067 ) (e252f12 )
api: versioned admin API contract keeps the UI in sync with backend routes (#1069 ) (abc4c0c )
arr: show Sonarr/Radarr import health on the Overview dashboard (#1054 ) (3e7cb83 )
db: optional PostgreSQL support for the main database (#1013 ) (5099666 )
health: add on-demand GC memory diagnostics (#1005 ) (5f52db8 )
health: expose Prometheus metrics for streaming and providers (#1009 ) (d38b04f )
health: health checks skip non-media files (images, subtitles, NFOs) (#1001 ) (039eab9 )
health: keep known degraded gaps off Usenet providers (#1055 ) (be76ffc )
health: keep slightly damaged videos playable instead of replacing the whole release (#1035 ) (914a5d8 )
health: re-check library health after changing Usenet providers (#1015 ) (11d14dc )
health: repair missing articles in the background using PAR2 recovery data (#1032 ) (a125fe2 )
health: replace releases with unplayable corrupt data instead of serving silent gaps (#1050 ) (45d8a9f )
health: show deleted and repaired NZBs in the health UI (#1004 ) (c7606de )
queue: audio-only NZBs now import instead of being rejected (#1002 ) (4449bb2 )
queue: keep NZB uploads accessible while queue is active (#1008 ) (6daf2d7 )
queue: recover missing articles using equivalent segments from other copies of the same release (#1039 ) (4b36207 )
queue: reorder waiting jobs with up/down controls (#1007 ) (f3359ba )
ui: choose the category when uploading NZBs from the queue page (#1049 ) (5430cd1 )
ui: search, filter, and sort queue and history (#1006 ) (6683b9f )
usenet: concurrent readers of the same file share one Usenet stream (#1046 ) (df945d9 )
usenet: preserve confirmed article misses across restarts (#1028 ) (5689c90 )
usenet: separate queue pipelining from streaming playback controls and add a configurable batch width (#1030 ) (c1bf58c )
Bug Fixes
api: HTTP clients time out and the process shuts down within 5 seconds (#1066 ) (c02c689 )
arr: parse string event types in history responses (#1056 ) (49a4e7a )
db: repair lowercase GUIDs so cleanup and file lookup stop missing rows (#1076 ) (f70d191 )
deps: Bump github/codeql-action in the github-actions group (#1079 ) (a62a9e8 )
deps: Bump the npm-minor-and-patch group (#1078 ) (e840ae6 )
deps: Bump the nuget-minor-and-patch group with 6 updates (#1080 ) (52a2272 )
deps: Bump zensical from 0.0.53 to 0.0.54 in the docs-python group (#1077 ) (1f9f45b )
docker: fail startup when the config directory is missing or unwritable (#1058 ) (702565f )
health: background health scans start correctly on dev and rc (#1044 ) (be770a2 )
health: Health page no longer shows a stuck initial scan pending banner (#1085 ) (5c4a0ac )
health: PAR2 repair reconstructs files when source articles are corrupt (#1060 ) (dc892bc )
nntp: providers no longer benched for minutes by brief network hiccups (#1018 ) (a3867e3 )
queue: stop grinding remaining RAR volumes after a header timeout (#1059 ) (ef17d38 )
resolve medium-severity CodeQL quality warnings (#1081 ) (66f99d1 )
sab: queue and history panels no longer fail with server errors on PostgreSQL (#1088 ) (678d429 )
streams: seeking and article retries no longer stall when Article RAM is full (#1053 ) (d53ba5e )
ui: play files from the web UI over plain HTTP (#1037 ) (86a4468 )
ui: queue provider labels no longer flicker during download progress (#1016 ) (f062a04 )
usenet: log a single warning when a Usenet article is missing on every provider (#1061 ) (9458ae5 )
webdav: paused or trickling clients no longer wedge all streaming (#1052 ) (ad2a7ee )
webdav: repair files that cannot seek through missing tail articles (#1014 ) (9f544eb )
webdav: serve tail seeks from lazy RAR volumes (#1087 ) (a529699 )
webdav: serve the WebDAV README through the UI port and freeze HTTP contracts (#1072 ) (8c16695 )
nntp: decode yEnc body data in buffered batches (#1082 ) (104beec )
queue: keep playback smooth during import bursts by parsing RAR/7z archive headers asynchronously (#1040 ) (48013a2 )
streams: lower streaming memory use with bounded 256 KB segment buffers (#1042 ) (fb498be )
usenet: accelerate playback starts and sustained streaming (#1029 ) (84274ca )
Refactors
api: keep queue and WebDAV independent of admin API controllers (#1070 ) (54c6afd )
Aug 15, 2026 Bug Fixes
auth: reset admin password via RESET_ADMIN_PASSWORD environment variable (#998 ) (d39d7e2 )
deps: Bump the npm-minor-and-patch group (#994 ) (589e6bf )
repair: streaming failure repair now shows when Background Repairs must be enabled (#999 ) (394d85d )
ui: delete Explore items whose names contain percent sequences (#995 ) (ac7af97 )
Aug 14, 2026 Bug Fixes
default NZB retrieve User-Agent to SABnzbd/5.1.0 (#986 ) (c932811 )
deps: Bump the npm-minor-and-patch group (#993 ) (22c5d46 )
deps: Bump zensical from 0.0.52 to 0.0.53 in the docs-python group (#992 ) (8680e6f )
health: orphan cleanup no longer treats imported files as missing when Library Directory is the mount (#991 ) (49b58e1 )
queue: stalled downloads now fail so Sonarr can re-grab them (#989 ) (a10a45f )
ui: maintenance task status no longer bleeds between Remove Orphaned Files and Prune Completed History (#983 ) (e89d6ca )
webdav: /ready no longer returns 4XX instead of the readiness status (#982 ) (3650c60 )
Aug 13, 2026 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 )
Aug 9, 2026 Features
queue: allow up to 10 concurrent queue downloads (#879 ) (46cf29d )
Bug Fixes
build: attach legacy nzbdav-named release archives for DUMB compat (#877 ) (b8c3ba0 )
deps: Bump the npm-minor-and-patch group (#875 ) (2e1ea34 )
streaming: Article RAM no longer stays pinned at the cap after scrubbing (#876 ) (b2617d2 )
ui: normalize provider usage join keys to MetricsKey form (#871 ) (a45f622 )
usenet: fetch errors now show their real cause instead of “Other (unclassified)” (#878 ) (45d27cf )
Chores
Aug 7, 2026 ⚠ BREAKING CHANGES
build: GitHub release asset filenames and rolling rc download URLs now use the infinidysk- prefix instead of nzbdav-.
the canonical container image moved to ghcr.io/infinidysk/infinidysk (mirror: docker.io/infinidysk/infinidysk). The old ghcr.io/nzbdav/nzbdav path keeps receiving releases during a transition period and old tags stay pullable, but operators should switch the image name; /config and all settings carry over unchanged.
Features
docker: dual-publish images to the legacy ghcr.io/nzbdav/nzbdav namespace (#826 ) (f0f6d75 )
rename project to InfiniDysk (#828 ) (a932924 )
Bug Fixes
build: keep dev images on the dev update track (#845 ) (5554750 )
build: rename release archives to infinidysk (#833 ) (7025741 )
deps: Bump the github-actions group with 3 updates (#838 ) (a53e4e6 )
deps: Bump the npm-minor-and-patch group (#837 ) (dc14fc2 )
deps: Bump the npm-minor-and-patch group (#867 ) (07a8eac )
deps: Bump zensical from 0.0.51 to 0.0.52 in the docs-python group (#866 ) (94eb76d )
docker: publish dev images with release candidates (#834 ) (26a449e )
health: stalled library checks release provider resources (#844 ) (53fe5f6 )
nntp: slow providers stay sidelined for their full cooldown (#842 ) (42aefdd )
sab: prevent unsafe backup paths and play redirects (#847 ) (731c31e )
streaming: reserve article memory before download admission (#843 ) (03d5378 )
ui: explain unavailable stale explore links (#846 ) (5f13efa )
ui: join provider usage stats by identity during cascade reorder (#869 ) (ed8de9d )