Skip to content

Releases: livekit/rust-sdks

webrtc-sys 0.3.40 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:28
06371a3

Fixes

  • Emit black keepalive frames from NativeVideoSource instead of uninitialized memory. webrtc::I420Buffer::Create leaves the pixel planes uninitialized, so the pre-capture keepalive frames could leak recycled heap contents (often fragments of earlier frames from the same process) to subscribers as the first keyframes - #1271 (@eh-steve)
  • Add NVIDIA NVENC AV1 encoding when the GPU reports AV1 encode support.

livekit 0.8.0 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:28
06371a3

Breaking Changes

Route LiveKit signalling through a pluggable transport (new livekit-net crate).

The signalling WebSocket and the two pre-connect HTTP GETs (validate, region discovery) now go through pluggable transport traits (WsClient for the WebSocket, HttpClient for request/response) resolved from a process-global registry with independent slots — a consumer can bring only HTTP, or only WebSocket. The new livekit-net crate owns the WebSocket/HTTP/TLS stack behind those traits and ships native (tokio / async-std) backends. Native builds are unchanged in behavior.

Breaking (livekit-api, and livekit via EngineError::Signal):

  • SignalError::WsError is removed — tungstenite is no longer part of the public API. A failed WebSocket handshake now surfaces its HTTP status as SignalError::Client/Server; transport connection and close failures surface as the new SignalError::Connection(String) / SignalError::Closed variants (previously all collapsed into Timeout).
  • SignalError is now #[non_exhaustive], and gains a SignalError::TransportNotConfigured variant — returned when no transport is registered (host/foreign builds must call livekit_net::set_ws_client / set_http_client before connecting). This is a permanent configuration error; callers must not retry.
  • The signalling WebSocket/HTTP/TLS crates are no longer transitive dependencies of livekit-api; TLS features delegate to livekit-net. Existing signal-client-tokio / -async / -dispatcher and TLS feature names are unchanged.

Fixes

  • Address typo in parsing rpc server version - #1268 (@1egoman)
  • Data tracks schema metadata support.
  • Emit black keepalive frames from NativeVideoSource instead of uninitialized memory. webrtc::I420Buffer::Create leaves the pixel planes uninitialized, so the pre-capture keepalive frames could leak recycled heap contents (often fragments of earlier frames from the same process) to subscribers as the first keyframes - #1271 (@eh-steve)
  • Add NVIDIA NVENC AV1 encoding when the GPU reports AV1 encode support.

livekit-protocol 0.7.11 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:28
06371a3

Fixes

  • Data tracks schema metadata support.

livekit-net 0.1.1 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:28
06371a3

Features

Route LiveKit signalling through a pluggable transport (new livekit-net crate).

The signalling WebSocket and the two pre-connect HTTP GETs (validate, region discovery) now go through pluggable transport traits (WsClient for the WebSocket, HttpClient for request/response) resolved from a process-global registry with independent slots — a consumer can bring only HTTP, or only WebSocket. The new livekit-net crate owns the WebSocket/HTTP/TLS stack behind those traits and ships native (tokio / async-std) backends. Native builds are unchanged in behavior.

Breaking (livekit-api, and livekit via EngineError::Signal):

  • SignalError::WsError is removed — tungstenite is no longer part of the public API. A failed WebSocket handshake now surfaces its HTTP status as SignalError::Client/Server; transport connection and close failures surface as the new SignalError::Connection(String) / SignalError::Closed variants (previously all collapsed into Timeout).
  • SignalError is now #[non_exhaustive], and gains a SignalError::TransportNotConfigured variant — returned when no transport is registered (host/foreign builds must call livekit_net::set_ws_client / set_http_client before connecting). This is a permanent configuration error; callers must not retry.
  • The signalling WebSocket/HTTP/TLS crates are no longer transitive dependencies of livekit-api; TLS features delegate to livekit-net. Existing signal-client-tokio / -async / -dispatcher and TLS feature names are unchanged.

livekit-ffi 0.12.72 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:41
06371a3

