Release packages - #1362
Merged
Merged
Conversation
knope-bot
Bot
force-pushed
the
knope/release
branch
2 times, most recently
from
August 27, 2026 19:36
3840927 to
f03216d
Compare
knope-bot
Bot
force-pushed
the
knope/release
branch
2 times, most recently
from
August 28, 2026 22:44
72c4137 to
065c3d5
Compare
knope-bot
Bot
force-pushed
the
knope/release
branch
from
August 31, 2026 16:01
065c3d5 to
592ca1f
Compare
knope-bot
Bot
force-pushed
the
knope/release
branch
3 times, most recently
from
September 1, 2026 02:38
a96ef5b to
abe5c97
Compare
Contributor
There was a problem hiding this comment.
Note
This report is out of date. Scroll down for Devin Review's latest report on this PR.
Devin Review found 1 new potential issue.
⚠️ 1 issue in files not directly in the diff
⚠️ FFI clients lose network type
When Chromium reports networkType, network_type captures it only in Rust. FFI conversions discard it, so foreign clients never receive the released field.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
knope-bot
Bot
force-pushed
the
knope/release
branch
2 times, most recently
from
September 1, 2026 19:33
b6b391c to
c5bcc04
Compare
knope-bot
Bot
force-pushed
the
knope/release
branch
8 times, most recently
from
September 8, 2026 15:56
cfc0f95 to
c3c1047
Compare
alan-george-lk
approved these changes
Sep 8, 2026
knope-bot
Bot
force-pushed
the
knope/release
branch
from
September 8, 2026 17:01
c3c1047 to
5191131
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.
Important
Merging this pull request will create these releases
livekit-datatrack 0.1.15 (2026-09-08)
Features
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocollivekit-uniffi 0.1.10 (2026-09-08)
Features
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocolself_test_http_get/self_test_ws_echo/has_http_client/has_ws_clientUniFFI exports so foreign hosts can exercise the transport seam end-to-end.livekit-token-source 0.1.3 (2026-09-08)
Features
Fixes
livekit-protocol 0.7.13 (2026-09-08)
Features
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocollivekit-common 0.1.3 (2026-09-08)
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocollivekit-signaling 0.1.1 (2026-09-08)
Features
Fixes
Moves the signalling client into a new
livekit-signalingcrate. livekit-apire-exports it under the historical
livekit_api::signal_clientpath, now markeddeprecated: it is internal SDK API, and dependents should use livekit-signaling
directly. livekit-api no longer depends on livekit-net.
Also drops two dependencies that were declared but never used:
scopeguardandbytes.livekit 0.9.0 (2026-09-08)
Breaking Changes
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocolself_test_http_get/self_test_ws_echo/has_http_client/has_ws_clientUniFFI exports so foreign hosts can exercise the transport seam end-to-end.Make AdmProxy worker-thread-affine: all platform ADM access now happens on the WebRTC worker thread, matching the ADM threading contract.
platform_audioexample exercising the PlatformAudio API and the worker-thread marshaling.Add agent guidance for detecting and preventing memory-lifecycle regressions in
Rust, FFI, and native WebRTC code.
Close peer connections before awaiting signal teardown
SessionInner::closereleased the peer connections only after two awaits that can blockindefinitely, so cancelling
close()— for example by wrapping it in a timeout — left thetransports open and their ICE UDP sockets bound for the lifetime of the process. Long-lived
clients eventually exhausted their file descriptors. The transports are now closed before
the first await, which makes the teardown safe to cancel.
Moves the internal region-discovery cache into a new
livekit-regioncrate. Nopublic API or behaviour change.
Moves the signalling client into a new
livekit-signalingcrate. livekit-apire-exports it under the historical
livekit_api::signal_clientpath, now markeddeprecated: it is internal SDK API, and dependents should use livekit-signaling
directly. livekit-api no longer depends on livekit-net.
Also drops two dependencies that were declared but never used:
scopeguardandbytes.Fix CUDA and FFI resource cleanup during SDK shutdown.
NVIDIA encoder and decoder factories now share a reference-counted CUDA context
and destroy it when the final factory is dropped. FFI shutdown now releases
leftover handles one at a time so nested
drop_handlecalls do not re-enterDashMap::clear(). Adds regression coverage for FFI-handle, watcher, andconfiguration cleanup during disposal.
Expose network_type on IceCandidateStats
Chromium's local
RTCIceCandidateStatscarries a non-standardnetworkTypefield (WiFi,cellular, ethernet, etc.), but
IceCandidateStatshad no place to put it, so it was silentlydropped during
get_stats()deserialization. Addsnetwork_type: Option<String>to the struct;non-breaking since it already derives
#[serde(default)].Fix room-session and data-channel leaks across connect/disconnect cycles.
The E2EE manager callback now captures
RoomSessionweakly so the session candrop after disconnect. Data-channel observer callbacks are cleared during RTC
teardown so the observer/callback cycle cannot keep peer connections alive.
Adds regression coverage for room-session destruction and data-channel callback
cleanup.
Fix native video-source lifecycle and NVENC initialization failure handling.
The raw-video keepalive task now uses a weak liveness check and defers its
black I420 buffer allocation until source liveness is confirmed, so dropping
an unused source releases its resources.
nvEncInitializeEncoderfailures nowpropagate instead of leaving the encoder half-initialized.
livekit-ffi 0.12.77 (2026-09-08)
Features
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocolself_test_http_get/self_test_ws_echo/has_http_client/has_ws_clientUniFFI exports so foreign hosts can exercise the transport seam end-to-end.Make AdmProxy worker-thread-affine: all platform ADM access now happens on the WebRTC worker thread, matching the ADM threading contract.
platform_audioexample exercising the PlatformAudio API and the worker-thread marshaling.Add agent guidance for detecting and preventing memory-lifecycle regressions in
Rust, FFI, and native WebRTC code.
Close peer connections before awaiting signal teardown
SessionInner::closereleased the peer connections only after two awaits that can blockindefinitely, so cancelling
close()— for example by wrapping it in a timeout — left thetransports open and their ICE UDP sockets bound for the lifetime of the process. Long-lived
clients eventually exhausted their file descriptors. The transports are now closed before
the first await, which makes the teardown safe to cancel.
Moves the internal region-discovery cache into a new
livekit-regioncrate. Nopublic API or behaviour change.
Moves the signalling client into a new
livekit-signalingcrate. livekit-apire-exports it under the historical
livekit_api::signal_clientpath, now markeddeprecated: it is internal SDK API, and dependents should use livekit-signaling
directly. livekit-api no longer depends on livekit-net.
Also drops two dependencies that were declared but never used:
scopeguardandbytes.Fix CUDA and FFI resource cleanup during SDK shutdown.
NVIDIA encoder and decoder factories now share a reference-counted CUDA context
and destroy it when the final factory is dropped. FFI shutdown now releases
leftover handles one at a time so nested
drop_handlecalls do not re-enterDashMap::clear(). Adds regression coverage for FFI-handle, watcher, andconfiguration cleanup during disposal.
Expose network_type on IceCandidateStats
Chromium's local
RTCIceCandidateStatscarries a non-standardnetworkTypefield (WiFi,cellular, ethernet, etc.), but
IceCandidateStatshad no place to put it, so it was silentlydropped during
get_stats()deserialization. Addsnetwork_type: Option<String>to the struct;non-breaking since it already derives
#[serde(default)].Fix room-session and data-channel leaks across connect/disconnect cycles.
The E2EE manager callback now captures
RoomSessionweakly so the session candrop after disconnect. Data-channel observer callbacks are cleared during RTC
teardown so the observer/callback cycle cannot keep peer connections alive.
Adds regression coverage for room-session destruction and data-channel callback
cleanup.
Fix native video-source lifecycle and NVENC initialization failure handling.
The raw-video keepalive task now uses a weak liveness check and defers its
black I420 buffer allocation until source liveness is confirmed, so dropping
an unused source releases its resources.
nvEncInitializeEncoderfailures nowpropagate instead of leaving the encoder half-initialized.
livekit-net 0.1.3 (2026-09-08)
Features
Fixes
self_test_http_get/self_test_ws_echo/has_http_client/has_ws_clientUniFFI exports so foreign hosts can exercise the transport seam end-to-end.livekit-data-stream 0.1.4 (2026-09-08)
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocollibwebrtc 0.3.47 (2026-09-08)
Features
Expose network_type on IceCandidateStats
Chromium's local
RTCIceCandidateStatscarries a non-standardnetworkTypefield (WiFi,cellular, ethernet, etc.), but
IceCandidateStatshad no place to put it, so it was silentlydropped during
get_stats()deserialization. Addsnetwork_type: Option<String>to the struct;non-breaking since it already derives
#[serde(default)].Fixes
Make AdmProxy worker-thread-affine: all platform ADM access now happens on the WebRTC worker thread, matching the ADM threading contract.
platform_audioexample exercising the PlatformAudio API and the worker-thread marshaling.Add agent guidance for detecting and preventing memory-lifecycle regressions in
Rust, FFI, and native WebRTC code.
Fix CUDA and FFI resource cleanup during SDK shutdown.
NVIDIA encoder and decoder factories now share a reference-counted CUDA context
and destroy it when the final factory is dropped. FFI shutdown now releases
leftover handles one at a time so nested
drop_handlecalls do not re-enterDashMap::clear(). Adds regression coverage for FFI-handle, watcher, andconfiguration cleanup during disposal.
Fix room-session and data-channel leaks across connect/disconnect cycles.
The E2EE manager callback now captures
RoomSessionweakly so the session candrop after disconnect. Data-channel observer callbacks are cleared during RTC
teardown so the observer/callback cycle cannot keep peer connections alive.
Adds regression coverage for room-session destruction and data-channel callback
cleanup.
Fix native video-source lifecycle and NVENC initialization failure handling.
The raw-video keepalive task now uses a weak liveness check and defers its
black I420 buffer allocation until source liveness is confirmed, so dropping
an unused source releases its resources.
nvEncInitializeEncoderfailures nowpropagate instead of leaving the encoder half-initialized.
webrtc-sys 0.3.44 (2026-09-08)
Features
Fixes
Make AdmProxy worker-thread-affine: all platform ADM access now happens on the WebRTC worker thread, matching the ADM threading contract.
platform_audioexample exercising the PlatformAudio API and the worker-thread marshaling.Add agent guidance for detecting and preventing memory-lifecycle regressions in
Rust, FFI, and native WebRTC code.
Fix CUDA and FFI resource cleanup during SDK shutdown.
NVIDIA encoder and decoder factories now share a reference-counted CUDA context
and destroy it when the final factory is dropped. FFI shutdown now releases
leftover handles one at a time so nested
drop_handlecalls do not re-enterDashMap::clear(). Adds regression coverage for FFI-handle, watcher, andconfiguration cleanup during disposal.
Fix native video-source lifecycle and NVENC initialization failure handling.
The raw-video keepalive task now uses a weak liveness check and defers its
black I420 buffer allocation until source liveness is confirmed, so dropping
an unused source releases its resources.
nvEncInitializeEncoderfailures nowpropagate instead of leaving the encoder half-initialized.
livekit-region 0.1.1 (2026-09-08)
Fixes
Moves the internal region-discovery cache into a new
livekit-regioncrate. Nopublic API or behaviour change.
livekit-api 0.7.0 (2026-09-08)
Breaking Changes
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocolself_test_http_get/self_test_ws_echo/has_http_client/has_ws_clientUniFFI exports so foreign hosts can exercise the transport seam end-to-end.Moves the internal region-discovery cache into a new
livekit-regioncrate. Nopublic API or behaviour change.
Moves the signalling client into a new
livekit-signalingcrate. livekit-apire-exports it under the historical
livekit_api::signal_clientpath, now markeddeprecated: it is internal SDK API, and dependents should use livekit-signaling
directly. livekit-api no longer depends on livekit-net.
Also drops two dependencies that were declared but never used:
scopeguardandbytes.livekit-token 0.1.2 (2026-09-08)
Fixes
PASSTHROUGHencoding preset and remove the unusedUpdateEgressRequestfrom the generated protocol