Repository navigation
Version Packages - #2158
Open
github-actions[bot] wants to merge 1 commit into
Open
Version Packages#2158github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
github-actions
Bot
requested review from
1egoman,
lukasIO and
xianshijing-lk
as code owners
October 19, 2026 09:29
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 19, 2026 10:24
6f9a82e to
7971c3e
Compare
Contributor
Author
size-limit report 📦
|
github-actions
Bot
force-pushed
the
changeset-release/main
branch
10 times, most recently
from
October 23, 2026 12:37
0faae98 to
3f0e702
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
12 times, most recently
from
October 29, 2026 08:02
f9f4624 to
b83f028
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 30, 2026 00:35
b83f028 to
397c1af
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
4 times, most recently
from
November 1, 2026 19:58
57553f9 to
d31b5f2
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
November 1, 2026 20:44
d31b5f2 to
a34200b
Compare
This branch has not been 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 was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
livekit-client@2.24.0
Minor Changes
RoomintoCoreRoomplus extensions.createRoom(options, [extensions])fromlivekit-client/corebuilds a room with only the extensions an application needs;e2ee,frameMetadataanddataStreamstake their options directly.Room.dispose()releases a room for good. Video publishing (camera, screen share, simulcast, SVC, backup codecs) is thevideoextension; receiving video stays in core. The newlivekit-client/coreentry (ESM only, experimental) exportsCoreRoomand the extensions.simulateParticipantsand the legacy chat messages are extensions too; the core entry does not offer legacy chat. - #2141 (@lukasIO)Patch Changes
If the server disconnects the participant while
room.connect()is still waiting for the transports (e.g. aDUPLICATE_IDENTITYleave), the connection attempt is now cancelled. Previously it kept waiting untilpeerConnectionTimeout, then failed over to another region and rejoined with the same token after the room had already emittedDisconnected;room.disconnect()could not stop it because the room already looked disconnected. - #2177 (@tobelesa)Cancel an incoming data stream when its reader stops early (an aborted
signal, abreakout offor await, or a read error), so the stream is unregistered and later packets for it are dropped instead of buffering until the trailer arrives. A reader can no longer resume a stream after leaving its iteration early. - #2168 (@1egoman)add datatrack data channel to sync state info - #2159 (@lukasIO)
Fix data packet decryption after the sender ratchets its key:
DataCryptornow retries with the ratcheted key instead of the stored one - #2188 (@ninglinLiu)Mark data track unpublished after republish fail - #2170 (@1egoman)
Fix an unhandled promise rejection when the signal passed to
dataTracks.getDeferred()aborts, even though the caller catches the rejected promise. - #2156 (@Abhishek-B-R)Keep the H.264 PPS id readable in E2EE keyframes, so that Chrome no longer drops keyframes from encoders such as Intel Quick Sync - #2181 (@lukasIO)
Speed up the emulation prevention step for encrypted H.264 and H.265 frames.
writeRbspnow returns the input unchanged when no byte needs escaping, and otherwise copies runs of bytes instead of building a JS array. The output does not change. - #2184 (@lukasIO)Fixes an issue where if a data stream runs into a terminal error, any packets delivered afterwards will be treated as if the stream doesn't exist (and not throw a sync error) - #2167 (@1egoman)
Apply the
peerConnectionTimeoutconnect option to the negotiation deadline - #2189 (@ninglinLiu)fix published type declarations for consumers with
skipLibCheck: falseorexactOptionalPropertyTypes- #2175 (@lukasIO)Stop logging
error reading from signal streamat error level when the signal socket was closed by the client or replaced; the read failure is now logged at debug level with the ignored close - #2192 (@ninglinLiu)The debug log for a ratcheted E2EE key no longer includes the ratchet result, so the chain key and the new key material stay out of the console and out of log extensions. - #2213 (@lukasIO)
Keep
engine.pendingReconnectaccurate across reconnect attempts. A failed attempt no longer clears the handle of the retry it just scheduled (which madependingReconnectreadfalsewhile a retry was pending), and the flag now clears as soon as the reconnect timer is cleared. Buffered room events are also flushed when the engine finishes restarting if the room already reports connected. - #2193 (@1egoman)Emit
Reconnectedonce and keep room metadata and recording changes when a full reconnect fails over to another region - #2165 (@lukasIO)Fix dynacast never pausing video layers on React Native: save sender encodings before skipping the stats monitor - #2163 (@davidliu)
Wait for the first frame of a screen share before reading its dimensions, so its simulcast layers are announced at the size the capture delivers instead of the requested resolution. - #2217 (@CSantosM)
Ignore signal messages received after the WebSocket is closed on React Native - #2173 (@davidliu)
Keep the mid to track id mapping of the current publisher answer when an answer to an older offer or an answer with an empty mapping arrives in single peer connection mode, so remote tracks whose
trackevent fires later are no longer dropped - #2196 (@ninglinLiu)If
room.disconnect()runs during the signal join, the connection attempt now rejects as cancelled instead of with aTypeError. A stale connection attempt no longer closes the engine of a newer connection or disconnects the room. - #2151 (@lukasIO)Fix
TokenSourcecaching: a failed fetch no longer leaves the previous response cached under the new options, andparticipantAttributesis compared by content - #2198 (@ninglinLiu)Incoming data stream chunks and trailers are now only accepted from the participant whose header opened the stream. Previously any participant that knew a stream id (as every recipient of a multi-destination stream does) could append content to another participant's stream, merge attributes into it, or end it. A packet from the wrong sender is dropped on its own; the stream continues. - #2215 (@1egoman)
Reject
WebSocketStream.openedwhen the socket closes before it opens, so that a failed, timed-out or aborted signal (re)connect on React Native no longer holds the connection lock. - #2179 (@sarankumar1325)