chore(deps): update dependency livekit-client to v2.22.3 - #49
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
October 14, 2025 18:53
46d6973 to
31fe30f
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
October 16, 2025 09:15
31fe30f to
528f96b
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
October 20, 2025 18:10
528f96b to
a7e25c4
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
October 21, 2025 18:57
a7e25c4 to
fc37e9a
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
October 28, 2025 16:02
fc37e9a to
36e4ff5
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
November 11, 2025 15:57
36e4ff5 to
6f975d0
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
November 15, 2025 02:42
6f975d0 to
7ba226f
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
November 19, 2025 09:55
7ba226f to
b824687
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
December 11, 2025 19:44
b824687 to
0581ee8
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
January 12, 2026 18:03
0581ee8 to
b2d48cb
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
March 12, 2026 18:55
6ea2199 to
2ee3a72
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
March 23, 2026 22:06
2ee3a72 to
efdb30d
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 2, 2026 18:12
efdb30d to
c8521f0
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 7, 2026 14:35
c8521f0 to
212f7c4
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 9, 2026 15:26
212f7c4 to
4f08713
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 10, 2026 17:34
4f08713 to
64abbd5
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 10, 2026 20:56
64abbd5 to
9a24e92
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 15, 2026 21:19
9a24e92 to
a84b72b
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 16, 2026 11:43
a84b72b to
f547ded
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 20, 2026 17:17
f547ded to
0252526
Compare
renovate
Bot
force-pushed
the
renovate/livekit-client-2.x-lockfile
branch
from
April 23, 2026 10:00
0252526 to
8a92268
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.15.6→2.22.3Release Notes
livekit/client-sdk-js (livekit-client)
v2.22.3Compare Source
Patch Changes
fix: add code 1000 to onclose handler in WebSocketStream - #2086 (@phaitonican)
forward worker logs to main thread - #2078 (@lukasIO)
fix: don't reset mid track map on publisher answers with empty map - #2089 (@lukasIO)
Support simulcast for svc codecs (vp9/av1) - #2083 (@cnderrauber)
v2.22.2Compare Source
Patch Changes
Fix the subscriber silently buffering remote ICE candidates after a reconnect - #2054 (@xianshijing-lk)
triggerIceRestartput the subscriber intorestartingIceon every reconnect, but onlysetRemoteDescriptionclears that — and the server re-offers the subscriber only when thereconnect moved the participant to a different node. After an ordinary signal-only resume no
offer arrives, so the flag stayed set for the lifetime of the transport and every subsequent
remote candidate was queued instead of applied, leaving the subscriber unable to adopt any new
network path the server proposed. The subscriber no longer enters that state: the server does
not send candidates ahead of the offer that introduces them, so queueing them gains nothing.
fix: track ws close with attemptId - #2069 (@lukasIO)
fix: ensure buffered events are flushed on signal reconnection - #2044 (@lukasIO)
fix: error on datastreams when chunks are missing - #2073 (@lukasIO)
v2.22.1Compare Source
Patch Changes
Forward
DisconnectReasonto theParticipantDisconnectedevent - #2055 (@seonghunYang)chore: periodically log webrtc stats - #2064 (@lukasIO)
fix: enqueue signal requests until queue has been drained - #2061 (@lukasIO)
Add roomOptions.dataStream.maxPayloadByteLength to control max data stream size - #2060 (@1egoman)
chore: signalling state machine - #2046 (@lukasIO)
fix: catch unhandled ws signal errors - #2065 (@lukasIO)
Fix
supportsAdaptiveStreamalways returningtrueby comparingtypeofagainst the'undefined'string. It now returnsfalsein environments withoutResizeObserverorIntersectionObserver. - #2059 (@mrpmohiburrahman)Treat TokenSource JWTs without
expas expired, and still honorexpwhennbfis absent - #2057 (@SashaMIT)Convert internal exports to be external in examples/demo - #2067 (@1egoman)
v2.22.0Compare Source
Minor Changes
Patch Changes
Decode text data streams without TextDecoder fatal mode for broader runtime support - #2037 (@JoelTowell)
fix: ensure buffered events are flushed on signal reconnection - #2043 (@lukasIO)
fix: cancel pending onTrack callbacks when subscription fails - #2019 (@lukasIO)
fix: match opus fmtp parameters by exact token and look up the opus codec case-insensitively when munging SDP - #2036 (@lukasIO)
Only run the
TrackEvent.TimeSyncUpdateanimation frame loop while something is subscribed to the event, and clear the frame handle when a track's monitor is stopped so the loop can be restarted - #2038 (@U-OK)fix: emit TrackStreamStateChanged again by reading the previous stream state before overwriting it - #2039 (@tomkail)
Apply the resolved degradation preference to the backup codec's sender - #2040 (@xianshijing-lk)
Degradation preference is a property of the sender, not of the track, and a backup codec publishes over its own sender. Previously only the primary sender was configured, so the backup encoder resolved a preference implicitly and could adapt along a different axis than the primary.
fix: recover broken publish paths — act on local
ConnectionQuality.Lost, recreate the peer connection when an ICE restart has no remote description, bound how long a transport may stay connecting, and reconnect (instead of disconnecting) on a detected connection state mismatch - #2030 (@lukasIO)fix: enable Terser
mangle.safari10to fix scoping issues for variables in react-native - #2028 (@davidliu)fix: ensure dd extension also for recvonly - #2052 (@lukasIO)
v2.21.0Compare Source
Minor Changes
fix: emit events that were buffered during resume after declaring the room as reconnected - #2018 (@lukasIO)
Add support for data streams v2 - #1985 (@1egoman)
Patch Changes
v2.20.2Compare Source
Patch Changes
Ensure empty error reasons use fallback notation - #1999 (@lukasIO)
Remove stale data track subscriber handles from the packet routing table - #2011 (@ladvoc)
Fix the reliable data channel dying under concurrent / multi-packet writes (#1995). Data-channel sends now use two-watermark flow control (fill up to a high-water mark, resume when drained to a low-water mark) and serialize contended senders through a per-kind lock, which prevents the SCTP send buffer from overflowing while keeping throughput saturated for data tracks. - #2013 (@1egoman)
Handle data track SID reassignment - #2000 (@ladvoc)
Keep attached audio elements muted in startAudio() when webAudioMix is enabled, preventing double playback on platforms where element.volume has no effect (e.g. iOS Safari) - #2004 (@sawa-zen)
Add a
localAudioTrack.applyConstraintsmethod with a subset of AudioCaptureOptions - #2001 (@lukasIO)v2.20.1Compare Source
Patch Changes
Conform placeholder sections to the canonical fmtp for each shared payload - #1993 (@lukasIO)
Include the
NonSharedUint8Arraytype polyfill in the published declarations. - #1997 (@1egoman)The type was declared in an ambient
.d.tsthat was resolved during our ownbuild but never emitted to
dist, so the published.d.tsfiles referenced atype consumers could not resolve — surfacing as
Cannot find name 'NonSharedUint8Array'underskipLibCheck: falseand asUnable to follow symbol for "NonSharedUint8Array"in API Extractor (which broke downstreampackages such as
@livekit/components-*). The polyfill is now an exported typethat is imported explicitly wherever it is used, so it ships in
distand thepublished types type-check standalone.
Add support for user_data frame metadata trailer type - #1983 (@chenosaurus)
v2.20.0Compare Source
Minor Changes
Patch Changes
Properly handle maxPayloadLength of 0, upper bound maxMessageSize - #1966 (@1egoman)
Add restrictOwnAudio experimental param to AudioCaptureOptions - #1974 (@1egoman)
chore: add logging around signal connection closing for reconnections - #1980 (@lukasIO)
Fix data channel close race condition - #1978 (@1egoman)
Enforce a maximum size of the sdp defined maxMessageSize on individual data packets sent via
publishData- #1962 (@1egoman)Add deployment to TokenSourceFetch options - #1971 (@lukasIO)
Skip pre-populated media sections for single peer connections on React Native - #1984 (@davidliu)
Ensure that sortPresets does NOT mutate values passed in via options into Room - #1979 (@1egoman)
v2.19.2Compare Source
Patch Changes
fix: rtpMap event leak on multiple negotiations without video tracks - #1961 (@lukasIO)
Ensure clearTimeout(responseTimeoutId) is skipped when timeout isn't set yet - #1958 (@1egoman)
Send initial media sections with v1 signalling for FF - #1963 (@lukasIO)
v2.19.1Compare Source
Patch Changes
Disable publisher offer with join in firefox - #1954 (@cnderrauber)
Fix memory leak where the constructor-registered
devicechangelistener onnavigator.mediaDeviceswas not removed when aRoomwas constructed but never connected. The listener kept theRoominstance reachable from the globalnavigator.mediaDevicesEventTarget, defeating theFinalizationRegistrycleanup. - #1944 (@nikhilgupta58)Ensure that client protocol is set in the dual peer connection case - #1942 (@1egoman)
v2.19.0Compare Source
Minor Changes
v2.18.10Compare Source
Patch Changes
v2.18.9Compare Source
Patch Changes
v2.18.8Compare Source
Patch Changes
Add local data track flush method - #1925 (@1egoman)
Implement negotiation tracking based on offerId - #1927 (@lukasIO)
Ignore data track promise rejections after a subscription readable stream is discarded - #1917 (@1egoman)
chore: improve logging foundation for implicit context retrieval - #1907 (@lukasIO)
v2.18.7Compare Source
Patch Changes
Pass optional LocalTrack reference to processors - #1916 (@lukasIO)
Ensure priority isn't set on all simulcast layers when using Firefox on iOS - #1920 (@lukasIO)
v2.18.6Compare Source
Patch Changes
v2.18.5Compare Source
Patch Changes
Defer
onEnterPiPvisibility update until after the next microtask and animation frame so Document Picture-in-Picture embedders can append DOM into the PiP window beforeisElementInPiPruns. - #1868 (@gparant)Differentiate different 404 responses on validate path - #1901 (@lukasIO)
await screen share audio unpublish before returning setEnabled - #1899 (@lukasIO)
Avoid attaching a new Closing event listener for each waitForBufferStatusLow call - #1896 (@1egoman)
Re-compute encoding params after track replace - #1902 (@lukasIO)
Harden extension id computation and retry publishing on negotiation failure - #1895 (@lukasIO)
fix: ensure udpated tokens get set on the regionUrlProvider - #1900 (@lukasIO)
v2.18.4Compare Source
Patch Changes
fix: handle race between
LocalTrackSubscribedsignal andpublishTrackcompletion - #1872 (@pabloFuente)Harden RemoteParticipant.dataTracks map to work when a data track subscription is processed before the room connect is complete - #1888 (@1egoman)
Update dependency webrtc-adapter to v9.0.5 - #1858 (@renovate)
Ensure transport manager is reset before attempting legacy fallback path - #1893 (@lukasIO)
Fix data tracks related subscript edge cases when the passed abort signal fires across the subscription lifecycle - #1892 (@1egoman)
v2.18.3Compare Source
Patch Changes
v2.18.2Compare Source
Patch Changes
Export CheckStatus as enum, not just type - #1855 (@Ludobaka)
Add new serializer implementation - #1885 (@1egoman)
fix: improve ordering of resolving waitForBufferStatus calls - #1877 (@lukasIO)
Close streamcontrollers when datatrack gets unpublished - #1879 (@lukasIO)
Buffer stream events until connected - #1867 (@lukasIO)
Moves "connected to Livekit Server" log within RTCEngine.join so it shows up for reconnects as well as connects - #1873 (@1egoman)
Wrap setE2EEEnabled call in a mutex - #1882 (@lukasIO)
v2.18.1Compare Source
Patch Changes
v2.18.0Compare Source
Minor Changes
Patch Changes
Ensure freshly created RTCEngine isn't recreated on join - #1843 (@lukasIO)
Fix shouldReturnCachedValueFromFetch check for cached options - #1837 (@lukasIO)
Fix data stream header length field - #1847 (@ladvoc)
Add token fetch force option to skip TokenSource cache - #1839 (@lukasIO)
v2.17.3Compare Source
Patch Changes
Update happy-dom dependency version - #1821 (@renovate)
e2ee: ensure current key index isn't unintentionally updated - #1830 (@lukasIO)
Prevent unmute -> mute -> unmute cycle for track restarts that happen during unmute - #1793 (@mfairley)
Use controller.error to signal unexpected errors mid data stream - #1834 (@lukasIO)
Signal leave on failed connection attempts if signalling is connected - #1817 (@lukasIO)
Vendored ts-debounce and added critical timers to debounce function - #1800 (@mfairley)
Ensure cryptor setup respects async queue in worker - #1833 (@lukasIO)
Adds new OutgoingDataTrackManager to manage sending data track payloads - #1810 (@1egoman)
v2.17.2Compare Source
Patch Changes
Ensure connection state mismatches aren't triggered for ongoing PC connection attempts - #1807 (@lukasIO)
Fix unnecessary track restarts on unmute when using ideal device constraints - #1794 (@mfairley)
Prevent ongoing renegotiations from declaring the negotiation as timed out - #1813 (@lukasIO)
Add data track packetizer and depacketizer implementations - #1798 (@1egoman)
Add missing type exports required by
@livekit/components-core- #1815 (@1egoman)v2.17.1Compare Source
Patch Changes
Add data track packet serialization + deserialization logic - #1792 (@1egoman)
Update docs to clarify other client HKDF support - #1796 (@1egoman)
Add attachedStreamIds as text stream metadata - #1805 (@1egoman)
v2.17.0Compare Source
Minor Changes
Patch Changes
Use TypedPromise for typesafe errors - #1770 (@lukasIO)
e2ee: ensure frame cryptor transform setup works for rapid subscription changes - #1789 (@lukasIO)
v2.16.1Compare Source
Patch Changes
export type RoomEventCallbacks - #1599 (@shincurry)
Remove experimental tag on some stabilized features - #1777 (@lukasIO)
Tag errors by name - #1764 (@lukasIO)
Fix connection check issues with pinned regions - #1775 (@lukasIO)
Control latency of lossy data channel - #1754 (@cnderrauber)
Add docs comments making it clear TokenSource-prefixed exported types shouldn't be used for TokenSource construction - #1776 (@1egoman)
Fix leaking memory by removing event listener from correct scope - #1768 (@wuhkuh)
v2.16.0Compare Source
Minor Changes
Patch Changes
Wait for dc buffer status low for all published packets - #1691 (@lukasIO)
Fix message loss during resuming/migration - #1757 (@cnderrauber)
Cancel region refresh on invalid tokens - #1755 (@lukasIO)
Add connectionCount tracking and stop auto refetching after timeout - #1756 (@lukasIO)
Add explicit error types for future helper - #1753 (@lukasIO)
fix(LocalTrackAudio): prevent overwriting constraint flags - #1744 (@itamayo)
v2.15.16Compare Source
Patch Changes
Fix slow start on vp9 - #1740 (@lukasIO)
Keep text / byte stream handlers between room disconnects - #1741 (@1egoman)
Export RoomEventCallbacks - #1738 (@haydenbr)
Speed up network switch recovery - #1745 (@lukasIO)
Ensure unexpected websocket disconnects trigger reconnect flow - #1748 (@lukasIO)
v2.15.15Compare Source
Patch Changes
Add exponential backoff strategy in case of connection failures - #1715 (@lukasIO)
Add participant as an optional parameter to EncryptionError events emitted on room level - #1723 (@CSantosM)
fix(e2ee): propagate worker data decryption errors and reject corresponding promises - #1729 (@CSantosM)
Fix potential undefined access while disconnecting - #1734 (@lukasIO)
Add new areTokenSourceFetchOptionsEqual function - #1733 (@1egoman)
Ensure publication isn't attempted after timeout rejected the promise - #1725 (@lukasIO)
v2.15.14Compare Source
Patch Changes
Apply server supplied cache control settings for region url provider - #1669 (@lukasIO)
Only export types for TokenSource variants to try to push users to use the TokenSource.foo static constructors instead - #1707 (@1egoman)
Add check to ensure track visibility update only happens when
adaptiveStreamis enabled - #1712 (@1egoman)Cache region settings per project - #1709 (@lukasIO)
Export decodeTokenPayload from package - #1710 (@1egoman)
v2.15.13Compare Source
Patch Changes
v2.15.12Compare Source
Patch Changes
v2.15.11Compare Source
Patch Changes
Fix abort race resulting in multiple code paths trying to close the ws connection - #1695 (@lukasIO)
fix the RPC comment and clam the timeout if the provided value is less than 8s - #1694 (@xianshijing-lk)
Fix track mapping when single peer connectionis used - #1696 (@lukasIO)
v2.15.10Compare Source
Patch Changes
Ensure leave requests can be sent before join response is received - #1687 (@lukasIO)
Increase RPC total timeout to 15s and connection timeout to 7s for better reliability under network latency. - #1692 (@xianshijing-lk)
Add sdp to answer debug log - #1689 (@lukasIO)
v2.15.9Compare Source
Patch Changes
Populate participant identity when receiving encrypted e2ee packets - #1679 (@lukasIO)
Export supportsAudioOutputSelection helper - #1676 (@lukasIO)
Fix bug in isResponseExpired token expiry checking logic - #1683 (@1egoman)
Use WebSocketStream for sequential signal processing - #1638 (@lukasIO)
Support for data channel encryption on React-Native - #1678 (@davidliu)
Single peer connection support - #1682 (@lukasIO)
v2.15.8Compare Source
Patch Changes
Add preliminary support for data message decryption - #1595 (@lukasIO)
Add video autoplay attributes to PublishVideoCheck - #1648 (@Doomann)
Ensure handleDisconnect is called also when already in Reconnecting state - #1671 (@lukasIO)
Fix TS 5.9 generic Uint8Array declaration when inferred - #1668 (@lukasIO)
Properly clean up event listeners in getNewAudioContext() - #1660 (@indexds)
Avoid uncaught errors related to send/disconnect races - #1674 (@bryfox)
Register online listener in engine's join - #1658 (@lukasIO)
add TokenSource token fetching abstraction - #1645 (@1egoman)
v2.15.7Compare Source
Patch Changes
Ensure permission event is only emitted once for local participant - #1643 (@lukasIO)
internal typing fix - add missing async to postAction - #1644 (@1egoman)
Ensure mid is always interpreted as string - #1641 (@lukasIO)
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.