0.8.0 (2026-07-20)
TL;DR
- Search/play links stop breaking after every restart
- More NZBs and nested/obfuscated RARs import successfully
- Move queue items to the top (UI + SAB API) without interrupting the current download
- Grab NZBs from LAN indexers (Prowlarr, NZBHydra2) via a trusted-hosts allowlist
- Smoother health-check coverage on large files (optional aging for older releases)
- Alpine Docker images get working native yEnc; safer startup if natives are broken
- Live Overview/Queue updates stay connected (no stall-until-refresh)
- Cleaner *Arr / SAB API; clearer Active Reads and provider outage history
- Fewer backend crashes and lower import memory spikes
- Back up before upgrading (DB migration): Settings → Maintenance, or copy
/config - Prefer slower releases? Stay on
lts(lagslatestby one feature release)
⚠ BREAKING CHANGES
- db: adds a database migration; back up /config before upgrading.
Features
- db: search links keep working after restarts and have a configurable lifetime (#452) (f186b38)
- gzip NZB ingest, nested RAR extraction, SAB API conformance, provider outage history, and CRC-verified downloads (#467) (095825d)
- health: make the aging taper opt-in and validate the depth setting (00c97d4)
- health: smooth out stat cliff bug, add aging function (d73a568)
- nntp: allow disabling yEnc CRC validation via USENET_DISABLE_CRC_VALIDATION (e0d10aa)
- nntp: fail fast with a logged yEnc native self-test at startup (ec48e9d)
- nntp: speed up health checks and import existence probes with pipelined STAT (#472) (b0a93b8), closes #60
- queue: adopt NzbDav.SharpCompress for RAR and 7z metadata parsing (#466) (fd1bd62)
- queue: allow moving queue items to the top (#473) (1d63c96)
- repairs: smooth out stat cliff bug, add aging function (6012990)
- sab: allow addurl fetches from trusted private hosts (e7c27e7), closes #433
- sab: allow NZB grabs from LAN indexers like Prowlarr and NZBHydra2 (57bfe8b)
- ui: reset Overview statistics (all or per provider) from Maintenance settings (#444) (97e1dfe)
- ui: show client identity on Active Reads (#469) (4fdb772)
Bug Fixes
- ci: restore issue forms by removing empty title fields (#475) (2bd2305)
- deps: bump NzbDav.SharpCompress to 0.53.1 with bounded 7z recursion (bf4b436)
- deps: bump NzbDav.UsenetSharp to 3.1.3 for musl rapidyenc (f009c9b)
- deps: bump SharpCompress so deep 7z coder chains fail safely (cb71c15)
- deps: bump UsenetSharp so Alpine images get musl-native yEnc decode (eeff02b)
- deps: resolve merge keeping UsenetSharp 3.1.3 and SharpCompress 0.53.1 (d16405d)
- docker: container shutdown logs the backend exit code and fatal signal (49a6473)
- docker: log the backend exit code and fatal signal when the container shuts down (edee229)
- health: log NNTP transport timeouts as human-readable warnings (#481) (2e83a8c)
- health: resolve the depth setting regardless of casing (742ea97)
- nntp: connection permit release no longer throws from download callbacks (95b18c0)
- nntp: fail fast on broken yEnc natives and catch Alpine decode crashes in CI (c9c42eb)
- nntp: health checks and import probes stay fast when NNTP pipelining is on (2b7d462)
- nntp: health checks no longer fail when a pipelined STAT session dies mid-sweep (#476) (97db88a)
- nntp: keep health and import existence checks on concurrent STAT (91704be)
- nntp: make connection-permit release safe inside completion callbacks (a691499)
- nntp: only log provider recovery when the circuit actually opened (5b33db1)
- nntp: only log provider recovery when the circuit actually opened (48e79d7)
- nntp: stop Progress wrappers racing pipelined STAT fallback reports (#483) (75c02cd)
- nntp: stop providers getting stuck in the probing state (6150de7)
- nntp: stop providers getting stuck in the probing state (0de9ace)
- queue: import obfuscated multi-volume RAR sets with duplicate subjects or incomplete volumes (#471) (4148813)
- queue: progress broadcasts can no longer crash the backend from a timer callback (016f6e0)
- queue: queue processing starts only after the web host is healthy (015ffdd)
- queue: queue progress updates no longer crash the backend on a bad callback (9fc3841)
- queue: removing a blocklisted file no longer crashes the queue (#446) (97f0ebe)
- queue: start queue processing only after the web host is serving (8bd9240)
- ui: keep live updates connected across backend websocket relay drops (9f8e809), closes #515
- ui: live Overview and Queue updates no longer stall until refresh (4499595)
- ui: remove MaxListenersExceededWarning noise from container logs (2b0afac)
- ui: stop stacking proxy timeout listeners on keep-alive sockets (6fa0dda)
- ui: stop the read sessions panel overflowing at full width (ddd36be)
- ui: stop the read sessions panel overflowing at full width (dfcfef0)
- webdav: clamp a /view range end past the file so response headers stay valid (#447) (92bdd81)
- webdav: treat corrupt Lazy RAR as permanent miss and schedule repair (#484) (318b8f7)
Performance Improvements
- queue: cap import pipelining depth to bound first-segment memory (b690fa8)
- queue: limit first-segment import pipelining to reduce memory spikes (42f0273)
Documentation
- add migration paths from nzbdav-dev and community forks (96ff4c9)
- align Effort scale with Size (XS–XL) (87ea0b9)
- clarify homepage legal-use disclaimer for public domain content (1edf4c4)
- document current issue triage and milestone practice (25546bd)
- document current issue triage and milestone practice (568b471)
- document latest vs lts Docker image tags in README (#458) (46a62ec)
- feature Discord invite in community and footer socials (258ad3f)
- hide Made with Zensical footer credit (13c6a7b)
- note NzbDAV as a fully supported DUMB core module (776f10e)
- note same-origin /ws WebSocket requirement for reverse proxies (a4168e7)
- rebuild nzbdav.com as a branded product docs site (2d1a6f7)
- rebuild nzbdav.com site with branded guides and settings reference (64a215d)
- require breaking commits for migrations and breaking changes (de96b56)
- require human-friendly log events for stack dumps (9b69c8f)
- ui: shrink homepage hero screenshot so it dominates less (ddcc7c4)
- ui: use product logo in header and mid-size the hero screenshot (5fec824)
- ui: use README product screenshot as the homepage hero (37bdb9d)
- use Issue Priority/Effort fields instead of labels (a04f392)
- use NzbDAV casing, add alternatives comparison, shrink badges (c2db122)
- use NZBDav Ecosystem project fields for Priority and Effort (a5786ba)