0.45.0 (2026-07-21)
Features
- admin: API key field for the openai-compatible cloud TTS provider (#1107) (4472f00)
- admin: humanize help copy + card-style section headers (25add59)
- admin: playlist recipe panel bg + shadcn scrollbars (070cbc9)
- CUDA analyzer flavour + quiet-times analysis gate (#1099) (#1102) (ce0b3ac)
- personas: raise DJ soul cap from 1000 to 2000 chars (#1105) (#1113) (802172c)
- privacy: private station mode — hidden player + stream listener auth (#478) (#1058) (aaacca2)
- skins: more contrast on the classic, subamp and tty players (a1b91a3)
- themes: distinct fonts per built-in theme + clear stale tokens on switch (#1112) (2ed2b8a)
- themes: expand token system for depth, hierarchy, colour & type (a82acd2)
- themes: live preview in the theme builder (73a4fdd)
- themes: modal theme editor with edit, + image-sourced built-ins (58c3782)
- themes: rework built-ins for depth + add Press & Neon (03e1ab2)
- themes: surgical spec-4 touchups — accent-2 + ink-faint (f59b412)
- themes: theme editor + image-sourced built-ins, admin humanize, skin contrast (90ff4c8)
- themes: themeable mono font (--mono-font) (234d5b6)
Bug Fixes
- admin: higher-contrast muted + larger read-copy for legibility (c1f04ab)
- admin: lift the shell nav + header for contrast (717aae2)
- admin: make persona Discard actually revert unsaved edits (#1106) (#1115) (78590be)
- admin: nav + header use card-bg, matching the other panels (9c549ee)
- app: align now-playing with listener audio (#1117) (d2f9f51)
- shows: one-directional, boundary-aware genre matching for strict shows (#1116) (40ad544)
- stream: align now-playing with listener audio, size burst in seconds (#1114) (2f36225)
Documentation
- themes: theme foundation design spec (781bc61)