livekit-agents@1.5.2

livekit/agentslivekit-agents@1.5.2Apr 8, 2026by theomonnom

AI Summary

This patch release focuses on upgrading AI provider SDKs, adding new model support like Gemini 3.1, and enhancing observability tools.

Key Highlights

  • Mistral AI SDK upgraded to v2
  • Baseten TTS plugin gains WebSocket streaming support
  • Google Realtime support added for the gemini-3.1-flash-live-preview model
  • Anthropic support for strict tool use schemas
  • Enhanced OTEL metrics for latency and usage

New Features

  • AsyncToolset implementation
  • Voxtral TTS support with ref_audio for zero-shot cloning
  • Phonic min_words_to_interrupt option
  • OpenAI per-response tool_choice in realtime sessions
  • Answering machine detection
  • Sarvam LLM integration

Full Release Notes

> [!NOTE]  
> **livekit-agents 1.5 introduced many new features. You can check out the changelog [here](https://github.com/livekit/agents/releases/tag/livekit-agents%401.5.0).**

## What's Changed
* Update Phonic `generate_reply` timeout to 10 seconds by @qionghuang6 in https://github.com/livekit/agents/pull/5205
* fix: pass prometheus_multiproc_dir in from_server_options initialization by @ivanbalingit in https://github.com/livekit/agents/pull/5195
* feat(mistralai): upgrade to SDK v2 by @Pauldevillers in https://github.com/livekit/agents/pull/5163
* (deepgram sttv2): validate eager_eot_threshold value by @tinalenguyen in https://github.com/livekit/agents/pull/5216
* Add WebSocket streaming support to Baseten TTS plugin by @iancarrasco-b10 in https://github.com/livekit/agents/pull/4741
* fix: allow codec format specification via the user for Sarvam TTS by @pUrGe12 in https://github.com/livekit/agents/pull/5209
* emit agent handoff from conversation_item_added by @tinalenguyen in https://github.com/livekit/agents/pull/5218
* fix(llm): surface validation error details to LLM on function call argument failures by @Lyt060814 in https://github.com/livekit/agents/pull/5193
* fix(cli): update log level width in console mode by @chenghao-mou in https://github.com/livekit/agents/pull/5224
* fix(utils): preserve type annotations in deprecate_params by @longcw in https://github.com/livekit/agents/pull/5200
* fix(test): replace oai with deepgram and fix broken tests by @chenghao-mou in https://github.com/livekit/agents/pull/5225
* feat(voice): reuse STT connection across agent handoffs by @longcw in https://github.com/livekit/agents/pull/5093
* feat(google): add VertexRAGRetrieval provider tool by @youpesh in https://github.com/livekit/agents/pull/5222
* fix: ensure MCP client enter/exit run in the same task by @longcw in https://github.com/livekit/agents/pull/5223
* feat(assemblyai): add domain parameter for Medical Mode by @m-ods in https://github.com/livekit/agents/pull/5208
* fix: Nova Sonic interactive context bugs and dynamic tool support by @prettyprettyprettygood in https://github.com/livekit/agents/pull/5220
* (google realtime): add gemini-3.1-flash-live-preview model by @tinalenguyen in https://github.com/livekit/agents/pull/5233
* fix(utils): improve type annotation for deprecate_params decorator by @longcw in https://github.com/livekit/agents/pull/5244
* fix: expose endpointing_opts in AgentSession.update_options() by @longcw in https://github.com/livekit/agents/pull/5243
* Fix/stt fallback adapter propagate aligned transcript by @miladmnasr in https://github.com/livekit/agents/pull/5237
* feat(mistral): add voxtral TTS support by @jeanprbt in https://github.com/livekit/agents/pull/5245
* feat(anthropic): support strict tool use schema by @roshan-shaik-ml in https://github.com/livekit/agents/pull/5259
* Baseten Plugin Update: fix metadata schema, add chain_id support, and improve response parsing by @jiegong-fde in https://github.com/livekit/agents/pull/4889
* feat(upliftai): add support for phrase replacement config id by @zaidqureshi2 in https://github.com/livekit/agents/pull/5261
* feat(soniox): expose max_endpoint_delay_ms option by @pstrav in https://github.com/livekit/agents/pull/5214
* fix: prevent TTS retry after partial audio and replay input on retry by @longcw in https://github.com/livekit/agents/pull/5242
* fix: only start session host when it's primary session by @longcw in https://github.com/livekit/agents/pull/5241
* fix: prevent CancelledError from propagating to unrelated Tee peers by @longcw in https://github.com/livekit/agents/pull/5273
* fix: prevent AttributeError in ThreadJobExecutor.logging_extra() by @longcw in https://github.com/livekit/agents/pull/5277
* fix(openai): close current generation channels on realtime reconnect by @longcw in https://github.com/livekit/agents/pull/5276
* fix(recorder): guard against empty agent speech frames by @chenghao-mou in https://github.com/livekit/agents/pull/5279
* fix(stt): reset VAD when STT sends EOT by @chenghao-mou in https://github.com/livekit/agents/pull/5095
* feat(anam): add avatarModel config support by @sr-anam in https://github.com/livekit/agents/pull/5272
* fix: catch TimeoutError from drain() so aclose() always runs by @seglo in https://github.com/livekit/agents/pull/5282
* (gemini-3.1-flash-live-preview): add warning for generate_reply by @tinalenguyen in https://github.com/livekit/agents/pull/5286
* feat(mistralai): add ref_audio support to Voxtral TTS for zero-shot voice cloning by @EtienneLescot in https://github.com/livekit/agents/pull/5278
* fix(core): reset user state to listening when audio is disabled by @chenghao-mou in https://github.com/livekit/agents/pull/5198
* append generate_reply instructions as system msg and convert it to user msg if unsupported by @longcw in https://github.com/livekit/agents/pull/5287
* add AsyncToolset by @longcw in https://github.com/livekit/agents/pull/5127
* fix(core): fix BackgroundAudioPlayer.play() hanging indefinitely by @theomonnom in https://github.com/livekit/agents/pull/5299
* fix(cli): prevent api_key/api_secret from leaking in tracebacks by @theomonnom in https://github.com/livekit/agents/pull/5300
* (phonic) Update languages fields by @qionghuang6 in https://github.com/livekit/agents/pull/5285
* fix(core): reduce TTS output buffering latency by @theomonnom in https://github.com/livekit/agents/pull/5292
* add session_end_timeout and gracefully cancel entrypoint on shutdown by @theomonnom in https://github.com/livekit/agents/pull/4580
* feat: OTEL metrics for latencies, usage, and connection timing by @theomonnom in https://github.com/livekit/agents/pull/4891
* evals: custom judges, tag metadata, and OTEL improvements by @theomonnom in https://github.com/livekit/agents/pull/5306
* fix is_context_type for generic RunContext types by @theomonnom in https://github.com/livekit/agents/pull/5307
* add 7-day uv cooldown by @chenghao-mou in https://github.com/livekit/agents/pull/5290
* fix(openai realtime): support per-response tool_choice in realtime sessions by @longcw in https://github.com/livekit/agents/pull/5211
* use delta aggregation temporality for otel metrics by @paulwe in https://github.com/livekit/agents/pull/5314
* (phonic) Add `min_words_to_interrupt` to Phonic plugin options by @qionghuang6 in https://github.com/livekit/agents/pull/5304
* add tag field to evaluation OTEL log records by @theomonnom in https://github.com/livekit/agents/pull/5315
* docs: add example agent replies to AsyncToolset by @longcw in https://github.com/livekit/agents/pull/5313
* fix(cartesia): handle flush_done message in TTS _recv_task by @Panmax in https://github.com/livekit/agents/pull/5321
* fix(voice): make function call history preservation configurable in AgentTask by @GopalGB in https://github.com/livekit/agents/pull/5288
* fix: convert oneOf to anyOf in strict schema for discriminated unions by @longcw in https://github.com/livekit/agents/pull/5324
* (gemini realtime): add warnings in update_chat_ctx and update_instructions by @tinalenguyen in https://github.com/livekit/agents/pull/5332
* fix: wait_for_participant waits until participant is fully active by @davidzhao in https://github.com/livekit/agents/pull/5271
* feat: answering machine detection by @chenghao-mou in https://github.com/livekit/agents/pull/4906
* feat: expose service_tier in CompletionUsage from OpenAI Responses API by @piyush-gambhir in https://github.com/livekit/agents/pull/5341
* fix: add PARTICIPANT_KIND_CONNECTOR to default participant kinds by @anunaym14 in https://github.com/livekit/agents/pull/5339
* feat/sarvam-llm-openai-compatible-integration by @dhruvladia-sarvam in https://github.com/livekit/agents/pull/5069
* feat(azure-stt): Possibility to change segmentation options during a call by @rafallezanko in https://github.com/livekit/agents/pull/5323
* fix(sarvam): sync missing API params, fix value ranges, and update models by @Namit1867 in https://github.com/livekit/agents/pull/5347
* (xai tts): update fields and ws setup by @tinalenguyen in https://github.com/livekit/agents/pull/5350
* fix(smallestai): add lightning-v3.1 endpoint routing by @sg-siddhant in https://github.com/livekit/agents/pull/5330
* feat(inference): add debug/identification headers to inference requests by @adrian-cowham in https://github.com/livekit/agents/pull/5337
* Move community plugins to livekit-plugins/community/ by @theomonnom in https://github.com/livekit/agents/pull/5250
* feat: support per-response tools in generate_reply by @longcw in https://github.com/livekit/agents/pull/5310
* fix xAI realtime update chat ctx by @longcw in https://github.com/livekit/agents/pull/5320
* Fix RoomIO teardown listener cleanup by @sindarknave in https://github.com/livekit/agents/pull/5357
* feat(mistral): support voxtral realtime streaming stt & modernize mistral plugin by @jeanprbt in https://github.com/livekit/agents/pull/5289
* fix: say() with missing audio file hangs forever and blocks speech queue by @theomonnom in https://github.com/livekit/agents/pull/5358
* add prompt_cache_retention chat completion option to inference by @s-hamdananwar in https://github.com/livekit/agents/pull/5370
* Add Murf as optional dep by @royalfig in https://github.com/livekit/agents/pull/5334
* feat(core): Support multiple provider keys in extra_content serialization by @adrian-cowham in https://github.com/livekit/agents/pull/5374
* ci: add PyPI publish workflow with trusted publishing by @theomonnom in https://github.com/livekit/agents/pull/5379
* feat: Add D-ID avatar plugin by @osimhi213 in https://github.com/livekit/agents/pull/5232
* ci: fix tag checkout and discover glob by @theomonnom in https://github.com/livekit/agents/pull/5381
* feat(rime): add mistv3 model support by @mcullan in https://github.com/livekit/agents/pull/5298
* ci: fix update_versions.py invocation by @theomonnom in https://github.com/livekit/agents/pull/5382
* ci: remove release label from publish workflow by @theomonnom in https://github.com/livekit/agents/pull/5384
* require livekit-protocol>=1.1.5, implement get_framework_info by @theomonnom in https://github.com/livekit/agents/pull/5385
* ci: fix build permissions and tag format by @theomonnom in https://github.com/livekit/agents/pull/5386
* ci: fix version read in publish workflow by @theomonnom in https://github.com/livekit/agents/pull/5388
* ci: use livekit-agents@version for release PR title by @theomonnom in https://github.com/livekit/agents/pull/5390
* fix: minimax optional dep not bumped by update_versions.py by @theomonnom in https://github.com/livekit/agents/pull/5392
* livekit-agents@1.5.2 by @github-actions[bot] in https://github.com/livekit/agents/pull/5391

## New Contributors
* @ivanbalingit made their first contribution in https://github.com/livekit/agents/pull/5195
* @Pauldevillers made their first contribution in https://github.com/livekit/agents/pull/5163
* @iancarrasco-b10 made their first contribution in https://github.com/livekit/agents/pull/4741
* @pUrGe12 made their first contribution in https://github.com/livekit/agents/pull/5209
* @Lyt060814 made their first contribution in https://github.com/livekit/agents/pull/5193
* @youpesh made their first contribution in https://github.com/livekit/agents/pull/5222
* @m-ods made their first contribution in https://github.com/livekit/agents/pull/5208
* @prettyprettyprettygood made their first contribution in https://github.com/livekit/agents/pull/5220
* @miladmnasr made their first contribution in https://github.com/livekit/agents/pull/5237
* @jeanprbt made their first contribution in https://github.com/livekit/agents/pull/5245
* @roshan-shaik-ml made their first contribution in https://github.com/livekit/agents/pull/5259
* @jiegong-fde made their first contribution in https://github.com/livekit/agents/pull/4889
* @pstrav made their first contribution in https://github.com/livekit/agents/pull/5214
* @sr-anam made their first contribution in https://github.com/livekit/agents/pull/5272
* @seglo made their first contribution in https://github.com/livekit/agents/pull/5282
* @EtienneLescot made their first contribution in https://github.com/livekit/agents/pull/5278
* @GopalGB made their first contribution in https://github.com/livekit/agents/pull/5288
* @piyush-gambhir made their first contribution in https://github.com/livekit/agents/pull/5341
* @anunaym14 made their first contribution in https://github.com/livekit/agents/pull/5339
* @Namit1867 made their first contribution in https://github.com/livekit/agents/pull/5347
* @sg-siddhant made their first contribution in https://github.com/livekit/agents/pull/5330
* @sindarknave made their first contribution in https://github.com/livekit/agents/pull/5357
* @royalfig made their first contribution in https://github.com/livekit/agents/pull/5334
* @osimhi213 made their first contribution in https://github.com/livekit/agents/pull/5232
* @mcullan made their first contribution in https://github.com/livekit/agents/pull/5298

**Full Changelog**: https://github.com/livekit/agents/compare/livekit-agents@1.5.1...livekit-agents@1.5.2