What’s New

node-sdks

Developer Tools

node-sdks release notes.

Latest @livekit/rtc-node@0.13.32 · by node-sdksWebsitelivekit/node-sdks

Changelog

@livekit/rtc-node@0.13.32

Patch Changes
  • Close audio streams when their track is unsubscribed. An unsubscribed track never receives eos from the FFI, so any AudioStream attached to it kept delivering frames — after a reconnect that meant the stale stream and the new subscription's stream both delivered the publisher's audio. - #701 (@davidzhao)

  • bump FFI to 0.12.68 - #701 (@davidzhao)

livekit-server-sdk@2.17.0

Minor Changes
  • Add LiveKitAPI, a unified entry point that exposes every server API through a property (api.room, api.egress, api.ingress, api.sip, api.agentDispatch, api.connector). It can be constructed with an API key and secret, or with a pre-signed token (no secret required, so it can run client-side), and falls back to the LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET, and LIVEKIT_TOKEN environment variables. Individual clients also accept a token via ClientOptions. - #695 (@davidzhao)

  • Add SipCallError, a TwirpError subclass thrown by SipClient.createSipParticipant / transferSipParticipant when a call fails with a SIP status. It exposes the SIP response code and reason as sipStatusCode / sipStatus getters, while other error metadata remains available via metadata. - #695 (@davidzhao)

Patch Changes

@livekit/rtc-node@0.13.31

Patch Changes
  • Fix AudioSource.waitForPlayout resolving immediately with audio still queued. The internal playout promise could be left resolved ("latched") by the drain timer firing during a gap between captures, or by clearQueue()/pause; a later waitForPlayout() then consumed the stale resolution and reported playout complete ~queueSizeMs early, clipping the tail of agent speech on every turn in downstream consumers. The waiter is now discarded when released and lazily re-created on the next captureFrame, mirroring python-sdks. As part of this, waitForPlayout() now resolves immediately when no audio is queued instead of blocking until the next release. - #693 (@chenghao-mou)

livekit-server-sdk@2.15.3

Patch Changes
  • Bump @livekit/protocol to 1.45.6 and surface new fields on the agent dispatch and connector clients: - #657 (@anunaym14)

    • AgentDispatchClient.createDispatch: new restartPolicy option (cloud only)
    • ConnectorClient.dialWhatsAppCall / acceptWhatsAppCall: new ringingTimeout option (and waitUntilAnswered on accept)
    • ConnectorClient.disconnectWhatsAppCall: new optional disconnectReason parameter
    • Re-export JobRestartPolicy and DisconnectWhatsAppCallRequest_DisconnectReason
  • Add canManageAgentSession to VideoGrant - #661 (@theomonnom)