Skip to content

Changelog

What shipped

Changes that affect what you can build. Infrastructure work that nobody outside can observe is left out.

  1. Correct speech and transcripts in non-Latin scripts

    Replies in Arabic and other scripts whose tokens carry no leading space are no longer broken apart, in both the transcript and the spoken audio.

    • Streamed model output is reassembled exactly as the model produced it. Words in Arabic, and in any script whose tokenizer does not put a space on each token, previously arrived split at every token boundary — visible in the transcript and audible in the voice, because speech synthesis received the same broken text.
    • A repeated token is no longer dropped, which had been deleting real characters from replies in those languages.
  2. Bring your own ElevenLabs voice

    Connect an ElevenLabs key to a workspace and point an agent version at it, with the key sealed and never returned to anyone.

    • Voice provider connections: store an ElevenLabs key against your workspace, rotate it, or revoke it. The key is encrypted at rest and no API hands it back — an agent version references the connection, never the secret.
    • Preview a voice from the console before publishing, so you can hear a voice on your own text rather than guessing from a name.
    • A connection is re-checked when you publish or roll back a version, so a key revoked in the meantime cannot replace a working agent with one whose calls will not start.
    • Per-call speech usage is now metered, and the workspace usage view breaks it down by which key paid for it.
    • A failed turn now reports whether the cause was the provider or your own credential, instead of one generic error.
  3. Inbound telephony

    Agents can answer phone calls, alongside the existing WebRTC path from web and mobile SDKs.

    • Inbound phone calls reach an agent through the same published version, lease and concurrency limits as an SDK call.
  4. Pick the conversation language

    Pass a BCP-47 tag such as "ar" or "zh-CN" to pin the language, or leave it to follow whoever is speaking.

    • Clients can set the conversation language per session. A tag pins transcription, the model and the voice to that language; leaving it unset keeps the agent following the caller.
  5. Documentation and SDK landing pages

    A docs page covering all six SDKs, rewritten package READMEs, and an engineering blog.

    • Docs covering install lines for every SDK, the quickstart, the three-credential model, tool calling, and full event and error references.
    • An engineering blog, starting with notes on WebRTC audio and running an open TURN relay.

Hear it before you build on it

The demo is the real pipeline, not a recording. Talk to it, interrupt it, and decide from there.