What's Changed
- (openai realtime): add gpt-realtime-2 model str by @tinalenguyen in #5791
- (healthcare example): remove filesearch and pdf by @tinalenguyen in #5795
- chore(worker): update worker warnings AGT-2909 by @chenghao-mou in #5771
- fix(voice): race between flush and clear_buffer on interrupt leaks unplayed transcript by @longcw in #5798
- fix(vad): add support for vad reset directly without stream close by @chenghao-mou in #5687
- feat(inworld tts): add delivery_mode parameter for inworld-tts-2 by @chrisackermann in #5801
- fix(voice): wait for end-of-turn task when waiting for user inactivity by @longcw in #5792
- Adding GnaniAI STT plugin by @Gnani-AI-Mintlify in #5769
- (gnani): fix py.typed and remove changesets by @tinalenguyen in #5816
- fix(voice): propagate ChatMessage.interrupted through proto serializer by @toubatbrian in #5824
- fix(anthropic): recreate stream on retry by @he-yufeng in #5820
- fix(llm): convert per-turn instructions on the very first turn too by @theomonnom in #5828
- feat(background_audio): add fade_in / fade_out to AudioConfig by @theomonnom in #5832
- fix(plugins/sarvam): thread language_probability into SpeechData.confidence by @hashirventhodi in #5830
- fix(lemonslice): bind avatar audio output before the upstream session HTTP call by @theomonnom in #5837
- feat(voice/avatar): kick avatar participant on aclose + wait_for_join helper by @theomonnom in #5836
- feat(examples): add LemonSlice avatar with switchable personas by @theomonnom in #5834
- chore(playground): list frontdesk first by @theomonnom in #5838
- fix: 4xx errors should not be retryable by @davidzhao in #5831
- livekit-agents@1.5.13 by @github-actions[bot] in #5835
- feat(assemblyai): add continuous_partials and interruption_delay stre… by @dlange-aai in #5819
- ci(deploy-examples): include avatar in matrix + wire LEMONSLICE_API_KEY by @theomonnom in #5839
- docs: clarify MCP support bullet by @scosemicolon in #5822
- fix(core): replace frame drop with silence frame AGT-2914 by @chenghao-mou in #5815
- feat(plugins-soniox): surface per-run language segments end-to-end by @MSameerAbbas in #5730
- use stt timestamps as last speaking time by @chenghao-mou in #5672
- docs: fix Gemini model version in avatar example README by @detail-app[bot] in #5842
- handle leaked chat-template tokens in function call args by @davidzhao in #5840
- fix(voice): restrict stt pipeline reuse to default stt_node by @longcw in #5803
- feat(google): integration for AI Platform LLMs by @davidzhao in #5843
- fix: return function argument errors (ToolError) to LLM by @davidzhao in #5846
- refactor(llm): unified ToolError contract for tool arg validation by @longcw in #5807
- feat(openai): stream input_audio_transcription delta events by @longcw in #5859
- fix(voice): block on_user_turn_exceeded during agent handoff by @longcw in #5858
- fix(voice): reset user turn tracker on clear_user_turn by @longcw in #5857
- fix(elevenlabs): always close TTS stream context on cancellation by @longcw in #5845
- Update download-files deprecation message by @bcherry in #5781
- fix(llm): preserve Field() constraints on function tool arguments by @theomonnom in #5861
- fix(soniox): surface STT server errors by @he-yufeng in #5864
- Fix ElevenLabs websocket context id handling by @flynn-hamming in #5813
- livekit-agents@1.5.14 by @github-actions[bot] in #5870
New Contributors
- @Gnani-AI-Mintlify made their first contribution in #5769
- @he-yufeng made their first contribution in #5820
- @hashirventhodi made their first contribution in #5830
- @scosemicolon made their first contribution in #5822
- @flynn-hamming made their first contribution in #5813
Full Changelog: https://github.com/livekit/agents/compare/livekit-agents@1.5.12...livekit-agents@1.5.14