1.8.0 (2026-08-12)
Features
- broadcast: stamp DJ speech at air time, not handoff (#1382) (#1390) (735b3fd)
- debug: merge State dir + DJ voices into one read-only state tree (#1392) (9ce8a61)
- dj: add a station switch to keep the clock off air (#1324) (a3bb65e)
- show the next queue transition in the admin header once it's armed (#1372) (f9897b0)
- skills: optional per-skill cron timer (#1379) (178ad05)
- Test corrections button in Moods → Speech tab (#1350) (ffd5d94)
- webhooks: tell consumers speech is coming, not just that it started (#1382) (#1393) (5746158)
- web: move playlist reorder onto dnd-kit (touch + keyboard) (#1387) (5025f20)
- web: sort persona roster by on-air status and name (#1371) (f39e6a7)
Bug Fixes
- dj: say the requester's name on air (#1384) (3933236)
- tagging: calibrate audio moods per label and derive energy for propagated tracks (#1386) (319bfc8)
- tts: cloud fallback targets are engine + provider, on both trigger paths (#1378) (544a3fc), closes #1345
- web: confirm a schedule booking, the one board write that said nothing (#1389) (46eb5ce)