From 4e3e68d6e624264a6494b6bb8c148ab97b573427 Mon Sep 17 00:00:00 2001 From: npeter83 Date: Sat, 19 Sep 2026 03:57:29 +0200 Subject: [PATCH] chore(release): 0.90.0 --- CHANGELOG.md | 21 +++++++++++++++++++++ VERSION | 2 +- frontend/src/lib/releaseNotes.ts | 20 ++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe84175e..a6fe27d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,27 @@ edit the release notes and re-run the generator. Upgrading, pinning a version and rolling back: [docs/self-hosting.md](docs/self-hosting.md#upgrading). +## 0.90.0 — 2026-09-19 + +The server's log gets a screen of its own: an admin can now read what the API, the downloader and the browsers wrote down, filter it, and follow one request or job from start to end. + +### Features + +- Admin → Server log: the stored log, newest first, with a search, level chips, and source, account, event and period filters. A line opens in place to its full record; its request id or job id narrows the list to everything that request or job wrote. +- Filters live in the address bar, so a filtered view is a link, and Back brings the previous view back. +- Live follows the newest lines every few seconds; Copy puts the loaded lines on the clipboard, oldest first. A failed read says so instead of quietly freezing the list. +- Both log viewers (Server log and My log) can be walked with j/k and a line opened with Enter. + +### Fixes + +- New videos no longer arrive late from channels whose YouTube feed answers 404 or 500 now and then: a feed is tried again before the channel counts as failed. +- A % or _ typed into a search is searched for as itself, not as a wildcard. + +### Internal + +- The console's own reads are logged at debug level, so watching the log does not fill it. +- Two adversarial review rounds: 19 findings raised, 12 survived, all fixed, and every regression test was proven to fail with its own fix removed. + ## 0.89.0 — 2026-09-19 A release for the log rather than for the screen: what the server writes down when something fails is now complete, said once, and free of what you downloaded or searched for. diff --git a/VERSION b/VERSION index 5aee1345..ae02209b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.89.0 +0.90.0 diff --git a/frontend/src/lib/releaseNotes.ts b/frontend/src/lib/releaseNotes.ts index 5306cb98..c6b60883 100644 --- a/frontend/src/lib/releaseNotes.ts +++ b/frontend/src/lib/releaseNotes.ts @@ -14,6 +14,26 @@ export interface ReleaseEntry { } export const RELEASE_NOTES: ReleaseEntry[] = [ + { + version: "0.90.0", + date: "2026-09-19", + summary: + "The server's log gets a screen of its own: an admin can now read what the API, the downloader and the browsers wrote down, filter it, and follow one request or job from start to end.", + features: [ + "Admin → Server log: the stored log, newest first, with a search, level chips, and source, account, event and period filters. A line opens in place to its full record; its request id or job id narrows the list to everything that request or job wrote.", + "Filters live in the address bar, so a filtered view is a link, and Back brings the previous view back.", + "Live follows the newest lines every few seconds; Copy puts the loaded lines on the clipboard, oldest first. A failed read says so instead of quietly freezing the list.", + "Both log viewers (Server log and My log) can be walked with j/k and a line opened with Enter.", + ], + fixes: [ + "New videos no longer arrive late from channels whose YouTube feed answers 404 or 500 now and then: a feed is tried again before the channel counts as failed.", + "A % or _ typed into a search is searched for as itself, not as a wildcard.", + ], + chores: [ + "The console's own reads are logged at debug level, so watching the log does not fill it.", + "Two adversarial review rounds: 19 findings raised, 12 survived, all fixed, and every regression test was proven to fail with its own fix removed.", + ], + }, { version: "0.89.0", date: "2026-09-19",