What's Changed
- Pass through additional params to LemonSlice when using the LemonSlice Avatar by @jp-lemon in #4984
- fix(anthropic): add dummy user message for Claude 4.6+ trailing assistant turns by @giulio-leone in #4973
- (keyframe): remove whitespace from py.typed by @tinalenguyen in #4990
- Add Phonic Plugin to LiveKit agents by @qionghuang6 in #4980
- Fixed E2EE encryption of content in data tracks by @zelidrag-arbo in #4992
- fix: resync tool context when tools are mutated inside llm_node by @longcw in #4994
- [🤖 readme-manager] Update README by @ladvoc in #4996
- fix(google): prevent function_call text from leaking to TTS output by @BkSouX in #4999
- (openai responses): add websocket connection pool by @tinalenguyen in #4985
- (openai tts): close openai client by @tinalenguyen in #5012
- nvidia stt: add speaker diarization support by @longcw in #4997
- update error message when TTS is not set by @longcw in #4998
- initialize interval future in init by @tinalenguyen in #5013
- Fix/elevenlabs update default voice non expiring by @yusuf-eren in #5010
- [Inworld] Flush to drain decoder on every audio chunk from server by @ianbbqzy in #4983
- (google): support passing credentials through realtime and llm by @tinalenguyen in #5015
- use default voice accessible to free tier users by @tmshapland in #5020
- make commit_user_turn() return a Future with the audio transcript by @longcw in #5019
- Add GPT-5.4 to OpenAI plugin by @Topherhindman in #5022
- Generate and upload markdown docs by @Topherhindman in #4993
- Add GPT-5.4 and GPT-5.3 Chat Latest support by @Topherhindman in #5030
- Improve Audio Generation Quality for Cartesia TTS Plugin by @tycartesia in #5032
- fix(elevenlabs): handle empty words in _to_timed_words by @MonkeyLeeT in #5036
- fix(deepgram): include word confidence for stt v2 alternatives by @inickt in #5034
- fix: generate final LLM response when max_tool_steps is reached by @IanSteno in #4747
- fix: guard against negative sleep duration in voice agent scheduling by @jnMetaCode in #5040
- add modality-aware Instructions with audio/text variants by @longcw in #4987
- fix(core): move callbacks to the caller by @chenghao-mou in #5039
- Added raw logging of API errors via the LiveKit plugins for both STT and TTS. by @dhruvladia-sarvam in #5025
- Log LemonSlice API error + new agent_idle_prompt arg by @jp-lemon in #5052
- Sarvam v3 tts addns by @dhruvladia-sarvam in #4976
- fix(google): avoid session restart on update_instructions, use mid-session client content by @D-zigi in #5049
- (responses llm): override provider property and set use_websocket to False for wrappers by @tinalenguyen in #5055
- feat(mcp): add MCPToolResultResolver callback for customizing tool call results by @longcw in #5046
- docs: add development instructions to README and example READMEs by @bcherry in #2636
- Improve plugin READMEs with installation, pre-requisites, and docs links by @bcherry in #3025
- Add
generate_replyandupdate_chat_ctxsupport to Phonic Plugin by @qionghuang6 in #5058 - feat: enhance worker load management with reserved slots and effective load calculation by @ProblematicToucan in #4911
- fix(core): render error message with full details in traceback by @chenghao-mou in #5047
- feat(core): allow skip_reply when calling commit_user_turn by @chenghao-mou in #5066
- fix(mcp): replace deprecated streamablehttp_client with streamable_http_client by @longcw in #5048
- fix: disable aec warmup timer when audio is disabled by @longcw in #5065
- feat(openai): add transcript_confidence from OpenAI realtime logprobs by @theomonnom in #5070
- Enhance LK Inference STT and TTS options with new parameters and models by @russellmartin-livekit in #4949
- Move Instructions to beta exports by @theomonnom in #5075
- livekit-agents 1.4.5 by @theomonnom in #5076
New Contributors
- @giulio-leone made their first contribution in #4973
- @qionghuang6 made their first contribution in #4980
- @zelidrag-arbo made their first contribution in #4992
- @tmshapland made their first contribution in #5020
- @tycartesia made their first contribution in #5032
- @inickt made their first contribution in #5034
- @jnMetaCode made their first contribution in #5040
- @D-zigi made their first contribution in #5049
- @ProblematicToucan made their first contribution in #4911
Full Changelog: https://github.com/livekit/agents/compare/livekit-agents@1.4.4...livekit-agents@1.4.5