0.41.0 (2026-07-12)
Features
- admin: add Ko-fi and Discord links to the sidebar (#1020) (1bf3ea7)
- admin: adopt AI Elements components across the admin panels (#1009) (08a2a43)
- admin: cancel button for queued tracks on the dash (#1006) (0e6a2f9)
- admin: surface Navidrome-unreachable banner across admin (#1014) (978ebf9)
- library: never-play blocklist + admin library redesign (#1008) (f61946a)
- loudness: ReplayGain-first loudness source + stereo BS.1770 measurement (#998) (#1005) (a50e49f)
- observatory: move MAP SIZE and RESET DIAL into the top header (#1010) (3a9800d)
- player: deeper live-stream buffering to survive poor cellular coverage (#1001) (0e42f6f)
- skills: add Commute check-in community skill (#1000) (43c7160)
- skills: tags, filter/sort, and assign-to-DJs from the skill editor (#1007) (42f6190)
Bug Fixes
- admin: remove failing/warning count badge from DJ Doc header link (#1011) (d0b6204)
- analyzer: raise worker stdout line limit so /embed-text batches don't 500 (#1002) (fab3301), closes #996
- app: pause + drop stream when iOS output device disappears (#992) (#1003) (f47fafb)
- broadcast: keep jingle stingers from talking over the DJ + allow disabling jingles (#997) (#1004) (eee300b)
- dj: locale-aware spoken clock + deterministic hourly time phrase (#1016) (121dada)
- llm: raise connection-test token budget above OpenAI Responses API minimum (#1015) (b1da909)
- shows: wire excluded playlists into pick paths + make strict filters actually strict (#1018) (02ec7d5)
- web: visualiser — distinct low-end bars, and a Safari dead-analyser watchdog (#988) (4d82da2)