Repository navigation
v0.90.0
What's Changed
- docs(changelog): promote 0.90.0, and list LlamaCppAIProvider in llms.txt
- docs(examples): the French Pocket assistant can record the audio its STT receives (RMK-221)
- test(conference): the dev extra installs the LiveKit SDK, so the backend suite runs in CI (RMK-222)
- docs(changelog): the RMK-219 log example names a generic tool (RMK-221)
- fix(voice): a held answer is released by echo-suppressed speech, and never held over audible audio (RMK-221)
- fix(voice): an answer not heard yet waits for the user, and is dropped when they add to the question (RMK-221)
- fix(voice): a turn judged complete waits when the user is already speaking again (RMK-218)
- feat(voice): log each turn decision, and tune Smart Turn from the French Pocket example (RMK-218)
- fix(voice): Smart Turn loads once under a lock, and can load at startup (RMK-218)
- fix(voice): the incomplete-turn wait counts silence, so a cough or a quick restart cannot strand or split a turn (RMK-218)
- test(voice): the Smart Turn wiring tests use the shared mock backend (RMK-218)
- fix(voice): a turn judged incomplete is answered after silence, and TTS splits at line breaks (RMK-218)
- fix(typecheck): MuseTalk and Smart Turn type-check with their extras installed (RMK-218)
- fix(ai): frame remembered tool results as data, and keep restarts honest (RMK-217)
- fix(ai): a follow-up question sees the data its tools returned (RMK-217)
- fix(typecheck): the MuseTalk torch.load patch type-checks with and without torch (RMK-217)
- docs(examples): the French Pocket assistant keeps a whole board list in view (RMK-219)
- docs(examples): the French Pocket assistant shows its tool calls and has a debug mode (RMK-219)
- feat(ai): a tool call's log says what was called and what came back (RMK-219)
- docs(examples): the French Pocket assistant runs llama.cpp and takes MCP tools (RMK-216)
- fix(typecheck): the MuseTalk torch.load patch passes ty 0.0.84 with torch installed (RMK-216)
- docs(examples): the local-model examples stop llama-server on any failure (RMK-215)
- refactor(mcp): tidy MCPToolProvider per review (RMK-215)
- docs(examples): MCP tools over stdio with a local model (RMK-215)
- feat(mcp): MCPToolProvider starts stdio servers, and cleans up a failed connect (RMK-215)
- refactor(llamacpp): tidy the provider per review (RMK-204)
- docs(examples): the local Vui assistant runs its LLM through llama.cpp (RMK-204)
- feat(providers): LlamaCppAIProvider runs a local model with nothing beside it (RMK-204)
- refactor(vllm): the VLLMConfig to OpenAIConfig translation is its own helper (RMK-204)
- chore(deps): bump ty to 0.0.84 and clear the five diagnostics it adds
- docs(examples): the French Pocket TTS assistant strips emoji before speaking (RMK-214)
- feat(tts): StripEmoji removes emoji before synthesis (RMK-214)
- refactor(aec): tidy the WebRTC per-turn stats per review (RMK-213)
- docs(examples): a local French voice assistant with Pocket TTS, on CPU or GPU
- feat(tts): PocketTTSProvider runs Kyutai's Pocket TTS on the CPU or a CUDA GPU
- refactor(tts): the cancellable thread-to-async bridge leaves vui.py for a shared module
- fix(aec): WebRTC AEC stats cover one playback at a time (RMK-213)
- fix(voice): a backend's own AEC ends the playback at once too (RMK-211)
- fix(voice): with an AEC, a reply started as the agent stops is heard (RMK-211)
- docs(examples): the sherpa-onnx voice examples transcribe with Kroko English (RMK-210)
- refactor(stt): validate tail_padding_s at construction, per review (RMK-210)
- docs(examples): the local Vui example transcribes with the Kroko English model (RMK-210)
- fix(stt): SherpaOnnxSTT pads the tail so a streaming transducer keeps the last word (RMK-210)
- fix(voice): a claimed barge-in always cuts the playback, per review (RMK-206)
- fix(voice): a barge-in interrupts a playback once (RMK-206)
- fix(docs): realtime VAD tuning goes through provider_config, not vad_config (found under RMK-209)
- refactor(vad): validate vad_config values before audio flows, per review (RMK-209)
- fix(vad): AudioPipelineConfig.vad_config tunes the VAD provider instead of being ignored (RMK-209)
- refactor(vad): pin the 0.9 s worst case and note barge-in echo, per review (RMK-208)
- fix(tests): give the conference drain-budget test room for a slow runner (RMK-206)
- fix(tests): ignore starlette's anyio.abc.BlockingPortal deprecation so the WebRTC offer tests collect (RMK-206)
- fix(vad): SherpaOnnxVAD keeps 1 s of pre-roll so late TEN-VAD detection keeps the first word (RMK-208)
- docs(llms): refresh llms-full.txt for the ACP 0.12.1 transport note (RMK-206)
- ci: refuse downstream application names in commit messages, test the ACP SDK floor (RMK-206)
- refactor(acp): name the SDK 0.12.1 drain guarantee per review (RMK-206)
- fix(acp): support agent-client-protocol 0.12.1 (RMK-206)
- docs(examples): the local Vui example on Ollama's native API, one models dir (RMK-205)
- fix(deps): roomkit[sherpa-onnx] installs sherpa-onnx-core (RMK-207)
- chore(deps): refresh the python-deps group, cap agent-client-protocol below 0.12.1
- Begin 0.90.0.dev0 development
Full Changelog: v0.89.0...v0.90.0