Fixes

  • Address typo in parsing rpc server version - #1268 (@1egoman)
  • Data tracks schema metadata support.
  • Emit black keepalive frames from NativeVideoSource instead of uninitialized memory. webrtc::I420Buffer::Create leaves the pixel planes uninitialized, so the pre-capture keepalive frames could leak recycled heap contents (often fragments of earlier frames from the same process) to subscribers as the first keyframes - #1271 (@eh-steve)
  • ensure failing audio filter init doesn't degrade audio quality - #1270 (@lukasIO)
  • Add NVIDIA NVENC AV1 encoding when the GPU reports AV1 encode support.

Route LiveKit signalling through a pluggable transport (new livekit-net crate).

The signalling WebSocket and the two pre-connect HTTP GETs (validate, region discovery) now go through pluggable transport traits (WsClient for the WebSocket, HttpClient for request/response) resolved from a process-global registry with independent slots — a consumer can bring only HTTP, or only WebSocket. The new livekit-net crate owns the WebSocket/HTTP/TLS stack behind those traits and ships native (tokio / async-std) backends. Native builds are unchanged in behavior.

Breaking (livekit-api, and livekit via EngineError::Signal):

  • SignalError::WsError is removed — tungstenite is no longer part of the public API. A failed WebSocket handshake now surfaces its HTTP status as SignalError::Client/Server; transport connection and close failures surface as the new SignalError::Connection(String) / SignalError::Closed variants (previously all collapsed into Timeout).
  • SignalError is now #[non_exhaustive], and gains a SignalError::TransportNotConfigured variant — returned when no transport is registered (host/foreign builds must call livekit_net::set_ws_client / set_http_client before connecting). This is a permanent configuration error; callers must not retry.
  • The signalling WebSocket/HTTP/TLS crates are no longer transitive dependencies of livekit-api; TLS features delegate to livekit-net. Existing signal-client-tokio / -async / -dispatcher and TLS feature names are unchanged.

livekit-datatrack 0.1.12 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:28
06371a3

Features

  • Data tracks schema metadata support.

livekit-api 0.6.0 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:28
06371a3

Breaking Changes

Route LiveKit signalling through a pluggable transport (new livekit-net crate).

The signalling WebSocket and the two pre-connect HTTP GETs (validate, region discovery) now go through pluggable transport traits (WsClient for the WebSocket, HttpClient for request/response) resolved from a process-global registry with independent slots — a consumer can bring only HTTP, or only WebSocket. The new livekit-net crate owns the WebSocket/HTTP/TLS stack behind those traits and ships native (tokio / async-std) backends. Native builds are unchanged in behavior.

Breaking (livekit-api, and livekit via EngineError::Signal):

  • SignalError::WsError is removed — tungstenite is no longer part of the public API. A failed WebSocket handshake now surfaces its HTTP status as SignalError::Client/Server; transport connection and close failures surface as the new SignalError::Connection(String) / SignalError::Closed variants (previously all collapsed into Timeout).
  • SignalError is now #[non_exhaustive], and gains a SignalError::TransportNotConfigured variant — returned when no transport is registered (host/foreign builds must call livekit_net::set_ws_client / set_http_client before connecting). This is a permanent configuration error; callers must not retry.
  • The signalling WebSocket/HTTP/TLS crates are no longer transitive dependencies of livekit-api; TLS features delegate to livekit-net. Existing signal-client-tokio / -async / -dispatcher and TLS feature names are unchanged.

Fixes

  • Data tracks schema metadata support.

libwebrtc 0.3.43 (2026-07-27)

Choose a tag to compare

@knope-bot knope-bot released this 28 Jul 00:28
06371a3

Fixes

  • Emit black keepalive frames from NativeVideoSource instead of uninitialized memory. webrtc::I420Buffer::Create leaves the pixel planes uninitialized, so the pre-capture keepalive frames could leak recycled heap contents (often fragments of earlier frames from the same process) to subscribers as the first keyframes - #1271 (@eh-steve)
  • Add NVIDIA NVENC AV1 encoding when the GPU reports AV1 encode support.

webrtc-a970b87-2

webrtc-a970b87-2 Pre-release
Pre-release

Choose a tag to compare

@cloudwebrtc cloudwebrtc released this 28 Jul 09:22

webrtc-a970b87-1

webrtc-a970b87-1 Pre-release
Pre-release

Choose a tag to compare

@cloudwebrtc cloudwebrtc released this 28 Jul 08:32
7bc323e