github livekit/agents livekit-agents@1.8.3

4 hours ago

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

Full Changelog: https://github.com/livekit/agents/compare/livekit-agents@1.8.2...livekit-agents@1.8.3

Don't miss a new agents release

NewReleases is sending notifications on new releases.