Update LiveKit dependencies (non-major) - #215
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/livekit-dependencies-(non-major)
branch
2 times, most recently
from
August 17, 2026 14:32
1e005d2 to
cd71ce5
Compare
renovate
Bot
force-pushed
the
renovate/livekit-dependencies-(non-major)
branch
from
August 18, 2026 19:59
cd71ce5 to
bce467b
Compare
renovate
Bot
force-pushed
the
renovate/livekit-dependencies-(non-major)
branch
2 times, most recently
from
August 31, 2026 19:35
7b27943 to
e895c82
Compare
renovate
Bot
force-pushed
the
renovate/livekit-dependencies-(non-major)
branch
from
September 1, 2026 19:10
e895c82 to
6eacfe4
Compare
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:
0.12.13→0.12.152.9.21→2.9.241.46.4→1.51.02.19.1→2.22.22.15.4→2.18.0Release Notes
livekit/components-js (@livekit/components-core)
v0.12.15Compare Source
Patch Changes
Preserve chat attachment order and MIME type.
setupChatcombined the per-attachment futures withmergeMap, which emits as each promise resolves — soattachedFileswas ordered by download completion (smallest file first) rather than the order the sender picked them; it now usesconcatMap, which sequences the emissions of the already-in-flight promises. Received files were also reconstructed asnew File(buffer, fileName)with notype, leavingFile.typeempty — soChatEntry'sfile.type.startsWith('image/')check could never be true for a received attachment and incoming images rendered as nothing. The byte stream'smimeTypeis now carried through to theFile. - #1419 (@vgerasymenko)Add
useAgentExpressionto the React SDK, reading the mood the agent publishes onlk.expression. - #1415 (@theomonnom)v0.12.14Compare Source
Patch Changes
livekit-client >= 2.20.1. That release ships theNonSharedUint8Array- #1360 (@1egoman)type declaration in its published types; earlier 2.19/2.20.0 builds referenced it
without shipping it, which broke type resolution for consumers (
skipLibCheck: false)and API Extractor. The local workaround shim is removed now that the type resolves
from livekit-client itself.
livekit/protocol (@livekit/protocol)
v1.51.0Compare Source
Minor Changes
egress v2: add
passthroughto theencodingoneof onStartEgressRequestandExportReplayRequest; remove the unusedEgressHandler.UpdateEgressRPC and thelivekit.UpdateEgressRequestmessage - #1716 (@frostbyte73)add
RoomEndReasonenum and report it on room-ended telemetry:AnalyticsEvent.room_end_reasonandWebhookEvent.room_end_reasonnow say why a room ended (ROOM_END_API_DELETE,ROOM_END_IDLE_TIMEOUT,ROOM_END_SERVER_SHUTDOWN,ROOM_END_SUPERSEDED,ROOM_END_OPEN_FAILED), so room-end volume can be broken down by cause the way participant disconnects already are - #1748 (@paulwe)TransferSIPParticipantnow returnsTransferSIPParticipantResponseinstead ofgoogle.protobuf.Empty, carrying the transfer id, status, a newSIPTransferReasonand the SIP status when the outcome came from a SIP response.SIPTransferInfogains the samereason. This changes the generated method signature: a transfer that reports a non-successful status without an error means the transfer did not complete. - #1730 (@genseric-ghiro)Moved egress passthrough option to an encoding preset. - #1718 (@frostbyte73)
Patch Changes
Add
agent_job_started/agent_job_endedwebhook events and ajobfield onWebhookEvent- #1711 (@erikhortsch)utils/list: mutations involving a node the list does not own — removing or moving an unlinked node, inserting an already-linked node, or inserting relative to an unlinked mark — are now no-ops, as incontainer/list. Previously an unlinked node's zeroed hook madeRemove/MoveToFront/MoveToBackclear the list's head and tail, silently stranding every remaining element, and re-inserting a linked node forked the list. - #1753 (@paulwe)utils.PromisegainsThen(func(T, error)), registering a callback to run when the promise resolves. Callbacks run on the goroutine that callsResolve, in registration order; registering on an already-resolved promise runs the callback inline on the caller.NewPromiseno longer allocates the done channel up front —Done()already created it lazily. - #1747 (@paulwe)Add an
error_codelabel to thelivekit_psrpc_error_totalmetric. - #1699 (@paulwe)Add realtime (speech-to-speech) reporter methods to gatewayobs, regenerated from cloud-observability schema/gateway.yaml realtime billing columns (#502). - #1663 (@russellmartin-livekit)
agent simulation: add
concisenessandconversation_progressiontoSimulationRun.RunMetrics- #1742 (@u9g)Add
background_noise,low_quality_microphone, andpacket_losstoSimulationRun.Create.Request, so an audio simulation run can impair the simulated user's audio. - #1723 (@u9g)Add
to_user_overridetoCreateSIPParticipantRequestto override the user part of theToheader, and warn whenTo/Viaare set in the SIP headers map. - #1717 (@genseric-ghiro)Remove extraneous format specifier from log string. - #1682 (@alexfish8)
Move the config observer into utils/configutil and drop the stuttering Config prefix. utils.ConfigObserver, utils.ConfigBuilder, utils.ConfigDefaulter and utils.NewConfigObserver remain as aliases. - #1712 (@paulwe)
Track holder goroutines of stuck locks (all RWMutex readers up to 8) and resolve their current stacks - #1701 (@erikhortsch)
Add data track subscription to sync state - #1703 (@boks1971)
v1.50.4Compare Source
Patch Changes
v1.50.3Compare Source
Patch Changes
v1.50.2Compare Source
v1.50.1Compare Source
Patch Changes
Fix recursive call to CreateSIPInboundTrunkRequest.ValidateResult. - #1669 (@alexfish8)
agent simulation JobMetrics: add TTS.cer, add STT/TTS words/chars counts, replace
jobs_failedwithjobs_measured- #1670 (@Bobronium)v1.50.0Compare Source
Minor Changes
agent: add
llm_node_tpsandllm_node_ttfstoMetricsReport, and anAgentFalseInterruptionevent toAgentSessionEvent- #1661 (@Bobronium)agent_simulations: add JobMetrics/RunMetrics to SimulationRun — per-job quality metrics grouped by - #1644 (@Bobronium)
pipeline stage (stt/llm/tts/conversation, plus a per-turn timeline and headline
accuracy/experience scores) and run-level aggregates. Unset optional fields mean "not measured";
Add validation method variants that include information about soft errors. - #1667 (@alexfish8)
Patch Changes
add redaction flag in Job - #1657 (@chenghao-mou)
Add wait_until_answered to ConnectWhatsAppCallRequest. - #1653 (@anunaym14)
Relax SIP codec validation. - #1656 (@dennwc)
v1.49.0Compare Source
Minor Changes
Patch Changes
v1.48.2Compare Source
Patch Changes
Enabling soft fail for sip validation - #1650 (@alexlivekit)
Use camel case log name in
DataBlobKey- #1649 (@ladvoc)v1.48.1Compare Source
Patch Changes
v1.48.0Compare Source
Minor Changes
Add PTF_USER_DATA to the PacketTrailerFeature enum for arbitrary per-frame user data. - #1639 (@chenosaurus)
Introduce a participant RPC protobuf registry for well-known LiveKit RPCs. - #1618 (@dennwc)
Add codec config to inbound and outbound SIP trunks. - #1620 (@dennwc)
Patch Changes
Add capabilities to ParticipantInfo - #1637 (@1egoman)
agent dev protocol to send down ServerInfo - #1638 (@davidzhao)
v1.47.0Compare Source
Minor Changes
run can request audio mode. Unspecified stays TEXT, so existing callers are
unaffected.
v1.46.8Compare Source
v1.46.7Compare Source
Patch Changes
v1.46.6Compare Source
Patch Changes
v1.46.5Compare Source
Patch Changes
livekit/client-sdk-js (livekit-client)
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)
livekit/node-sdks (livekit-server-sdk)
v2.18.0Compare Source
Minor Changes
EgressClient.startEgress(), a unified convenience method that calls the v2Egress.StartEgressRPC with aStartEgressRequest(or a partial init object). The existing per-type start helpers are unchanged. - #706 (@frostbyte73)Patch Changes
v2.17.0Compare Source
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 theLIVEKIT_URL,LIVEKIT_API_KEY,LIVEKIT_API_SECRET, andLIVEKIT_TOKENenvironment variables. Individual clients also accept atokenviaClientOptions. - #695 (@davidzhao)Add
SipCallError, aTwirpErrorsubclass thrown bySipClient.createSipParticipant/transferSipParticipantwhen a call fails with a SIP status. It exposes the SIP response code and reason assipStatusCode/sipStatusgetters, while other error metadata remains available viametadata. - #695 (@davidzhao)Patch Changes
v2.16.0Compare Source
Minor Changes
Patch Changes
calleedispatch rule support tocreateSipDispatchRule- #684 (@lukasIO)v2.15.5Compare Source
Patch Changes
deploymenttoCreateDispatchOptions- #675 (@lukasIO)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.