Room end-of-stream is now emitted when the underlying LiveKit room event channel closes after a server-initiated disconnect, and duplicate disconnect events during teardown are ignored. Also stops logging expected publisher data channel closes as unexpected.
Rust SDKs
Adds a pre-encoded video publish path with EncodedVideoFrame, EncodedVideoCodec, and EncodedFrameType APIs, and validates AV1 and H265 access units on ingest. Room EOS is now emitted when the LiveKit room event channel closes after a server-initiated disconnect, and duplicate disconnect events during teardown are ignored.
Compresses the initial offer sent in the JoinRequest URL, reducing URL size and improving connection performance on slow networks. Also adds deployment field documentation for agent dispatch.
Added a pre-encoded video publish path with EncodedVideoFrame, EncodedVideoCodec, and EncodedFrameType publish APIs, passthrough encoder and frame buffer in webrtc-sys, and AV1/H265 validation on ingest. WebRTC rate-control targets and keyframe requests are forwarded to encoded sources.
Added a pre-encoded video publish path with a passthrough video encoder, encoded video frame buffer, and new publish APIs (EncodedVideoFrame, EncodedVideoCodec, EncodedFrameType) with a PreEncoded backend. WebRTC rate-control and keyframe requests are forwarded to encoded sources, with AV1 and H265 access unit validation on ingest.
Refactored data-stream logic and shared types into new livekit-common and livekit-data-stream crates with re-exports from livekit, leaving the public API unchanged. Also switched to a concrete type for data track manager output events.
Native video subscribers can now opt into a zero-playout-delay mode via the --low-latency flag, with subscriber diagnostics isolated from frame-driven rendering.
Fixed LNK2019 linker errors on Windows MSVC by correcting a PeerContext forward-declaration in jsep.h. Added an opt-in zero-playout-delay mode for native video subscribers, exposed via the --low-latency flag on local_video subscribers.
Native video subscribers can now opt into zero-playout-delay mode via the local_video subscriber's --low-latency flag. Data track types have public fields for the first time, and data-stream logic and shared types were extracted into new livekit-common and livekit-data-stream crates (public API unchanged).
Made some fields public for data track types and refactored the data tracks E2EE interface. Data track manager output events now use a concrete type.
Single peer connection is now enabled by default. Also added auto failover APIs with LK Cloud, fixed dynacast and RTC error handling issues, and improved data track SID reassignment.
Auto failover APIs for LiveKit Cloud are now available. Fixed dynacast errors, malformed RTC error handling, and data track SID reassignment. Single peer connection is enabled by default.
Fixed malformed RTC error handling. Introduced LiveKitAPI construct and added smoke tests.
Fixed malformed RTC error handling in webrtc-sys.
Fixed data track SID reassignment handling. Introduced LiveKitAPI construct with smoke tests.
Added auto failover APIs for LiveKit Cloud deployments and introduced a LiveKitAPI construct with smoke tests.
Initial video quality improves by setting a Google start-bitrate SDP hint and defaulting to MaintainResolution degradation preference, eliminating the blurry-startup ramp. Frame metadata now supports user-supplied bytes via PTF_USER_DATA packet trailers, and AV1 subscriber decode with packet trailers is fixed. Deprecated DISABLED degradation preference; MAINTAIN_FRAMERATE_AND_RESOLUTION is the new recommended value.
Video no longer starts blurry—WebRTC's bandwidth estimator now begins at 70% of target bitrate via the x-google-start-bitrate SDP hint for all codecs, and degradation defaults to MaintainResolution. Also adds arbitrary user_data to frame metadata, exposes DegradationPreference via FFI, and deprecates DISABLED in favor of MaintainFramerateAndResolution. Fixed AV1 subscriber decode when packet trailers are enabled.
Frame metadata now supports user_data, letting application-supplied bytes attach to video frames via the PTF_USER_DATA packet trailer feature.
Video no longer starts blurry: sets x-google-start-bitrate SDP hint to 70% of target bitrate for all codecs and switches default degradation preference to MaintainResolution. Fixed AV1 subscriber decode when packet trailers are enabled. MaintainFramerateAndResolution added to DegradationPreference enum (replaces deprecated DISABLED).


