From 175e49b3619a37a3215dc86154510824bff9a738 Mon Sep 17 00:00:00 2001 From: npeter83 Date: Tue, 28 Jul 2026 00:18:39 +0200 Subject: [PATCH] =?UTF-8?q?chore(release):=200.56.0=20=E2=80=94=20R7=20fro?= =?UTF-8?q?ntend=20API=20layer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 2 +- frontend/src/lib/releaseNotes.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2b045fa..c11ca46 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.55.0 \ No newline at end of file +0.56.0 \ No newline at end of file diff --git a/frontend/src/lib/releaseNotes.ts b/frontend/src/lib/releaseNotes.ts index 09b0f2a..0202e1a 100644 --- a/frontend/src/lib/releaseNotes.ts +++ b/frontend/src/lib/releaseNotes.ts @@ -14,6 +14,17 @@ export interface ReleaseEntry { } export const RELEASE_NOTES: ReleaseEntry[] = [ + { + version: "0.56.0", + date: "2026-07-28", + summary: + "Internal frontend hardening — the whole client API layer is now type-checked end to end and the largest module was broken up for maintainability. No changes to normal use.", + chores: [ + "Type safety: the fetch wrapper and every one of the ~150 API calls now carry real types, closed-value fields (watch status, playlist kind/source, download job kind) are strict value sets, and every loosely-typed `any` was removed and is now blocked going forward — a whole class of mistakes is caught at build time instead of in the browser.", + "Cache correctness: all ~200 React Query cache keys now come from one typed source of truth, so a mistyped key can no longer silently fail to refresh a list after an action.", + "Code structure: the ~1800-line API module was split — the shared request machinery and the downloads, Plex, and messaging areas each moved to their own file behind the exact same interface, with no behaviour change. Plus a validation message and browser-tab titles now read from a single source so they can't drift.", + ], + }, { version: "0.55.0", date: "2026-07-26",