0.35.0 (2026-07-03)
Features
- admin/shows: Any mood option + unified Strict filter toggle (#766) (4b4f1dc)
- audio: configurable loudness target + peak-aware asymmetric gain clamp (#758) (1b10331)
- broadcast: DJ-mode transition effects — filter sweep + echo washout (#606) (a919386)
- dj: on-air persona handoff at show boundaries (#762) (da3ba9d)
- library: Reset tab — wipe all tagging data and start fresh (#753) (a1eef42)
- tagger: embedding quality — weighted KNN voting, task prefixes, audio fusion, self-check (#750) (a0ab345)
Bug Fixes
- admin/library: disable Re-analyse acoustics when no analysis engine is running (#767) (2cc6b1f)
- admin/library: hide Backfill buttons on a virgin library, drop the Analyze label flip (#756) (6b70475)
- admin/library: vocal-activity modal checkboxes appear immediately on enable (#755) (992feed)
- admin/shows: alphabetize genre lean autocomplete options (#770) (9a02313)
- admin/shows: touch-safe schedule painting — long-press to paint, tap to toggle, swipe scrolls (#757) (8ec26bf)
- app: send URL basic-auth as a header so iOS AVPlayer can stream (#764) (#772) (68c3c3a)
- broadcast: stop hourly archive when station is taken off air (#768) (aa414dd)
- broadcast: stop shipping mis-targeted DJ adaptive-blend length (#749) (#760) (3347249)
- controller/library: stop post-analysis UI slowdown from fat acoustic rows (#723) (#771) (0b94f41)
- dj-agent: salvage unknown-id picks and make empty tool results teach (#763) (c2e4260)
- dj-agent: stop coaching transition effects the persona can't use (#754) (69c80ff)
- dj: hemisphere-correct season + surface day/night, so the DJ stops describing summer heat in a southern-hemisphere winter (#765) (1b1b35a)
- tts: surface silent engine fallbacks + guide operators to matching-language voices (#691, #725) (#761) (4feca91)