From 140517bb5e1a1f7843e57771ebf43da40e28785f Mon Sep 17 00:00:00 2001 From: "knope-bot[bot]" <152252888+knope-bot[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 17:13:05 +0000 Subject: [PATCH] Release packages --- .changeset/adm-proxy-worker-thread.md | 13 ----- ...peer_connections_before_signal_teardown.md | 12 ----- .changeset/data_streams_v2_uniffi.md | 13 ----- .changeset/egress_passthrough_preset.md | 13 ----- .changeset/extract_livekit_region_crate.md | 9 ---- .changeset/extract_livekit_signaling_crate.md | 14 ------ ...fix_pre_encoded_frame_segfault_on_macos.md | 8 --- ...e_of_dmabuf_using_existing_capture_path.md | 8 --- .changeset/libwebrtc_network_type_stat.md | 12 ----- .changeset/livekit_net_self_test_ffi.md | 9 ---- .changeset/remove_livekit_runtime.md | 13 ----- .../update_test_to_use_new_sip_grpc_code.md | 5 -- Cargo.lock | 30 ++++++------ Cargo.toml | 28 +++++------ libwebrtc/CHANGELOG.md | 25 ++++++++++ libwebrtc/Cargo.toml | 2 +- livekit-api/CHANGELOG.md | 26 ++++++++++ livekit-api/Cargo.toml | 2 +- livekit-common/CHANGELOG.md | 6 +++ livekit-common/Cargo.toml | 2 +- livekit-data-stream/CHANGELOG.md | 7 +++ livekit-data-stream/Cargo.toml | 2 +- livekit-datatrack/CHANGELOG.md | 11 +++++ livekit-datatrack/Cargo.toml | 2 +- .../npm/darwin-arm64/package.json | 2 +- .../npm/darwin-x64/package.json | 2 +- .../npm/linux-arm64-gnu/package.json | 2 +- .../npm/linux-x64-gnu/package.json | 2 +- .../npm/win32-x64-msvc/package.json | 2 +- livekit-ffi-node-bindings/package.json | 2 +- livekit-ffi/CHANGELOG.md | 49 +++++++++++++++++++ livekit-ffi/Cargo.toml | 2 +- livekit-net/CHANGELOG.md | 11 +++++ livekit-net/Cargo.toml | 2 +- livekit-protocol/CHANGELOG.md | 6 +++ livekit-protocol/Cargo.toml | 2 +- livekit-region/CHANGELOG.md | 8 +++ livekit-region/Cargo.toml | 2 +- livekit-signaling/CHANGELOG.md | 19 +++++++ livekit-signaling/Cargo.toml | 2 +- livekit-token-source/CHANGELOG.md | 10 ++++ livekit-token-source/Cargo.toml | 2 +- livekit-token/CHANGELOG.md | 6 +++ livekit-token/Cargo.toml | 2 +- livekit-uniffi/CHANGELOG.md | 12 +++++ livekit-uniffi/Cargo.toml | 2 +- livekit/CHANGELOG.md | 49 +++++++++++++++++++ livekit/Cargo.toml | 2 +- webrtc-sys/CHANGELOG.md | 17 +++++++ webrtc-sys/Cargo.toml | 2 +- 50 files changed, 312 insertions(+), 179 deletions(-) delete mode 100644 .changeset/adm-proxy-worker-thread.md delete mode 100644 .changeset/close_peer_connections_before_signal_teardown.md delete mode 100644 .changeset/data_streams_v2_uniffi.md delete mode 100644 .changeset/egress_passthrough_preset.md delete mode 100644 .changeset/extract_livekit_region_crate.md delete mode 100644 .changeset/extract_livekit_signaling_crate.md delete mode 100644 .changeset/fix_pre_encoded_frame_segfault_on_macos.md delete mode 100644 .changeset/handle_capture_of_dmabuf_using_existing_capture_path.md delete mode 100644 .changeset/libwebrtc_network_type_stat.md delete mode 100644 .changeset/livekit_net_self_test_ffi.md delete mode 100644 .changeset/remove_livekit_runtime.md delete mode 100644 .changeset/update_test_to_use_new_sip_grpc_code.md diff --git a/.changeset/adm-proxy-worker-thread.md b/.changeset/adm-proxy-worker-thread.md deleted file mode 100644 index e9e32a27f..000000000 --- a/.changeset/adm-proxy-worker-thread.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -livekit: patch -webrtc-sys: patch -libwebrtc: patch -livekit-ffi: patch ---- - -Make AdmProxy worker-thread-affine: all platform ADM access now happens on the WebRTC worker thread, matching the ADM threading contract. - -- The platform ADM is now created lazily on the first PlatformAudio acquire on all platforms, so apps that never use platform audio never construct it. -- Fixes Android platform recording delivering no audio: the audio transport was never registered on the lazily created ADM. -- Fixes a shutdown race by keeping the runtime threads alive as long as Rust can reach the audio device controller. -- Adds a `platform_audio` example exercising the PlatformAudio API and the worker-thread marshaling. diff --git a/.changeset/close_peer_connections_before_signal_teardown.md b/.changeset/close_peer_connections_before_signal_teardown.md deleted file mode 100644 index 069ce1392..000000000 --- a/.changeset/close_peer_connections_before_signal_teardown.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -livekit: patch -livekit-ffi: patch ---- - -# Close peer connections before awaiting signal teardown - -`SessionInner::close` released the peer connections only after two awaits that can block -indefinitely, so cancelling `close()` — for example by wrapping it in a timeout — left the -transports 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. diff --git a/.changeset/data_streams_v2_uniffi.md b/.changeset/data_streams_v2_uniffi.md deleted file mode 100644 index a4cca7446..000000000 --- a/.changeset/data_streams_v2_uniffi.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -livekit: patch -livekit-data-stream: patch -livekit-signaling: patch -livekit-ffi: patch -livekit-uniffi: patch -livekit-datatrack: patch -livekit-net: patch -livekit-token-source: patch -livekit-api: patch ---- - -Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) diff --git a/.changeset/egress_passthrough_preset.md b/.changeset/egress_passthrough_preset.md deleted file mode 100644 index ee0419aab..000000000 --- a/.changeset/egress_passthrough_preset.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -livekit-protocol: minor -livekit-api: patch -livekit-common: patch -livekit-data-stream: patch -livekit-datatrack: patch -livekit-ffi: patch -livekit-token: patch -livekit-uniffi: patch -livekit: patch ---- - -Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol diff --git a/.changeset/extract_livekit_region_crate.md b/.changeset/extract_livekit_region_crate.md deleted file mode 100644 index 016eaa446..000000000 --- a/.changeset/extract_livekit_region_crate.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -livekit-api: patch -livekit: patch -livekit-ffi: patch -livekit-region: patch ---- - -Moves the internal region-discovery cache into a new `livekit-region` crate. No -public API or behaviour change. diff --git a/.changeset/extract_livekit_signaling_crate.md b/.changeset/extract_livekit_signaling_crate.md deleted file mode 100644 index 0f17f7e38..000000000 --- a/.changeset/extract_livekit_signaling_crate.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -livekit-api: patch -livekit: patch -livekit-ffi: patch -livekit-signaling: patch ---- - -Moves the signalling client into a new `livekit-signaling` crate. livekit-api -re-exports it under the historical `livekit_api::signal_client` path, now marked -deprecated: 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: `scopeguard` and -`bytes`. diff --git a/.changeset/fix_pre_encoded_frame_segfault_on_macos.md b/.changeset/fix_pre_encoded_frame_segfault_on_macos.md deleted file mode 100644 index d592c7c86..000000000 --- a/.changeset/fix_pre_encoded_frame_segfault_on_macos.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -livekit: patch -webrtc-sys: patch -libwebrtc: patch -livekit-ffi: patch ---- - -# Fix pre-encoded frame segfault on macOS diff --git a/.changeset/handle_capture_of_dmabuf_using_existing_capture_path.md b/.changeset/handle_capture_of_dmabuf_using_existing_capture_path.md deleted file mode 100644 index 79fd5909a..000000000 --- a/.changeset/handle_capture_of_dmabuf_using_existing_capture_path.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -libwebrtc: minor -webrtc-sys: minor -livekit: patch -livekit-ffi: patch ---- - -# Handle capture of dmabuf using existing capture path diff --git a/.changeset/libwebrtc_network_type_stat.md b/.changeset/libwebrtc_network_type_stat.md deleted file mode 100644 index b1806cfae..000000000 --- a/.changeset/libwebrtc_network_type_stat.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -libwebrtc: minor -livekit: patch -livekit-ffi: patch ---- - -# Expose network_type on IceCandidateStats - -Chromium's local `RTCIceCandidateStats` carries a non-standard `networkType` field (WiFi, -cellular, ethernet, etc.), but `IceCandidateStats` had no place to put it, so it was silently -dropped during `get_stats()` deserialization. Adds `network_type: Option` to the struct; -non-breaking since it already derives `#[serde(default)]`. diff --git a/.changeset/livekit_net_self_test_ffi.md b/.changeset/livekit_net_self_test_ffi.md deleted file mode 100644 index 64f9f4b1e..000000000 --- a/.changeset/livekit_net_self_test_ffi.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -livekit-net: patch -livekit-uniffi: patch -livekit-api: patch -livekit: patch -livekit-ffi: patch ---- - -Add `self_test_http_get` / `self_test_ws_echo` / `has_http_client` / `has_ws_client` UniFFI exports so foreign hosts can exercise the transport seam end-to-end. diff --git a/.changeset/remove_livekit_runtime.md b/.changeset/remove_livekit_runtime.md deleted file mode 100644 index 7dc7764a2..000000000 --- a/.changeset/remove_livekit_runtime.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -libwebrtc: minor -livekit: minor -livekit-api: minor -livekit-datatrack: minor -livekit-ffi: minor -livekit-net: minor -livekit-signaling: minor -livekit-token-source: minor -livekit-uniffi: minor ---- - -Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) diff --git a/.changeset/update_test_to_use_new_sip_grpc_code.md b/.changeset/update_test_to_use_new_sip_grpc_code.md deleted file mode 100644 index d35ae93ad..000000000 --- a/.changeset/update_test_to_use_new_sip_grpc_code.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -livekit-api: patch ---- - -Update sip_busy test GRPc code: failed_precondition -> failed_precondition diff --git a/Cargo.lock b/Cargo.lock index dee3e9d35..f3bbebf39 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3475,7 +3475,7 @@ dependencies = [ [[package]] name = "libwebrtc" -version = "0.3.46" +version = "0.3.47" dependencies = [ "cxx", "env_logger 0.11.11", @@ -3592,7 +3592,7 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "livekit" -version = "0.8.4" +version = "0.8.5" dependencies = [ "anyhow", "base64 0.22.1", @@ -3628,7 +3628,7 @@ dependencies = [ [[package]] name = "livekit-api" -version = "0.6.4" +version = "0.6.5" dependencies = [ "base64 0.21.7", "http 1.4.2", @@ -3651,7 +3651,7 @@ dependencies = [ [[package]] name = "livekit-common" -version = "0.1.2" +version = "0.1.3" dependencies = [ "bytes", "livekit-protocol", @@ -3660,7 +3660,7 @@ dependencies = [ [[package]] name = "livekit-data-stream" -version = "0.1.3" +version = "0.1.4" dependencies = [ "async-compression", "bmrng", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "livekit-datatrack" -version = "0.1.14" +version = "0.1.15" dependencies = [ "anyhow", "bytes", @@ -3704,7 +3704,7 @@ dependencies = [ [[package]] name = "livekit-ffi" -version = "0.12.76" +version = "0.12.77" dependencies = [ "bytes", "console-subscriber", @@ -3735,7 +3735,7 @@ dependencies = [ [[package]] name = "livekit-net" -version = "0.1.2" +version = "0.1.3" dependencies = [ "async-trait", "base64 0.21.7", @@ -3754,7 +3754,7 @@ dependencies = [ [[package]] name = "livekit-protocol" -version = "0.7.12" +version = "0.7.13" dependencies = [ "pbjson", "pbjson-types", @@ -3764,14 +3764,14 @@ dependencies = [ [[package]] name = "livekit-region" -version = "0.1.0" +version = "0.1.1" dependencies = [ "serde", ] [[package]] name = "livekit-signaling" -version = "0.1.0" +version = "0.1.1" dependencies = [ "async-trait", "base64 0.21.7", @@ -3795,7 +3795,7 @@ dependencies = [ [[package]] name = "livekit-token" -version = "0.1.1" +version = "0.1.2" dependencies = [ "hmac", "jsonwebtoken", @@ -3808,7 +3808,7 @@ dependencies = [ [[package]] name = "livekit-token-source" -version = "0.1.2" +version = "0.1.3" dependencies = [ "async-trait", "base64 0.21.7", @@ -3821,7 +3821,7 @@ dependencies = [ [[package]] name = "livekit-uniffi" -version = "0.1.9" +version = "0.1.10" dependencies = [ "async-trait", "bytes", @@ -8301,7 +8301,7 @@ dependencies = [ [[package]] name = "webrtc-sys" -version = "0.3.43" +version = "0.3.44" dependencies = [ "cc", "cxx", diff --git a/Cargo.toml b/Cargo.toml index 03471565a..6dcc07c41 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,21 +52,21 @@ license = "Apache-2.0" [workspace.dependencies] device-info = { version = "0.1.1", path = "device-info" } imgproc = { version = "0.3.20", path = "imgproc" } -libwebrtc = { version = "0.3.46", path = "libwebrtc" } -livekit = { version = "0.8.4", path = "livekit" } -livekit-api = { version = "0.6.4", path = "livekit-api" } -livekit-ffi = { version = "0.12.76", path = "livekit-ffi" } -livekit-datatrack = { version = "0.1.14", path = "livekit-datatrack" } -livekit-signaling = { version = "0.1.0", path = "livekit-signaling" } -livekit-token = { version = "0.1.1", path = "livekit-token" } -livekit-token-source = { version = "0.1.2", path = "livekit-token-source" } -livekit-common = { version = "0.1.2", path = "livekit-common" } -livekit-data-stream = { version = "0.1.3", path = "livekit-data-stream" } -livekit-net = { version = "0.1.2", path = "livekit-net" } -livekit-protocol = { version = "0.7.12", path = "livekit-protocol" } -livekit-region = { version = "0.1.0", path = "livekit-region" } +libwebrtc = { version = "0.3.47", path = "libwebrtc" } +livekit = { version = "0.8.5", path = "livekit" } +livekit-api = { version = "0.6.5", path = "livekit-api" } +livekit-ffi = { version = "0.12.77", path = "livekit-ffi" } +livekit-datatrack = { version = "0.1.15", path = "livekit-datatrack" } +livekit-signaling = { version = "0.1.1", path = "livekit-signaling" } +livekit-token = { version = "0.1.2", path = "livekit-token" } +livekit-token-source = { version = "0.1.3", path = "livekit-token-source" } +livekit-common = { version = "0.1.3", path = "livekit-common" } +livekit-data-stream = { version = "0.1.4", path = "livekit-data-stream" } +livekit-net = { version = "0.1.3", path = "livekit-net" } +livekit-protocol = { version = "0.7.13", path = "livekit-protocol" } +livekit-region = { version = "0.1.1", path = "livekit-region" } soxr-sys = { version = "0.1.3", path = "soxr-sys" } -webrtc-sys = { version = "0.3.43", path = "webrtc-sys" } +webrtc-sys = { version = "0.3.44", path = "webrtc-sys" } webrtc-sys-build = { version = "0.3.19", path = "webrtc-sys/build" } yuv-sys = { version = "0.3.15", path = "yuv-sys" } diff --git a/libwebrtc/CHANGELOG.md b/libwebrtc/CHANGELOG.md index 50b7c74f5..6da4cdf95 100644 --- a/libwebrtc/CHANGELOG.md +++ b/libwebrtc/CHANGELOG.md @@ -139,6 +139,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - bump libwebrtc to m125 +## 0.3.47 (2026-09-04) + +### Features + +- Handle capture of dmabuf using existing capture path +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +#### Expose network_type on IceCandidateStats + +Chromium's local `RTCIceCandidateStats` carries a non-standard `networkType` field (WiFi, +cellular, ethernet, etc.), but `IceCandidateStats` had no place to put it, so it was silently +dropped during `get_stats()` deserialization. Adds `network_type: Option` to the struct; +non-breaking since it already derives `#[serde(default)]`. + +### Fixes + +- Fix pre-encoded frame segfault on macOS + +#### Make AdmProxy worker-thread-affine: all platform ADM access now happens on the WebRTC worker thread, matching the ADM threading contract. + +- The platform ADM is now created lazily on the first PlatformAudio acquire on all platforms, so apps that never use platform audio never construct it. +- Fixes Android platform recording delivering no audio: the audio transport was never registered on the lazily created ADM. +- Fixes a shutdown race by keeping the runtime threads alive as long as Rust can reach the audio device controller. +- Adds a `platform_audio` example exercising the PlatformAudio API and the worker-thread marshaling. + ## 0.3.46 (2026-08-25) ### Features diff --git a/libwebrtc/Cargo.toml b/libwebrtc/Cargo.toml index e288933c2..f03f5521b 100644 --- a/libwebrtc/Cargo.toml +++ b/libwebrtc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "libwebrtc" -version = "0.3.46" +version = "0.3.47" edition.workspace = true homepage = "https://livekit.io" license.workspace = true diff --git a/livekit-api/CHANGELOG.md b/livekit-api/CHANGELOG.md index c8d71c8a4..7772e5251 100644 --- a/livekit-api/CHANGELOG.md +++ b/livekit-api/CHANGELOG.md @@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## 0.6.5 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol +- Add `self_test_http_get` / `self_test_ws_echo` / `has_http_client` / `has_ws_client` UniFFI exports so foreign hosts can exercise the transport seam end-to-end. +- Update sip_busy test GRPc code: failed_precondition -> failed_precondition + +#### Moves the internal region-discovery cache into a new `livekit-region` crate. No + +public API or behaviour change. + +#### Moves the signalling client into a new `livekit-signaling` crate. livekit-api + +re-exports it under the historical `livekit_api::signal_client` path, now marked +deprecated: 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: `scopeguard` and +`bytes`. + ## 0.6.4 (2026-08-25) ### Fixes diff --git a/livekit-api/Cargo.toml b/livekit-api/Cargo.toml index 94ffb722b..763b629d6 100644 --- a/livekit-api/Cargo.toml +++ b/livekit-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit-api" -version = "0.6.4" +version = "0.6.5" license.workspace = true description = "Rust Server SDK for LiveKit" edition.workspace = true diff --git a/livekit-common/CHANGELOG.md b/livekit-common/CHANGELOG.md index 367f68ca5..95b1c4980 100644 --- a/livekit-common/CHANGELOG.md +++ b/livekit-common/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.1.3 (2026-09-04) + +### Fixes + +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol + ## 0.1.2 (2026-08-25) ### Fixes diff --git a/livekit-common/Cargo.toml b/livekit-common/Cargo.toml index a4075b76a..96cbc6e93 100644 --- a/livekit-common/Cargo.toml +++ b/livekit-common/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "livekit-common" description = "Common foundational types shared across LiveKit crates" -version = "0.1.2" +version = "0.1.3" readme = "README.md" license.workspace = true edition.workspace = true diff --git a/livekit-data-stream/CHANGELOG.md b/livekit-data-stream/CHANGELOG.md index 6b1b7faa8..3eb9cbc93 100644 --- a/livekit-data-stream/CHANGELOG.md +++ b/livekit-data-stream/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.1.4 (2026-09-04) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol + ## 0.1.3 (2026-08-25) ### Fixes diff --git a/livekit-data-stream/Cargo.toml b/livekit-data-stream/Cargo.toml index fb906af54..776bb5e37 100644 --- a/livekit-data-stream/Cargo.toml +++ b/livekit-data-stream/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "livekit-data-stream" description = "Data stream core logic for LiveKit" -version = "0.1.3" +version = "0.1.4" readme = "README.md" license.workspace = true edition.workspace = true diff --git a/livekit-datatrack/CHANGELOG.md b/livekit-datatrack/CHANGELOG.md index 1fe827084..8bce57b92 100644 --- a/livekit-datatrack/CHANGELOG.md +++ b/livekit-datatrack/CHANGELOG.md @@ -1,4 +1,15 @@ # Changelog +## 0.1.15 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol + ## 0.1.14 (2026-08-25) ### Fixes diff --git a/livekit-datatrack/Cargo.toml b/livekit-datatrack/Cargo.toml index a212f0fa7..e7cb708b2 100644 --- a/livekit-datatrack/Cargo.toml +++ b/livekit-datatrack/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "livekit-datatrack" description = "Data track core for LiveKit" -version = "0.1.14" +version = "0.1.15" readme = "README.md" license.workspace = true edition.workspace = true diff --git a/livekit-ffi-node-bindings/npm/darwin-arm64/package.json b/livekit-ffi-node-bindings/npm/darwin-arm64/package.json index 9599fe618..220d8110d 100644 --- a/livekit-ffi-node-bindings/npm/darwin-arm64/package.json +++ b/livekit-ffi-node-bindings/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@livekit/rtc-ffi-bindings-darwin-arm64", - "version": "0.12.76", + "version": "0.12.77", "cpu": [ "arm64" ], diff --git a/livekit-ffi-node-bindings/npm/darwin-x64/package.json b/livekit-ffi-node-bindings/npm/darwin-x64/package.json index 71e01c140..e3c8d0b71 100644 --- a/livekit-ffi-node-bindings/npm/darwin-x64/package.json +++ b/livekit-ffi-node-bindings/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@livekit/rtc-ffi-bindings-darwin-x64", - "version": "0.12.76", + "version": "0.12.77", "cpu": [ "x64" ], diff --git a/livekit-ffi-node-bindings/npm/linux-arm64-gnu/package.json b/livekit-ffi-node-bindings/npm/linux-arm64-gnu/package.json index a3200c31f..9bca8ff14 100644 --- a/livekit-ffi-node-bindings/npm/linux-arm64-gnu/package.json +++ b/livekit-ffi-node-bindings/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@livekit/rtc-ffi-bindings-linux-arm64-gnu", - "version": "0.12.76", + "version": "0.12.77", "cpu": [ "arm64" ], diff --git a/livekit-ffi-node-bindings/npm/linux-x64-gnu/package.json b/livekit-ffi-node-bindings/npm/linux-x64-gnu/package.json index 86223795c..80cd6e2be 100644 --- a/livekit-ffi-node-bindings/npm/linux-x64-gnu/package.json +++ b/livekit-ffi-node-bindings/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@livekit/rtc-ffi-bindings-linux-x64-gnu", - "version": "0.12.76", + "version": "0.12.77", "cpu": [ "x64" ], diff --git a/livekit-ffi-node-bindings/npm/win32-x64-msvc/package.json b/livekit-ffi-node-bindings/npm/win32-x64-msvc/package.json index eb5fe1528..0ba21ec50 100644 --- a/livekit-ffi-node-bindings/npm/win32-x64-msvc/package.json +++ b/livekit-ffi-node-bindings/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "@livekit/rtc-ffi-bindings-win32-x64-msvc", - "version": "0.12.76", + "version": "0.12.77", "cpu": [ "x64" ], diff --git a/livekit-ffi-node-bindings/package.json b/livekit-ffi-node-bindings/package.json index f09d8b1af..24c90535a 100644 --- a/livekit-ffi-node-bindings/package.json +++ b/livekit-ffi-node-bindings/package.json @@ -3,7 +3,7 @@ "description": "LiveKit RTC Node FFI bindings for internal use only", "license": "Apache-2.0", "author": "LiveKit", - "version": "0.12.76", + "version": "0.12.77", "main": "index.js", "types": "index.d.ts", "type": "commonjs", diff --git a/livekit-ffi/CHANGELOG.md b/livekit-ffi/CHANGELOG.md index 5e865bcdb..59aee7b84 100644 --- a/livekit-ffi/CHANGELOG.md +++ b/livekit-ffi/CHANGELOG.md @@ -316,6 +316,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - bump libwebrtc to m125 +## 0.12.77 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol +- Fix pre-encoded frame segfault on macOS +- Handle capture of dmabuf using existing capture path +- Add `self_test_http_get` / `self_test_ws_echo` / `has_http_client` / `has_ws_client` UniFFI 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. + +- The platform ADM is now created lazily on the first PlatformAudio acquire on all platforms, so apps that never use platform audio never construct it. +- Fixes Android platform recording delivering no audio: the audio transport was never registered on the lazily created ADM. +- Fixes a shutdown race by keeping the runtime threads alive as long as Rust can reach the audio device controller. +- Adds a `platform_audio` example exercising the PlatformAudio API and the worker-thread marshaling. + +#### Close peer connections before awaiting signal teardown + +`SessionInner::close` released the peer connections only after two awaits that can block +indefinitely, so cancelling `close()` — for example by wrapping it in a timeout — left the +transports 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-region` crate. No + +public API or behaviour change. + +#### Moves the signalling client into a new `livekit-signaling` crate. livekit-api + +re-exports it under the historical `livekit_api::signal_client` path, now marked +deprecated: 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: `scopeguard` and +`bytes`. + +#### Expose network_type on IceCandidateStats + +Chromium's local `RTCIceCandidateStats` carries a non-standard `networkType` field (WiFi, +cellular, ethernet, etc.), but `IceCandidateStats` had no place to put it, so it was silently +dropped during `get_stats()` deserialization. Adds `network_type: Option` to the struct; +non-breaking since it already derives `#[serde(default)]`. + ## 0.12.76 (2026-08-25) ### Fixes diff --git a/livekit-ffi/Cargo.toml b/livekit-ffi/Cargo.toml index 7546d7e13..1179f9eb6 100644 --- a/livekit-ffi/Cargo.toml +++ b/livekit-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit-ffi" -version = "0.12.76" +version = "0.12.77" edition.workspace = true license.workspace = true description = "FFI interface for bindings in other languages" diff --git a/livekit-net/CHANGELOG.md b/livekit-net/CHANGELOG.md index 0651387f8..62148b677 100644 --- a/livekit-net/CHANGELOG.md +++ b/livekit-net/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.1.3 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) +- Add `self_test_http_get` / `self_test_ws_echo` / `has_http_client` / `has_ws_client` UniFFI exports so foreign hosts can exercise the transport seam end-to-end. + ## 0.1.2 (2026-07-29) ### Fixes diff --git a/livekit-net/Cargo.toml b/livekit-net/Cargo.toml index bc643d26e..17d7db925 100644 --- a/livekit-net/Cargo.toml +++ b/livekit-net/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit-net" -version = "0.1.2" +version = "0.1.3" license.workspace = true description = "Pluggable, host-providable network transport for LiveKit signalling" edition.workspace = true diff --git a/livekit-protocol/CHANGELOG.md b/livekit-protocol/CHANGELOG.md index c846f5f75..b1d2ff711 100644 --- a/livekit-protocol/CHANGELOG.md +++ b/livekit-protocol/CHANGELOG.md @@ -62,6 +62,12 @@ ### Changed - Update protocol version to v1.31.0 +## 0.7.13 (2026-09-04) + +### Features + +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol + ## 0.7.12 (2026-07-29) ### Fixes diff --git a/livekit-protocol/Cargo.toml b/livekit-protocol/Cargo.toml index 3bbbe36a0..51d8ccf80 100644 --- a/livekit-protocol/Cargo.toml +++ b/livekit-protocol/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit-protocol" -version = "0.7.12" +version = "0.7.13" edition.workspace = true license.workspace = true description = "Livekit protocol and utilities for the Rust SDK" diff --git a/livekit-region/CHANGELOG.md b/livekit-region/CHANGELOG.md index 283bda8f9..88ea7a9ce 100644 --- a/livekit-region/CHANGELOG.md +++ b/livekit-region/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.1 (2026-09-04) + +### Fixes + +#### Moves the internal region-discovery cache into a new `livekit-region` crate. No + +public API or behaviour change. + ## 0.1.0 The initial release. This was broken out of [livekit-api](../livekit-api) into its own crate. diff --git a/livekit-region/Cargo.toml b/livekit-region/Cargo.toml index 67cbbfb06..b5e0ef8e1 100644 --- a/livekit-region/Cargo.toml +++ b/livekit-region/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit-region" -version = "0.1.0" +version = "0.1.1" license.workspace = true description = "Internal region-discovery cache shared by the LiveKit signalling and server-API clients" edition.workspace = true diff --git a/livekit-signaling/CHANGELOG.md b/livekit-signaling/CHANGELOG.md index 283bda8f9..bee07c792 100644 --- a/livekit-signaling/CHANGELOG.md +++ b/livekit-signaling/CHANGELOG.md @@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.1 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) + +#### Moves the signalling client into a new `livekit-signaling` crate. livekit-api + +re-exports it under the historical `livekit_api::signal_client` path, now marked +deprecated: 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: `scopeguard` and +`bytes`. + ## 0.1.0 The initial release. This was broken out of [livekit-api](../livekit-api) into its own crate. diff --git a/livekit-signaling/Cargo.toml b/livekit-signaling/Cargo.toml index 3c0464cc9..bac42d11a 100644 --- a/livekit-signaling/Cargo.toml +++ b/livekit-signaling/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit-signaling" -version = "0.1.0" +version = "0.1.1" license.workspace = true description = "Internal LiveKit signalling client, blind to the transport backend" edition.workspace = true diff --git a/livekit-token-source/CHANGELOG.md b/livekit-token-source/CHANGELOG.md index 7c3e70b8c..34ab03075 100644 --- a/livekit-token-source/CHANGELOG.md +++ b/livekit-token-source/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.1.3 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) + ## 0.1.2 (2026-08-25) ### Features diff --git a/livekit-token-source/Cargo.toml b/livekit-token-source/Cargo.toml index 458a4ec35..fc427d8cc 100644 --- a/livekit-token-source/Cargo.toml +++ b/livekit-token-source/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "livekit-token-source" description = "Token sources for the LiveKit Rust SDK" -version = "0.1.2" +version = "0.1.3" license.workspace = true edition.workspace = true repository.workspace = true diff --git a/livekit-token/CHANGELOG.md b/livekit-token/CHANGELOG.md index 587ce70ae..203460c0c 100644 --- a/livekit-token/CHANGELOG.md +++ b/livekit-token/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.1.2 (2026-09-04) + +### Fixes + +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol + ## 0.1.1 (2026-08-25) ### Fixes diff --git a/livekit-token/Cargo.toml b/livekit-token/Cargo.toml index faf786fff..5ab0601a7 100644 --- a/livekit-token/Cargo.toml +++ b/livekit-token/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit-token" -version = "0.1.1" +version = "0.1.2" license.workspace = true description = "Core logic for generating LiveKit tokens" edition.workspace = true diff --git a/livekit-uniffi/CHANGELOG.md b/livekit-uniffi/CHANGELOG.md index 8065b2885..f7562e478 100644 --- a/livekit-uniffi/CHANGELOG.md +++ b/livekit-uniffi/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.1.10 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol +- Add `self_test_http_get` / `self_test_ws_echo` / `has_http_client` / `has_ws_client` UniFFI exports so foreign hosts can exercise the transport seam end-to-end. + ## 0.1.9 (2026-08-25) ### Fixes diff --git a/livekit-uniffi/Cargo.toml b/livekit-uniffi/Cargo.toml index 85d91cdbf..9c37a89cc 100644 --- a/livekit-uniffi/Cargo.toml +++ b/livekit-uniffi/Cargo.toml @@ -3,7 +3,7 @@ crate-type = ["cdylib", "staticlib", "lib"] [package] name = "livekit-uniffi" -version = "0.1.9" +version = "0.1.10" edition.workspace = true license.workspace = true description = "Experimental FFI interface using UniFFI" diff --git a/livekit/CHANGELOG.md b/livekit/CHANGELOG.md index 219712544..637b129ac 100644 --- a/livekit/CHANGELOG.md +++ b/livekit/CHANGELOG.md @@ -257,6 +257,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - bump libwebrtc to m125 +## 0.8.5 (2026-09-04) + +### Features + +- Removes livekit-runtime and converts this package to be tokio only again - #1375 (@1egoman) + +### Fixes + +- Add data streams v2 to exposed uniffi interface - #1286 (@1egoman) +- Add the `PASSTHROUGH` encoding preset and remove the unused `UpdateEgressRequest` from the generated protocol +- Fix pre-encoded frame segfault on macOS +- Handle capture of dmabuf using existing capture path +- Add `self_test_http_get` / `self_test_ws_echo` / `has_http_client` / `has_ws_client` UniFFI 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. + +- The platform ADM is now created lazily on the first PlatformAudio acquire on all platforms, so apps that never use platform audio never construct it. +- Fixes Android platform recording delivering no audio: the audio transport was never registered on the lazily created ADM. +- Fixes a shutdown race by keeping the runtime threads alive as long as Rust can reach the audio device controller. +- Adds a `platform_audio` example exercising the PlatformAudio API and the worker-thread marshaling. + +#### Close peer connections before awaiting signal teardown + +`SessionInner::close` released the peer connections only after two awaits that can block +indefinitely, so cancelling `close()` — for example by wrapping it in a timeout — left the +transports 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-region` crate. No + +public API or behaviour change. + +#### Moves the signalling client into a new `livekit-signaling` crate. livekit-api + +re-exports it under the historical `livekit_api::signal_client` path, now marked +deprecated: 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: `scopeguard` and +`bytes`. + +#### Expose network_type on IceCandidateStats + +Chromium's local `RTCIceCandidateStats` carries a non-standard `networkType` field (WiFi, +cellular, ethernet, etc.), but `IceCandidateStats` had no place to put it, so it was silently +dropped during `get_stats()` deserialization. Adds `network_type: Option` to the struct; +non-breaking since it already derives `#[serde(default)]`. + ## 0.8.4 (2026-08-25) ### Features diff --git a/livekit/Cargo.toml b/livekit/Cargo.toml index 80d058fba..df67dd18e 100644 --- a/livekit/Cargo.toml +++ b/livekit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "livekit" -version = "0.8.4" +version = "0.8.5" edition.workspace = true license.workspace = true description = "Rust Client SDK for LiveKit" diff --git a/webrtc-sys/CHANGELOG.md b/webrtc-sys/CHANGELOG.md index 99663e7a3..aa07c51a3 100644 --- a/webrtc-sys/CHANGELOG.md +++ b/webrtc-sys/CHANGELOG.md @@ -165,6 +165,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - bump libwebrtc to m125 +## 0.3.44 (2026-09-04) + +### Features + +- Handle capture of dmabuf using existing capture path + +### Fixes + +- Fix pre-encoded frame segfault on macOS + +#### Make AdmProxy worker-thread-affine: all platform ADM access now happens on the WebRTC worker thread, matching the ADM threading contract. + +- The platform ADM is now created lazily on the first PlatformAudio acquire on all platforms, so apps that never use platform audio never construct it. +- Fixes Android platform recording delivering no audio: the audio transport was never registered on the lazily created ADM. +- Fixes a shutdown race by keeping the runtime threads alive as long as Rust can reach the audio device controller. +- Adds a `platform_audio` example exercising the PlatformAudio API and the worker-thread marshaling. + ## 0.3.43 (2026-08-25) ### Fixes diff --git a/webrtc-sys/Cargo.toml b/webrtc-sys/Cargo.toml index 0dc40648e..e75497072 100644 --- a/webrtc-sys/Cargo.toml +++ b/webrtc-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "webrtc-sys" -version = "0.3.43" +version = "0.3.44" edition.workspace = true homepage = "https://livekit.io" license.workspace = true