What's Changed
- chore: refine pii review instructions by @chenghao-mou in #7267
- bithuman: resolve the SDK on Python 3.10 and 3.14 again by @theomonnom in #7280
- add pid to log lines from parent process by @andrewnitu in #7290
- fix(tts): forward inner frames as-is in FallbackAdapter and StreamAdapter by @theomonnom in #7273
- bithuman: type-check against bithuman 2.11 by @longcw in #7301
- docs: add gemini-3.8-live models to google README model list by @detail-app[bot] in #7311
- stt: reset the retry budget once an attempt outlived the connect timeout by @u9g in #7275
- fix(liveavatar): honor agent.state_updated for speaking and barge-in by @cpruijsen in #7245
- feat(elevenlabs): make realtime STT audio chunk duration configurable by @stevensukma in #7183
- fix(liveavatar): register the plugin, interruption fix by @tinalenguyen in #7313
- fix(google): send FunctionTool schemas as parameters_json_schema on the text API by @JustinScitech in #7312
- fix(mistralai): standardize API error handling by @jeanprbt in #7308
- fix: preserve configured elevenlabs stt language by @chenghao-mou in #7306
- fix: report realtime transcription usage per session by @chenghao-mou in #7303
- fix: initialize the otel example provider once per process by @chenghao-mou in #7171
- worker: read agent name from livekit.toml as last fallback by @u9g in #7295
- (meta muse stt): set heartbeat for the websocket by @tinalenguyen in #7315
- fix(anam): retry retryable HTTP status failures when starting a session by @tinalenguyen in #7314
- fix(voice): shield transcript rotation from cancellation by @DeepanshuPal in #7300
- fix: don't let a parallel tool cancel an agent handoff by @simllll in #7321
- fix(google): default tool_behavior to NON_BLOCKING on Gemini 3.8 Live by @longcw in #7329
- feat(openai): add GPTLiveModel.with_azure for Azure OpenAI by @acharan-tech-200037 in #7325
- fix: pair tool outputs with their call by call_id when copying a chat context by @longcw in #7330
- Move OpenAI Realtime inference client into agents core by @russellmartin-livekit in #7318
- fix(voice): report the error that stops a filler by @longcw in #7334
- feat: support reply_required in tool results by @chenghao-mou in #7340
- feat(assemblyai): surface language_confidence on transcript metadata by @dlange-aai in #7339
- feat(inference): add assemblyai/universal-3-6-pro to STT model types by @dlange-aai in #7347
- [Inference] Support realtime model literals by @keepingitneil in #7344
- fix(voice): honor the dict form of the deprecated preemptive_generation kwarg by @JustinScitech in #7348
- fix(voice): clamp the user_speaking span end to its start by @longcw in #7332
- docs: fix LICENSE links in gnani plugin README by @yetuge in #7350
- fix(liveavatar): use the job's shared http session instead of an unclosed private one by @Rehansanjay in #7341
- fix(respeecher): invalidate the pool on model change instead of retiring it by @Rehansanjay in #7237
- fix(google): drop unsupported JSON Schema keywords before validating by @feiiiiii5 in #7353
- fix(tokenize): keep dotted numbers in one sentence by @sxh313 in #7362
- telemetry: session_close covers the whole close by @davidzhao in #7322
- fix(ipc): ThreadJobExecutor.aclose() hangs when the runner exits before its ack is read by @pabloFuente in #7225
- fix(google): report a bad tool schema instead of ending the session in silence by @longcw in #7371
- examples(homepage): disconnect scripted callers on a known opening line by @ShayneP in #7297
- fix(google): keep declared property order in Live API tool schemas by @rosetta-livekit-bot[bot] in #7387
- fix(sarvam): drop orphan tool history when a turn declares no tools by @dhruvladia-sarvam in #7382
- fix(xai): detect a silently dropped STT socket instead of hanging by @sidxh in #7364
- plugins/bithuman: let a session name the second-generation models by @sgu-bithuman in #7366
- fix(soniox): detect a silently dropped STT socket instead of hanging by @sidxh in #7357
- fix(simplismart): detect a silently dropped STT socket instead of hanging by @sidxh in #7369
- fix(telnyx): detect a silently dropped STT socket instead of hanging by @sidxh in #7359
- feat(phonic): add phonic_model option to select the phonic model version by @arunwpm-work in #7393
- fix: unwrap tool results in terminal events by @chenghao-mou in #7377
- fix: stop classifying llm fallback adapters as chat by @chenghao-mou in #7373
- docs: fix 404 LiveKit docs link for multi-agent handoff by @5quan in #7397
- feat(mistralai): add chat completions API mode by @leamoukarzel in #7381
- test: freeze the clock in the transcription_delay anchor regression test by @u9g in #7398
- gpt live service tier by @tinalenguyen in #7401
- fix(deepgram): include word confidence for stt v1 alternatives by @Snowfly0709 in #7181
- fix(core): preserve PCM samples across mid-stream flushes by @naszzz in #7391
- fix(plugins/bithuman): drop the undeclared OpenCV import by @sgu-bithuman in #7406
- fix: honor empty strings in word replacements by @YaoxinHuang in #7407
- fix(aws): fall back to auto tool_choice for Claude Opus 5.5 on Bedrock by @kimnamu in #7411
- fix: preserve fallback provider attribution on llm node spans by @chenghao-mou in #7374
- fix: record exceptions consistently in the shared tracer by @chenghao-mou in #7376
- fix: preserve custom span metadata inside jobs by @chenghao-mou in #7428
- feat(workflows): add verify_spelling to GetEmailTask by @tinalenguyen in #7402
- (google tts): add new gemini-3.8 models and add to expressive mode by @tinalenguyen in #7425
- feat: reset the user away timer on DTMF input by @chenghao-mou in #7395
- livekit-agents@1.8.3 by @github-actions[bot] in #7429
New Contributors
- @cpruijsen made their first contribution in #7245
- @stevensukma made their first contribution in #7183
- @JustinScitech made their first contribution in #7312
- @DeepanshuPal made their first contribution in #7300
- @simllll made their first contribution in #7321
- @acharan-tech-200037 made their first contribution in #7325
- @yetuge made their first contribution in #7350
- @feiiiiii5 made their first contribution in #7353
- @sxh313 made their first contribution in #7362
- @sidxh made their first contribution in #7364
- @5quan made their first contribution in #7397
- @leamoukarzel made their first contribution in #7381
- @Snowfly0709 made their first contribution in #7181
- @YaoxinHuang made their first contribution in #7407
- @kimnamu made their first contribution in #7411
Full Changelog: https://github.com/livekit/agents/compare/livekit-agents@1.8.2...livekit-agents@1.8.3