What's Changed
- fix OTEL types by @theomonnom in #4164
- feat(background-audio): add several builtin audio clips by @rektdeckard in #4165
- fix gemini function tool parameter enum typing by @tinalenguyen in #4166
- use inference gateway in the readme by @theomonnom in #3665
- update warm transfer readme and extra instructions by @longcw in #4168
- terminate on
JobRequest.rejectby @theomonnom in #4172 - add terminate argument to JobRequest.reject by @theomonnom in #4173
- update documentation link for LiveAvatar by @tinalenguyen in #4178
- fix logging style format is not respected by @longcw in #4169
- fix _on_reject when no answer by @longcw in #4180
- expose elevenlabs TTS error message by @longcw in #4182
- fix(aws): Handle nested schema in Nova Sonic tool parameter extraction by @somoore in #4177
- Restore otel chat message by @chenghao-mou in #4118
- fix record.exc_info is not pickable when using LogQueueHandler by @longcw in #4185
- Feat/mistralai models update by @fabitokki in #4156
- feat(rime): expand update_options to accept all TTS parameters by @gokuljs in #4095
- Fallback API for Inference by @adrian-cowham in #4099
- Add LiveAvatar Stop Session API Call + README Fix by @tinalenguyen in #4195
- feat(google): add streaming support for Gemini TTS models by @plumber0 in #4189
- fix watchfiles prevent agent prcoess exit on sigterm by @longcw in #4194
- fix race condition when stop background audio play handle by @longcw in #4197
- Inference: Rename fallback model name param by @adrian-cowham in #4202
- fix inworld punctuation handling by @cshape in #4215
- ensure playback_segments_count is consistent in the audio output chain by @longcw in #4211
- clear _q_updated right after await to avoid race conditions by @longcw in #4209
- fix blocked send task in liveavatar plugin by @tinalenguyen in #4214
- feat(warm-transfer): add sip_number parameter for outbound caller ID by @Hormold in #4216
- add keep alive task for liveavatar plugin by @tinalenguyen in #4231
- turn-detector: remove english model from readme by @lwestn in #4233
- feature: GPT-5.2 support by @pushkar-nurix in #4235
- disable interruptions for agent greeting by @hiroshihorie in #4223
- AGT-2328: negative threshold in silero by @chenghao-mou in #4228
- fix: image token usage not being tracked for OpenAI realtime models by @GigaDroid in #4238
- check for type key in _ensure_strict_json_schema by @tinalenguyen in #4236
- fix(openai): migrate realtime STT to GA API by @Hormold in #4232
- fix(google): handle content blocking and generation failures by @davidzhao in #4249
- feat(google): update default realtime model to gemini-2.5 12-2025 by @davidzhao in #4248
- fix generate_reply timeout for gemini by @longcw in #4237
- fix: correct sample count calculation in AudioByteStream.flush() for multi-channel audio by @darshankparmar in #4245
- Fix AudioByteStream buffer slicing performance issue by @darshankparmar in #4247
- AGT-2317: wait for user silence before speaking by @chenghao-mou in #4102
- Add Proactive Session Recycling for Nova Sonic resume by @kachenjr in #4250
- feat(tts): Support dynamic base URL updates via update_options in Rime TTS plugin by @gokuljs in #4257
- Auto assign reviewer for internal PRs by @chenghao-mou in #4230
- fix(aws): set aws_credentials_identity_resolver as value instead of tuple by @davidzhao in #4259
- pybind fix path by @theomonnom in #4260
- blingfire: add version constraints for pybind by @jjmaldonis in #3913
- Revert "pybind fix path" by @theomonnom in #4261
- unnecessary pybind11 version constraints by @theomonnom in #4262
- fix team name typo by @theomonnom in #4266
- chore: add
nvidiaoptional dependency by @davidzhao in #4264 - livekit-blingfire 1.1.0 & add python 3.14 support by @theomonnom in #4265
- add interruption timeout to SpeechHandle by @longcw in #4218
- chore: skip summarize test when OpenAI API key is missing by @davidzhao in #4278
- catch client response error by @chenghao-mou in #4254
- fix gemini realtime generate_reply during response is playing by @longcw in #4273
- add pause support for ConsoleAudioOutput by @longcw in #4251
- xAI plugin by @tinalenguyen in #4284
New Contributors
- @somoore made their first contribution in #4177
- @plumber0 made their first contribution in #4189
- @pushkar-nurix made their first contribution in #4235
- @hiroshihorie made their first contribution in #4223
- @GigaDroid made their first contribution in #4238
- @darshankparmar made their first contribution in #4245
Full Changelog: https://github.com/livekit/agents/compare/livekit-agents@1.3.6...livekit-agents@1.3.7