All versions since 1.2.11.x
1.2.1
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)
1.2.2
Bug Fixes
- deps: Bump the npm-minor-and-patch group (#1099) (04a52c5)
- deps: Bump the nuget-minor-and-patch group with 1 update (#1100) (ffd1069)
- queue: large NZBs no longer rejected with too many segments during import (#1097) (43fc6d3)
1.2.3
Features
- search: reject wrong-year movies and optionally sort profile results by quality (#1107) (15c16dd)
- stremio: make Search Profiles work as a first-class AIOStreams addon (#1108) (9b7780e)
Bug Fixes
- db: PostgreSQL installs no longer log timestamp errors (#1102) (1142009)
- db: upgrades no longer fail on a pre-existing health-check index (#1106) (44749d8)
- sab: initialize addurl timeout before HTTP clients (#1105) (8c9940a)
- ui: show connections warm-pool hint (#1109) (7103fe6)
Chores
1.2.4
Bug Fixes
- arr: prevent automatic replacement search loops (#1132) (a5dc24e)
- db: allow orphan cleanup with PostgreSQL (#1133) (c59ba20)
- health: PAR2 repair no longer exhausts memory or blocks retries after a crash (#1124) (b4804ea)
- health: prevent health checks crashing on oversized metadata (#1123) (12cb9a9)
- nntp: recover providers faster from shared network failures (#1116) (06df9c6)
- queue: delete STRM files with removed history items (#1122) (12d1172)
- stabilize streaming and queue watchdog cancellation (#1129) (047b34f)
- streams: Article RAM waits no longer inflate during playback (#1126) (89bccfb)
- ui: hide Stable/Dev label in the version dropdown on mobile (#1125) (51c200a)
- ui: Mount button on Search page now adds releases (#1112) (71500fe)
- ui: pin Overview Right now above widgets on stacked layouts (#1117) (ed0dd0a)
- ui: remove scrollbar from header connection status (#1115) (9879d4b)
- usenet: retain context for unclassified fetch failures (#1113) (ef76529)
- usenet: scale auto article budget beyond 512 MiB (#1130) (c887505)
1.2.5
Features
- queue: create symlink and STRM outputs together (#1146) (c888279)
- ui: make Overview easier to scan and recover when stats fail to load (#1135) (3e8d70d)
Bug Fixes
- arr: prevent completed downloads waiting indefinitely for import (#1138) (72fb79d)
- deps: Bump zensical from 0.0.54 to 0.0.55 in the docs-python group (#1155) (9556699)
- health: enable health checks and PAR2 repair without Radarr or Sonarr (#1139) (34750c3)
- queue: NZBs with long Usenet subjects no longer rejected during import (#1160) (d98be41)
- repair: wait for PAR2 recovery before removing failed playback (#1143) (eb10439)
- ui: connections counter no longer flashes a spinner on the queue page (#1154) (9edff32)
- ui: live file reads are now full-width rows in the Overview stack (#1162) (400a99f)
- usenet: STAT of missing articles no longer logs unclassified cache-cleanup failures (#1159) (5f568d8)
- usenet: stop skipping through incomplete files after every missing article (#1158) (02df429)
- webdav: resume lazy RAR playback from tail seeks (#1136) (0605978)
Chores
1.2.6
Features
Bug Fixes
- queue: large imports of missing or corrupt Usenet articles no longer grind the server (#1188) (544aa6c)
- queue: large NZBs up to 256 MiB no longer rejected during import (#1177) (3328f03)
- queue: leftover STRM files are cleaned up and samples in Sample folders no longer get mounted (#1169) (87993e1)
- queue: restore a single import strategy instead of dual symlink and STRM outputs (#1171) (144cac9)
- ui: overview stats stay a compact bar on tablets and wrap 3-wide on phones (#1163) (09130e2)
- usenet: missing-article playback no longer freezes all streams and imports (#1199) (497de64)
Chores
1.2.7
Bug Fixes
- deps: Bump the npm-minor-and-patch group (#1202) (de13c67)
- deps: Bump zensical from 0.0.55 to 0.0.56 in the docs-python group (#1201) (d5c2f23)
- health: classify persistently missing streaming payloads as orphaned (#1215) (70323ff)
- health: verify PAR2 slices before applying the damage cap (#1213) (017eb23)
- queue: accept NZBs with up to 1,302,083 segments (#1220) (a7b0256)
- queue: busy database no longer marks completed downloads as failed (#1197) (63b3ddd), closes #1180
- queue: cancelled imports no longer keep parsing huge NZB files (#1192) (946637d)
- queue: deleting or pausing a stuck download no longer hangs forever (#1198) (4df9040)
- queue: failed imports no longer leave orphaned STRM files on disk (#1196) (80cf116)
- queue: stop reprocessing releases that already failed health validation (#1216) (a08b848)
- sab: oversize NZBs and stalled indexer fetches are rejected before they fill the disk (#1195) (133cd42)
- ui: align the admin UI with daisyUI defaults and accessible controls (#1206) (b34f994)
- webdav: play multipart RARs with unrelated trailing volumes (#1212) (65bc6d7)
- webdav: stop counting healthy streaming playback as slow WebDAV requests (#1204) (150d185)
1.3.0
Features
- health: clean up mounts whose streaming payloads are missing (#1218) (aa83ef3)
- health: expose segment-buffer eviction causes and throttle forced GC (#1230) (cbd87e5)
- health: parallel health checks with shared connection gate and queue coexistence (#1208) (b42ac42)
- health: re-check action-needed files from Health history (#1336) (2043c96)
- health: re-run health checks across the whole library from Settings → Maintenance (#1203) (bb54a92)
- health: turn on background repairs by default (#1284) (c3229c2)
- nntp: split transfer and metadata connection budgets (#1207) (39e04c1)
- queue: name a lone imported video after its release folder (#1149) (c7530c0)
- scheduling: schedule health checks, repairs, and queue downloads by time of day (#1153) (5e6a3ff)
- ui: guide first-run setup for Plex, Emby, and Jellyfin (#1306) (b31a220)
- ui: inspect each provider’s speed history from Overview (#1151) (ea6ce14)
- ui: setup wizard always suggests rclone RC notifications for symlink installs (#1320) (502995d)
- ui: show active queue jobs and history in one list (#1286) (e6b2e21)
- ui: warn when rclone streams through port 3000 (#1328) (eae59a5)
- ui: warn when Segment Cache duplicates rclone VFS read-ahead (#1319) (eebc880)
- usenet: add memory ownership telemetry (#1295) (04cac95)
- usenet: cap total Usenet download bandwidth (#1152) (ecd2193)
- usenet: improve batching for short and medium range reads (opt-in) (#1292) (21a499f)
- usenet: leftover segment-cache files are cleaned up on startup when the cache is disabled (#1321) (a9c69f8)
- usenet: let long reads expand provider connections faster (#1324) (9044421)
- usenet: let segment cache writes run behind playback (#1325) (5cd2aee)
- usenet: make provider circuit-breaker cooldowns configurable (#1118) (56e9415)
- usenet: measure production pipelined cache bypass before the warm-read fix (#1288) (a3a0d7b)
- usenet: segment cache is off by default for new installs; existing installs keep their current behavior (#1322) (d0d18c0)
- usenet: warm provider connections when long reads start (#1330) (83a431c)
Bug Fixes
- api: reject invalid Warden source uploads with 400 and count UTF-8 bytes (#1274) (08f5567)
- arr: prevent overlapping Watchtower cycles after a timeout (#1278) (28a9eba)
- arr: reject oversized Newznab and Watchtower list responses instead of parsing them unbounded (#1279) (b9be02e)
- db: container no longer dumps a stack trace per file when local streaming metadata is corrupt (#1297) (cd9b120)
- db: retry backup directory initialization in the scheduler (#1269) (32b07bf)
- db: skip a maintenance sweep instead of stopping the host when SQLite is busy (#1268) (f846184)
- deps: Bump fast-uri from 3.1.5 to 3.1.7 in /frontend (#1312) (219ac28)
- deps: Bump github/codeql-action in the github-actions group (#1256) (79a4861)
- deps: Bump github/codeql-action in the github-actions group (#1315) (99ec38c)
- deps: Bump qs from 6.15.3 to 6.16.0 in /frontend (#1316) (51bc1b5)
- deps: Bump the npm-minor-and-patch group (#1254) (23c7ba8)
- deps: Bump the npm-minor-and-patch group (#1313) (484dafc)
- deps: Bump the nuget-minor-and-patch group with 2 updates (#1314) (a0377e5)
- deps: Bump the nuget-minor-and-patch group with 3 updates (#1255) (f8ede69)
- deps: Bump zensical from 0.0.56 to 0.0.57 in the docs-python group (#1253) (c9c5b97)
- health: clarify Library Directory requirements (#1302) (8843fb7)
- health: keep prune and unlinked-file cleanup running if progress reporting fails (#1272) (d62d57e)
- health: recover libraries downloaded before 1.3.0 (#1335) (528eca5)
- health: recover PAR2 repair after transient patch catalog load failures (#1277) (f7a27f3)
- health: repair Arr-linked files after SAB history cleanup (#1282) (e5cf9c9)
- health: stop deleting linked files after inconclusive Arr lookups (#1229) (997eb59), closes #1221
- hosting: backend exits nonzero after a hosted background service crashes (#1273) (8990114)
- nntp: keep streaming when an article-completion observer throws (#1275) (6cc3ee1)
- queue: restart instead of serving a dead queue after processor failure (#1287) (cb77327)
- rclone: improve mount recommendations and RC connection tests (#1311) (efca97d)
- sab: deleting a queue item that is failing at the same moment no longer returns HTTP 500 (#1309) (71a52c8)
- ui: align streaming bandwidth input width (#1260) (ec10a5a)
- ui: compact idle Right now, keep Arr Health on-screen, and tooltip the rename setting (#1265) (5e89125)
- ui: keep Arr Health last-import tooltip inside the dashboard (#1283) (d62a8b5)
- ui: keep existing installs on overview (#1333) (2329c0d)
- ui: keep overview stats and help text usable on phones (#1259) (f9439ff)
- ui: per-provider MB/s chart stays continuous when there is no traffic (#1228) (012168b)
- ui: prevent malformed websocket traffic from stopping the frontend (#1280) (80d28df)
- ui: reject a missing frontend/backend API key before the UI starts listening (#1270) (f55a3fc)
- ui: remove experimental tag from container-aware gap fill (#1307) (412fc69)
- ui: repair settings remain saved after refresh (#1301) (381c512)
- ui: show a clear error and exit when the frontend port is already in use (#1276) (60b5518)
- ui: stabilize the overview dashboard layout (#1257) (2e72fe9)
- ui: stop Arr Health table from showing a phantom horizontal scrollbar (#1267) (81008cc)
- usenet: harden timeout connection lifecycle (#1224) (72f4d79)
- usenet: keep pooling and config updates running if a telemetry observer throws (#1271) (ba5ae40)
- usenet: preserve streaming priority and release every pipelined batch resource (#1291) (a2c1151)
- usenet: warm rereads no longer re-download cached pipelined segments (#1289) (368a7da)
- webdav: directory listings no longer fail with HTTP 500 when a filename contains XML-invalid characters (#1310) (1dfdcaa)
- webdav: prevent PostgreSQL listing failures without buffering directories (#1332) (dd7cc42)
- webdav: stop healthy playback triggering stalled-stream warnings (#1334) (b01c0bd)
Performance Improvements
- health: background health checks scan large libraries much faster (#1303) (d8dce34)
- queue: fail dead NZBs after one probe instead of scanning every article (#1148) (23bcf61)
- usenet: default segment buffer retention to capacity (#1299) (51c0ed8)
- webdav: start ranged playback without waiting for the full first article (#1290) (d3e5815)
UX
1.4.0
Features
- auth: sign in behind a reverse proxy via gui configuration (#1420) (fbad2f0)
- health: add a “quick” health-check depth (#1410) (89ee934)
- health: PAR2 repair now fixes missing articles inside RAR releases (#1348) (5c7bf79)
- ui: activity chart separates client playback reads from app-triggered reads (#1340) (79ad0ef)
- ui: make health check depth adjustable (#1426) (9c315ac)
- usenet: benchmark configured provider limits above 50 connections (#1360) (63bde75)
Bug Fixes
- arr: retain WebDAV items when Arr repair only partially completes (#1381) (75420e9)
- arr: stop re-importing uploads rejected by queue rules (#1380) (95e9598)
- auth: recover from rejected login action origins (#1401) (7895e06)
- auth: sign in works again behind a reverse proxy (#1406) (ee0bbbd)
- ci: anchor prerelease notes to latest stable release (#1402) (bf640d2)
- db: let orphan cleanup continue through temporary locks (#1408) (9c163ff)
- deps: Bump advanced-security/component-detection-dependency-submission-action (#1395) (a35ffe2)
- deps: Bump js-yaml and @redocly/openapi-core in /frontend (#1397) (5fe0a8d)
- deps: Bump Scalar.AspNetCore from 2.17.1 to 2.17.2 (#1339) (e3737c6)
- deps: Bump the npm-minor-and-patch group (#1392) (b78fa73)
- deps: Bump the npm-minor-and-patch group (#1422) (bfb2074)
- deps: Bump the npm-minor-and-patch group across 1 directory with 4 updates (#1341) (4e32bb6)
- deps: Bump the nuget-minor-and-patch group with 1 update (#1423) (de1d6b0)
- deps: Bump the react-router group across 1 directory with 5 updates (#1337) (11c2c02)
- deps: Bump zensical from 0.0.57 to 0.0.59 in the docs-python group (#1391) (1a98063)
- docker: ship the musl rapidyenc native in the Alpine image (#1370) (5275648)
- health: defer contended PAR2 repairs (#1383) (4bc4a21)
- health: preserve urgent repairs across concurrent checks (#1407) (33ebeef)
- health: prevent false repairs when stored segment alternatives are available (#1373) (6fb47d9)
- metrics: count shared-stream pump fetches as client reads (#1350) (581833f)
- nntp: bound fresh connection acquisition (#1409) (f912daa)
- nntp: keep playback working when a provider returns the wrong post (#1357) (b4ede00)
- queue: allow reviewed cleanup of large orphan backlogs (#1352) (b5bf01e)
- queue: import independent RAR and 7z archive sets separately (#1382) (c9250ba)
- queue: preserve jobs and retry delays during concurrent queue changes (#1399) (8ddebd9)
- sab: accept duplicate segment fallbacks and keep validation errors bounded (#1400) (11d587b)
- sab: Sonarr/Radarr no longer loop on “Download doesn’t contain intermediate path” after a job folder is removed (#1347) (295c4cc)
- ui: match app read legend to the activity chart (#1355) (2240674)
- ui: move public Base URL into General settings (#1411) (82d5501)
- ui: render app activity reads with a solid line (#1349) (56f9d4e)
- usenet: prevent stale provider misses from blocking imports (#1403) (303b7a7)
- usenet: speed tests use articles available from the selected provider (#1361) (699e0ca)
- usenet: verify retrievable articles before marking releases dead (#1404) (4a4fe71)
- webdav: make /view HEAD requests metadata-only (#1405) (c2be9fb)
Performance Improvements
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)