Releases Index

Client SDK JS

$npx @buildinternet/releases get livekit-client-sdk-js
Mon
Wed
Fri
OctNovDecJanFebMarAprMayJunJulAugSepOct
Less
More
Releases8Avg2/moVersionsv2.20.2 to v2.23.0
v2.23.0

Web audio graphs and audio contexts the SDK created are now released after room.disconnect() instead of accumulating over mute/unmute cycles, fixing a false AudioSilenceDetected on autoplay-blocked pages. Fixed E2EE H.264/H.265 decryption for encoders emitting 3-byte Annex B start codes, and encrypting h264 frames from the correct offset when an SEI or AUD NALU precedes the slice.

Read more ↗
v2.22.4

Document Picture-in-Picture detection now requires an element to live in the PiP window's document or a nested frame, so elements positioned inside the PiP bounds are no longer misreported as in PiP and counted visible while scrolled out of view. Clients rejected with a 403 on RTC paths now retry against other LiveKit Cloud regions instead of failing to connect, and a duplicated server answer with the same offerId is ignored rather than applied twice.

Read more ↗
v2.22.3

Simulcast is now supported for SVC codecs (VP9/AV1), and a fix prevents the mid-track map from being reset when a publisher answers with an empty map. Also added code 1000 to the WebSocketStream onclose handler and forwarded worker logs to the main thread.

Read more ↗
v2.22.2

Fixed a bug where the subscriber silently buffered remote ICE candidates after a reconnect, leaving it unable to adopt new network paths the server proposed. Also tracks websocket close by attemptId, flushes buffered events on signal reconnection, and errors on datastreams with missing chunks.

Read more ↗
v2.22.1

The ParticipantDisconnected event now carries the DisconnectReason, and supportsAdaptiveStream correctly returns false in environments lacking ResizeObserver or IntersectionObserver. Also added a roomOptions.dataStream.maxPayloadByteLength option and fixed signal request queueing.

Read more ↗
v2.20.2

Fixed the reliable data channel dying under concurrent writes by adding two-watermark flow control and a per-kind sender lock. Attached audio elements now stay muted in startAudio() when webAudioMix is enabled, preventing double playback on iOS Safari. Also removes stale data track subscriber handles and handles data track SID reassignment.

Read more ↗
v2.20.1

The NonSharedUint8Array type polyfill is now exported and included in published type declarations, fixing "Cannot find name" errors under skipLibCheck: false and unblocking downstream packages like @livekit/components-*. Added support for user_data frame metadata trailer type and conformed placeholder sections to canonical fmtp for shared payloads.

Read more ↗
v2.20.0

Renamed PacketTrailer to FrameMetadata. Fixed a data channel close race condition and enforced the SDP-defined maxMessageSize on data packets sent via publishData. Added restrictOwnAudio experimental param to AudioCaptureOptions and deployment option to TokenSourceFetch.

Read more ↗
v2.19.1

Fixed a memory leak where the devicechange listener registered on navigator.mediaDevices was not removed when a Room was constructed but never connected, preventing the instance from being garbage-collected. Also disabled publisher offer with join in Firefox and ensured client protocol is set in dual peer connection scenarios.

Read more ↗
Last Checked
3h ago
Latest
v2.23.0
Tracking since Feb 2, 2024