0.27.0 (2026-06-23)
Features
- app: diagnose connection failures and add an HTTP/HTTPS toggle in onboarding (#458) (#527) (1762793)
- controller: fetch Last.fm artist tags directly via the Last.fm API (#514) (ba3696e)
- controller: persist last 10 raw LLM requests to a rolling log file (#515) (11ccee0)
- personas: redesign editor — rotary tone dials, LED voice meter, full-width roster (#526) (ca5ef25)
- picker: add per-show strict genre lean (hard-filter the pool, soft fallback) (#516) (b23b8ff)
- skills: make traffic brief region-agnostic and sharper (#509) (7310f5d)
Bug Fixes
- admin: de-glitch shows add/edit modal + frosted backdrop (#519) (36f947c)
- auth: harden admin auth with timing-safe comparison and brute-force lockoutFix/admin auth timing bruteforce (#491) (83195e5)
- auth: reset brute-force counter after lockout window expires (#517) (55f17af)
- embeddings: support OpenRouter as an embedding provider (#522) (#523) (403b3b8)
- personas: give feedback when adding a persona (#518) (cc899c0)
- unraid: lowercase CA app name to "subwave" + broaden search terms (discoverability) (#512) (a1d49c4)
- web: resolve schedule "On now" in station timezone, not browser (#510) (1033d6f)