SDK releases: JavaScript SDK v2.68.0 - Added methods to upload and delete agent hold audio
By Steven Van ·
The release also updates the Python, iOS and CLI SDKs, and fixes duplicate replies in the ElevenLabs widget packages.
ElevenLabs SDKs now support uploading and deleting custom hold audio for ElevenLabs agents, so callers queued at an agent's concurrency limit hear a custom clip instead of the default tone while they wait. The changelog also covers a batch of other SDK updates.
- JavaScript and Python SDKs (v2.68.0) add methods to upload and delete agent hold audio, and regenerate types for call queueing, draft branch creation, RAG query limits, test version metadata, the gemini-3.8-flash model and the music_v2_5 model.
- The Python SDK's compose_detailed wrapper now accepts every generated music model ID and both prompt- and chunk-based composition plans.
- iOS SDK v3.3.1 reconciles agent messages by response_id instead of event_id, preserving multiple responses around tool calls so streamed parts or corrections no longer attach to the wrong message.
- ElevenLabs CLI v1.3.0 adds optional --intent metadata to generated API commands (with an ELEVENLABS_AGENT_INTENT default) and a new elevenlabs feedback missing-capability command for reporting unsupported workflows.
- The convai-widget-core and convai-widget-embed packages (v0.18.2) fix duplicate agent replies after tool and procedure calls, keep Markdown formatting in streamed text replies, stop rendering unspoken streamed chat parts in voice conversations, and limit user_activity events to once per second.

ElevenLabs
AI audio platform for text to speech, voice cloning, and video dubbing across dozens of languages while preserving the original tone and emotion.
View ElevenLabs →