1.31.0 (2026-11-09)
Features
- analysis: whole-file loudness v2, edges and a loudness curve from one decode, measured as it airs (#2041) (acb0db0)
- docker: publish a cu124 AIO CUDA image (#2265) (740936c)
- hosted mode for SUB/WAVE Cloud stations, shared Kokoro, and a small-library coast fallback (#2260) (6fda31e)
- library: tag new tracks automatically on a daily schedule (#2292) (5b936f3)
- search: Outcrawl as a web-search backend (#2239) (8805abf)
- skills: per-skill TTS voice override (#1778) (db3dc96)
- steer: steer the music and the talk from the dashboard for a while (#1924) (eb366a4)
- tagger: give the tagging LLM the measured track, and stamp blind tags (#2286) (9cda77f)
- tts: add tts-bench, a harness that measures each engine's renders (#2111) (9a6ecb5)
Bug Fixes
- admin: align the speech-correction fields on one line (#2267) (d77875a)
- analysis: keep tail vocal evidence through a vocal-off re-analyze (#2290) (673d272), closes #2255
- analyzer: report the pool size on /health, and separate only the missing tail (#2289) (c7b3959), closes #2253
- analyzer: ship librosa's numba kernels pre-compiled in the image (#2219) (ad4a278)
- cli: exit non-zero when subwave update fails (#2206) (f241ff1), closes #2205
- cli: keep Linux prompts on stdin, not a /dev/tty stream Bun can't read (#2262) (#2263) (a9d1f07)
- cli: say init keeps the existing .env instead of claiming to overwrite it (#2204) (#2208) (5ed918f)
- scheduler: roll the session when the station hour or show moves, not on minute 0 (#2291) (154c9b6), closes #2254
- stems: undeletable stem dirs no longer stop pick-time stems for good (#2287) (5821341), closes #2253
- tagger: stop counting untaggable tracks as tagged and re-asking the LLM every run (#2285) (1598464)
- talk: open the hourly check, idents, banter and segments on the station clock (#2293) (1a962d8)
- unraid: break the CA overview into paragraphs, document the blank-icon outage (#2261) (de6d324)
- weather: say what the forecast says, and give the weather skill the next hours (#2211) (ecfd5df)
Documentation
- use hello@getsubwave.com as the public contact address (#2264) (5dbe2ca)