Skip to contentVersion 1.2.0
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)