Releases: AgoraIO/agora-agents-python
Releases · AgoraIO/agora-agents-python
Release list
v1.3.0
Added
AgentSession— Addedget_turns()for turn analytics in both sync and async sessions.Agent/AgentSession— Added session-levelpresetandpipeline_idsupport, including preset normalization and automatic inference for supported reseller-backed models.AgentKit— Added preset constants and helper utilities for discoverable preset usage.AgentKit— Added missing public vendor surface forGeminiLive,LiveAvatarAvatar, andAnamAvatar.- Tests — Added AgentKit parity and vendor regression coverage for presets, session behavior, and wrapper mappings.
Changed
OpenAI/OpenAITTS/MiniMaxTTS— Relaxed no-key preset paths so reseller-backed usage can be expressed without forcing credential fields.GeminiLive— Aligned wrapper output with the Agora low-level MLLM contract and keptmessagesat the top level.Avatarwrappers — Updated avatar handling forLiveAvatarandAnam, including sample-rate validation behavior.
Fixed
AgentKitMLLM — Removed unsupported wrapper-only fields so the Python surface stays aligned with the generated Agora API contract.pydantic_utilities— Updated Pydantic compatibility handling for Python 3.14-safe operation.- Mypy/test packaging — Added explicit test package markers to avoid duplicate module resolution during type checking.
v1.2.0
Fixed
AresSTT— Removed redundantlanguagekey from theparamsdict. Language is now emitted only at the top level.paramsis only included whenadditional_paramsis provided.OpenAIRealtime/VertexAI(MLLM) — Agent-levelgreeting,failure_message, andmax_historyoverrides are now correctly applied when the agent is in MLLM mode. Previously these values were silently dropped.VertexAI(MLLM) —messagesis now correctly placed insideparams(required by the Gemini Live API). Previously it was emitted at the top level and silently ignored.
Changed
OpenAITTS— Renamed constructor parameterkey→api_keyto match the Agora server API expectation.⚠️ Breaking change.CartesiaTTS— Renamed constructor parameterkey→api_key. Voice is now serialized as{"mode": "id", "id": "<voice_id>"}instead of a flatvoice_idstring.⚠️ Breaking change.HeyGenAvatar— Removed legacy fieldsavatar_name,voice_id,language,version. Addedagora_token,avatar_id,enable,disable_idle_timeout,activity_idle_timeout. The config now includes a top-levelenablefield (defaultstrue).⚠️ Breaking change.
Added
OpenAITTS— New optional parameters:response_format(str, e.g."pcm") andspeed(float).CartesiaTTS—voice_iduser-facing field is preserved; voice is serialized to the required nested object format automatically.RimeTTS— New optional parameters:lang(str),sampling_rate(int, serialized assamplingRate),speed_alpha(float, serialized asspeedAlpha).OpenAIRealtime— New optional parameters:predefined_tools(List[str]),failure_message(str),max_history(int).VertexAI(MLLM) — New optional parameters:predefined_tools(List[str]),failure_message(str),max_history(int).HeyGenAvatar— New fields:agora_token(str, optional),avatar_id(str, optional),enable(bool, optional, defaultTrue),disable_idle_timeout(bool, optional),activity_idle_timeout(int, optional).
1.1.0
[v1.1.0] — 2026-03-17
Added
MurfTTSvendor
Fixed
MiniMaxTTS: added requiredgroup_id,url, and correctly nestedvoice_setting.voice_id— previously missing, requiring users to bypass the SDK entirelySarvamTTS: corrected schema tokey+speaker+target_language_code(was incorrectly usingapi_key,voice_id,model)- All LLM vendors: added
max_historyfield for conversation history caching AzureOpenAILLM: addedparamsescape hatch for passing arbitrary API parametersAnthropicLLM: addedurlfor custom endpoints andparamsescape hatchGeminiLLM: addedurlfor custom endpoints andparamsescape hatch; named model params (temperature,top_p,top_k,max_output_tokens) now take precedence overparamsdictSpeechmaticsSTT,SarvamSTT: added optionalmodelfield
1.0.0
[v1.0.0] — 2026-03-11
Initial stable release of the Agora Agent Server SDK for Python.
Added
Agentbuilder with fluent API (.with_llm(),.with_tts(),.with_stt(),.with_mllm(),.with_avatar())AgentSessionandAsyncAgentSessionfor synchronous and async session lifecycle management- Automatic token generation — pass
app_id+app_certificateand tokens are handled internally - Token utilities:
generate_rtc_token,generate_convo_ai_token,expires_in_hours,expires_in_minutes - Turn detection configuration via
TurnDetectionConfigwith nestedStartOfSpeechConfigandEndOfSpeechConfig - SAL (Selective Attention Locking) via
SalConfigwithSalMode - Filler words support:
FillerWordsConfig,FillerWordsTrigger,FillerWordsContent - Session parameters:
SessionParams,SilenceConfig,FarewellConfig,ParametersDataChannel - Geofencing via
GeofenceConfig - Advanced features (MLLM mode) via
AdvancedFeatures - Type-safe constants:
DataChannel,SilenceActionValues,SalModeValues,GeofenceArea,FillerWordsSelectionRule,TurnDetectionTypeValues - Vendor integrations:
- LLM:
OpenAI,AzureOpenAI,Anthropic,Gemini,VertexAI - MLLM:
OpenAIRealtime - TTS:
ElevenLabsTTS,MicrosoftTTS,OpenAITTS,CartesiaTTS,GoogleTTS,AmazonTTS,HumeAITTS,RimeTTS,FishAudioTTS,MiniMaxTTS,SarvamTTS - STT:
DeepgramSTT,MicrosoftSTT,OpenAISTT,GoogleSTT,AmazonSTT,AssemblyAISTT,AresSTT,SarvamSTT,SpeechmaticsSTT - Avatar:
HeyGenAvatar,AkoolAvatar
- LLM: