v0.2.25
withastro/astrov0.2.25Aug 1, 2026by QuentinFuxa
AI Summary
A maintenance release adding the FunASR backend and fixing significant issues with diarization and error handling.
Key Highlights
- New FunASR SenseVoiceSmall backend with multi-language support.
- Fixed silent failure in qwen3 diarization.
- Improved error handling for invalid session parameters.
New Features
- FunASR backend support via `--backend funasr`.
- SBOM attestations on published Docker images.
Full Release Notes
A FunASR backend, and diarization unbroken for qwen3. ## Added - FunASR SenseVoiceSmall backend (`--backend funasr`): auto, Mandarin, Cantonese, English, Japanese and Korean on the LocalAgreement policy, with fail-closed timestamp validation and per-session language overrides. Install with the `funasr` extra. (#385, thanks @LauraGPT) - Published Docker images now carry SBOM attestations, and the provenance mode is pinned explicitly. (#390, thanks @kobihikri) ## Fixed - qwen3 backends with `--diarization` silently stopped emitting updates as soon as the first line was diarized: the qwen3 package's own token type lacked the helpers the alignment needs. Tokens are now normalized to WhisperLiveKit's `ASRToken` at the factory boundary. (#389, thanks @OookTheLibrarian) - Diarization span corruption in `concatenate_diar_segments`. - `--language yue --buffer-trimming sentence` crashed on a bare assert even though the sentence tokenizer supports Cantonese. (#392) - Invalid per-session parameters (such as an unsupported `?language=`) now produce a structured error and close code 4400 on the WebSocket endpoints, and HTTP 400 on the REST endpoint, instead of an unexplained handshake failure. (#393) - `wlk pull funasr` and `wlk rm funasr` explain that funasr manages its own model cache instead of exiting 1 silently. (#394)