All versions since 1.4.11.x
1.4.1
Bug Fixes
- auth: direct sign-in works again when Base URL points to a reverse proxy (#1443) (72a9bdb)
- ui: restore logout when a direct GET request is used (#1445) (3ef8667)
1.4.2
Bug Fixes
- db: startup vacuum runs when enabled through NZBDAV_CONFIG__DB__IS_STARTUP_VACUUM_ENABLED (#1450) (b0a5404)
- health: clear stale pending repairs when recording deferred results (#1462) (e51ffd8)
- health: prevent provider timeouts from triggering repair or blocklisting (#1457) (447c2bd)
- health: require a pure definitive-miss provider walk before treating a segment as missing (9d34565)
- health: show a complete health overview breakdown totaling 100% (#1458) (207758e)
- queue: group shuffled first RAR volumes with matching continuations (8bc3a18)
- queue: lazy RAR mounting no longer drops extra files hidden behind the first archive member (#1453) (55f9b5c)
- queue: season packs with repeated RAR/7z volume numbers import as separate archives (#1452) (9b4739b)
- usenet: allow imports when yEnc headers omit the total count (#1460) (70e9d86)
- usenet: log per-provider yenc rejection diagnostics (#1459) (2e0b576)
- usenet: provider data caps count all BODY traffic and survive resets, restarts and metrics cleanup (#1454) (0d68d67)
- usenet: recover imports with conflicting yEnc metadata using PAR2-verified reads (#1461) (ef5d503)
- usenet: verify conflicting yEnc metadata against persisted PAR2 proofs (692a67f)
1.4.3
Features
- health: add actions to resolve attention items and clarify health statistics (#1484) (5b395b4)
- health: separate active attention items from repair history (#1463) (68f4d2b)
- support: identify stalled playback and repeated health checks in support packs (#1482) (873d317)
Bug Fixes
- auth: hash the WEBDAV_PASSWORD env value once, not per request (#1438) (6ae4c24)
- deps: Bump github/codeql-action in the github-actions group (#1478) (d542ca5)
- deps: Bump zensical from 0.0.59 to 0.0.61 in the docs-python group (#1476) (5b6d6ff)
- health: explain blocked removals and omit file extensions from searches (#1490) (e9f2734)
- health: flag unlinked files and allow needs-attention removal with read-only WebDAV (#1494) (d907cbc)
- health: include history-linked files in routine checks (#1466) (d55e941)
- health: keep running health checks visible after starting a full scan (#1481) (ab7652a)
- health: prevent cancellation leaving old files behind after successful Arr repairs (#1503) (272d575)
- health: start orphan cleanup retry budget after contention (#1464) (6d255ae)
- health: urgent streaming repairs keep their failure count across restarts (#1496) (a60e759)
- metrics: quarantine a corrupt metrics database and back off failed flushes (#1435) (5093dd0)
- nntp: handle late connection factory cancellation without stacks (#1473) (13acf51)
- nntp: normalize pooled capacity by configured connection limits (#1491) (570975f)
- queue: bypass packed range lookup for empty 7z members (#1505) (5ac8313)
- queue: classify unsupported 7z compression before packed range lookup (#1468) (f9354d4)
- queue: explain intentional archive compression rejection (#1470) (efd1368)
- queue: filter sample-directory videos without sibling-size comparisons (#1475) (f76d460)
- queue: import RAR releases with individually scrambled volume names (#1469) (eac163b)
- ui: clarify Activity totals and make support easier to find (#1485) (eaba97a)
- ui: explain degraded Arr warnings directly on overview (#1504) (23d6593)
- ui: make health alerts and playback failures easier to inspect (#1499) (0d0d7b6)
- ui: size error breakdown segments outside tooltip wrappers (#1498) (d04075a)
- ui: surface alerts across pages and simplify navigation (#1508) (55f4aed)
- usenet: include protocol reasons and open timings in breaker logs (#1465) (de34a6c)
- usenet: prevent healthy providers being skipped while connections queue (#1495) (ec275c1)
- usenet: prevent playback stalls when a provider’s transfer slots are stuck (#1489) (7a81faa)
- usenet: prevent queued connection waits from stalling provider failover (#1506) (b8fe4c4)
- usenet: release stalled transfers when playback is cancelled (#1472) (9d0793e)
- webdav: range requests after a flaky header probe no longer return bytes from the wrong offset (#1455) (0868917)
- webdav: reduce unnecessary range read-ahead and improve seek diagnostics (#1487) (1b11254)
UX
1.4.4
Bug Fixes
- db: remove metrics integrity scans from startup (#1512) (eb76ecf)
- health: prevent health alerts timing out on large histories (#1518) (37173d3)
- queue: add nested archive context to media validation failures (#1516) (fb68a84)
- queue: import logs now explain why PAR2-verified recovery was unavailable for mismatched yEnc articles (#1519) (57bc644)
- usenet: prevent playback and queue stalls after missing articles (#1514) (aeed8ab)
1.4.5
Bug Fixes
1.5.0
Features
- ui: Activity chart shows import downloads separately from maintenance (#1535) (ae7da05)
- ui: peak download now shows the true 1-second maximum and no longer shrinks when widening the time range (#1536) (5b6a969)
- ui: show provider bytes fetched on the overview activity card (#1528) (70a122f)
- ui: warn when a provider repeatedly blocks missing-article checks (#1551) (612fcdb)
Bug Fixes
- api: hide full numeric-only IPv6 addresses in support packs (#1524) (181a8ae)
- arr: Arr and Prowlarr connections work with Docker hostnames behind a proxy and report timeouts clearly (#1537) (d480668)
- arr: Arr Health no longer shows instances offline with ‘database is locked’ on large installs (#1556) (916b1e5)
- auth: keep API keys and URL tokens out of frontend request logs (#1526) (bfc7f20)
- deps: Bump the npm-minor-and-patch group across 1 directory with 13 updates (#1532) (f478af7)
- deps: Bump the nuget-minor-and-patch group with 9 updates (#1533) (ded1d4e)
- deps: Bump zensical from 0.0.61 to 0.0.62 in the docs-python group (#1530) (e71d7d1)
- metrics: retain historical statistics across backend restarts (#1525) (cd638ce)
- nntp: releases with obfuscated yEnc headers play instead of hanging and being removed (#1548) (a40a071)
- queue: keep replacement uploads within the configured queue limit (#1527) (d8aaf2d)
- ui: connect expanded provider speed paths through zero (#1554) (4a50932)
- ui: connect sparse provider throughput graph to zero baseline (#1553) (a533693)
- ui: hide all-clear alert indicator (#1549) (401c8c3)
- ui: identify active media reads with parent folder names (#1562) (b81c13f)
- ui: lock live read card height above the scrollport (#1563) (d64e7f9)
- ui: make overlapping and low-volume activity easier to inspect (#1538) (d4a1be8)
- ui: queue remembers your per-page size after leaving and returning to the page (#1564) (b7c341d)
- ui: size the Right now card to its live reads instead of the first snapshot (#1558) (671f422)
- usenet: disabled providers no longer keep connections open or send keep-alives (#1542) (6c742f5)
- usenet: files are no longer reported missing or sent for repair while a provider is temporarily unavailable (#1550) (59cc144)
- usenet: keep fewer idle warm connections open per provider by default (#1561) (313acc3)
- usenet: providers that time out during background connection warming are paused until they recover (#1555) (aca5770)
- usenet: show accurate provider peak and active-average speeds (#1540) (b5e7d26)
- usenet: slow background warm-up connections no longer trip a healthy provider’s circuit breaker (#1560) (cf39766)
1.5.1
Bug Fixes
- db: database backups no longer include metrics history (#1589) (190eace)
- deps: Bump github/codeql-action in the github-actions group (#1569) (ad86990)
- deps: Bump the nuget-minor-and-patch group with 1 update (#1568) (90b2713)
- health: Health page no longer reports previously scanned files as awaiting their initial scan (#1577) (12a3415)
- health: stay idle when no usenet provider is enabled (#1573) (8f67a44)
- metrics: Overview Backup rescues counts a retried provider once per rescued article (#1576) (48d772f)
- ui: mark backup providers on the Overview Providers card (#1579) (abb18af)
- usenet: slower provider handshakes no longer trip the provider circuit under default settings (#1578) (58eeecc)
Performance Improvements
1.6.0
Features
- api: support pack filename shows the InfiniDysk version that generated it (#1609) (0f1e775)
- ui: manage files in compact tree and list views with health filters (#1546) (d83a6c1)
- webdav: stream traces separate connection, permit, and failed-attempt waits per request (#1661) (738a87c)
- webdav: stream traces show what each playback stall was waiting on (#1674) (9fd1869)
Bug Fixes
- arr: Sonarr repairs no longer resolve to a different series whose folder name shares a prefix (#1620) (c4a4229)
- arr: stop false “Imports are taking longer than expected” alerts (#1673) (34a32e2)
- db: recheck pending history cleanup under the SQLite write lock (#1599) (e3f079d)
- deps: Bump brace-expansion from 2.1.4 to 2.1.7 in /frontend (#1603) (de57eb3)
- deps: Bump github/codeql-action (#1629) (3544821)
- deps: Bump ip-address from 10.4.0 to 10.7.2 in /frontend (#1596) (be46762)
- deps: Bump proxy-addr from 2.0.7 to 2.0.8 in /frontend (#1647) (a03cd96)
- deps: Bump source-map-js from 1.2.1 to 1.2.2 in /frontend (#1648) (44428f2)
- deps: Bump the npm-minor-and-patch group across 1 directory with 8 updates (#1601) (aec5115)
- deps: Bump the npm-minor-and-patch group across 1 directory with 9 updates (#1642) (1709f13)
- deps: Bump the nuget-minor-and-patch group with 1 update (#1602) (edb7aa4)
- deps: Bump zensical from 0.0.62 to 0.0.64 in the docs-python group (#1600) (8064d1e)
- deps: Bump zensical from 0.0.64 to 0.0.65 in the docs-python group (#1626) (0ad6d23)
- deps: Bump zensical from 0.0.65 to 0.0.66 in the docs-python group (#1641) (a388993)
- health: health checks no longer appear stuck at 0% for hours on dead releases (#1611) (8927443)
- health: replace releases that break during playback instead of keeping them as damaged (#1631) (e250e47)
- nntp: playback and imports no longer stall when a provider refuses extra connections (#1623) (5b5260e)
- nntp: skip reconnect pacing when the caller cancels a read (#1658) (6f8a40c)
- nntp: treat 481 “maximum connections per user” as a connection limit (#1668) (c50c2f9)
- queue: fail over when a provider returns another post’s first segment (87a6f87)
- queue: imported files keep their Usenet post date when Queue Pipelining is enabled (#1637) (036cbea)
- queue: preserve playback for NZBs with omitted interior parts (#1594) (b3396fe)
- queue: skip unavailable optional first-segment metadata (#1625) (b9604a2)
- ui: reserve scrollbar gutter in media preview to stop resize loop (#1672) (ec9f606)
- usenet: classify corrupt decoded bodies as health-neutral discards (#1678) (ffca62a)
- usenet: distinguish connection-open failures from local admission waits (#1619) (7f46bc3)
- usenet: playback no longer stalls when read-ahead fallbacks hold every failover slot (#1657) (279ead3)
- usenet: share DATE liveness validation for probes and keepalives (#1665) (1a5276a)
- webdav: bound view response copies and handle length overruns (#1592) (d79c480)
- webdav: open full read-ahead window after the first segment is read (#1653) (f830550)
- webdav: seeking near the end of some files no longer fails (#1656) (4cdc4a0)
Performance Improvements
- api: resolve filtered tree directories with one descendant scan (#1671) (9838c46)
- queue: faster seeking and smoother playback in multi-volume RAR releases (#1636) (40595d9)
- queue: imports with queue pipelining enabled no longer download archive headers twice (#1622) (b0df768)
- queue: RAR releases stream faster after the first volume (#1634) (85de0cf)
- usenet: multi-volume imports no longer stall on throttled reconnects (#1621) (b010c99)
- webdav: disable thread-pool unfair semaphore spinning to cut streaming CPU (#1614) (e406258)
- webdav: memory returns to idle after playback stops (#1617) (37fba57)
- webdav: new streams and seeks use less memory while ramping up (#1618) (f399e97)
- webdav: PAR2-verified files now stream at full speed (#1664) (4d5fc59)
- webdav: pause prefetch when shared streams have no readers (#1675) (b73f56a)
- webdav: playback keeps moving when one article is slow to arrive (#1660) (4bbffc2)
- webdav: releases with very large articles start playing faster and use less memory (#1635) (c7d0da7)
- webdav: seeks and playback starts no longer wait on one slow first article (#1670) (54934ff)
- webdav: smoother playback across multi-volume archive boundaries (#1659) (f9db281)
- webdav: smoother playback across RAR volume boundaries (#1630) (13b1bee)
- webdav: smoother playback with far shorter stalls between Usenet articles (#1638) (6260e1d)
- webdav: smoother playback with fewer stalls while streaming (#1606) (31c837f)
UX
- ui: cleaner import queue with labelled bulk actions and mobile-friendly rows (#1649) (799ab83)
- ui: cleaner, mobile-friendly health page (#1650) (e114301)
1.6.1
Bug Fixes
- deps: Bump advanced-security/component-detection-dependency-submission-action (#1682) (6d21118)
- deps: Bump dotnet-stryker from 4.16.0 to 5.0.0 (#1480) (a914b40)
- deps: Bump NUnit from 4.6.1 to 5.0.0 (#1644) (a13d490)
- deps: Bump the npm-minor-and-patch group (#1681) (a3c3a8b)
- deps: Bump the nuget-minor-and-patch group with 2 updates (#1683) (45f35b5)
- deps: Bump the react-router group across 1 directory with 5 updates (#1531) (0d75b5d)
- deps: Bump xunit.v3 from 3.2.2 to 4.0.1 (#1534) (8eea89a)
- deps: Bump zensical from 0.0.66 to 0.0.67 in the docs-python group (#1680) (c1df5ae)
- health: PAR2 repair no longer fails on multi-volume releases with an identity byte-limit error (#1694) (f5bc20b)
- queue: indexer watermark files no longer fail imports with ‘Rar signature not found’ on some providers (#1679) (e1130a0)
- queue: preserve first-volume header ordering for stored RAR files (#1688) (206b9ad)
- usenet: keep backup-only providers demand-only with no warm floor (#1687) (41a1475)
- webdav: re-reading a range with filled holes no longer aborts or returns 404 (#1698) (fa96956)
- webdav: recognize strm links under the configured base url path prefix (#1692) (48715c5)
Performance Improvements
- webdav: fetch the rest of a seek range while the first article downloads (#1697) (2f9f45a), closes #1677
UX
1.6.2
Bug Fixes
1.6.3
Bug Fixes
- deps: Bump vite from 8.3.2 to 8.3.4 in /frontend (#1727) (62c1458)
- health: keep recently played files available during automatic repair (#1713) (4bef51e)
- usenet: backup accounts in a storage group are no longer charged for an article already rejected from that group (#1724) (a72e11d)
- usenet: unregister completed bandwidth waiters without blocking the limiter lock (#1711) (18e902c)
1.7.0 Latest
Features
Bug Fixes
- deps: Bump body-parser from 2.3.0 to 2.4.0 in /frontend (#1742) (a77b5ff)
- deps: Bump fast-uri from 3.1.8 to 3.1.9 in /frontend (#1743) (ff0f4d3)
- deps: Bump github/codeql-action (#1758) (0ac3c86)
- deps: Bump ip-address from 10.7.2 to 10.7.5 in /frontend (#1744) (6fac334)
- deps: Bump the github-actions group across 1 directory with 2 updates (#1722) (4dd62f6)
- deps: Bump the npm-minor-and-patch group (#1757) (2dc8b53)
- deps: Bump the npm-minor-and-patch group across 1 directory with 15 updates (#1736) (af69ab9)
- deps: Bump the nuget-minor-and-patch group with 1 update (#1756) (11de8f1)
- deps: Bump the nuget-minor-and-patch group with 11 updates (#1737) (635eb22)
- deps: Bump the react-router group in /frontend with 5 updates (#1755) (10e0f7a)
- deps: Bump xunit.runner.visualstudio from 3.1.5 to 4.0.1 (#1723) (b7f3299)
- health: files PAR2 cannot repair are no longer stuck behind other PAR2 repairs (#1761) (afa599d)
- health: files replaced by Sonarr/Radarr upgrades no longer pile up as “Not library linked” (#1754) (b1578be)
- health: PAR2 background repair is now off by default (#1762) (d8169d4)
- health: stop PAR2 identity probing of dead volumes with untrusted ranges (#1752) (6000cd4)
- health: treat null pending multipart parts as empty during PAR2 repair (#1740) (933b800)
- queue: do not record inconclusive article misses as missing evidence (#1745) (1db170a)
- retry a busy daily maintenance slot in place instead of skipping to tomorrow (#1747) (d46bf6e)
- scheduled orphan cleanup and database backups no longer skip nights (#1738) (ce51abc)
- sharpcompress: truncate RAR passwords to 127 characters before key derivation (#1751) (db347c7)
- usenet: warn with the reason when a segment fetch is classified as protocol (#1746) (9a14f4d)