Local MLX translation, bounded WebSocket sessions, and a security refresh of the locked dependencies.
Added
- Local sentence translation on Apple Silicon through mlx-lm (
mlx-llm-mtextra: Hunyuan-MT, TranslateGemma), with shared model weights and per-session languages and buffers. (#422, thanks @clkao) - Simultaneous MLX translation with calibrated attention (AlignAtt commit policy), and the zh→en calibration for Hy-MT2 1.8B 8bit. (#423, #448, thanks @clkao)
- Per-session decoder context: a
contextquery option on the native and Deepgram-compatible WebSockets, and the OpenAI-compatible RESTpromptfield now conditions the decoder. (#424) --max-concurrent-sessions(64 per worker by default) and--session-idle-timeout(60 s by default) for WebSocket sessions. Upgrades beyond the limit are refused with HTTP 403 before any decoder or FFmpeg process is created. (#465)
Fixed
- Sortformer inference no longer blocks the event loop. (#461, thanks @guhyun9454)
- SimulStreaming reads the no-speech probability at the start-of-transcript token once the context buffer holds text. (#468, fixes #467 reported by @AuCourDe)
- Closing a translation no longer waits behind the inference it needs to interrupt. (#445)
- Final ASR output is no longer lost at the end of a stream, and decoder and diarization failures are reported to clients. (#440, #441)
- Sessions requesting another language on non-Whisper backends no longer fail at construction. (#439)
- Streaming queues are bounded, FFmpeg processes are reaped on disconnect, and failed requests no longer leave collector tasks running. (#432, #435)
Maintenance and security
- Locked dependencies refreshed with the October security fixes (certifi, urllib3, filelock, fsspec, msgpack, Pillow, PyJWT, aiohttp and others), plus AnyIO and HTTPX2. Remaining blocked upgrades are listed in
docs/dependency-audit.md. (#466, #472) - Checkpoint loading is restricted to weights-only tensors. (#438)
- The
qwen3-vllm-metalextra no longer pins the vllm-metal GitHub wheel, which was blocking Dependabot. Install vllm-metal with its official installer, then install the extra into that environment. (#473) - Transport security documented for remote AlignAtt translation servers. (#469)
- Audio input and translation are separated from session orchestration. (#436)
- Benchmark reports are reproducible, keep failures, and pace audio without artificial EOF delays. (#437, #442, #443)
- CI, Docker and dependency updates. (#429, #430, #433, #457, #458, #470, #471)
New contributors
- @clkao made their first contribution in #422.
- @guhyun9454 made their first contribution in #461.
Full changelog: v0.2.26...v0.2.27