Skip to content

Update "rust-sdks" to livekit-ffi/v0.13.4 - #148

Merged
pabloFuente merged 2 commits into
mainfrom
sync-rust-sdks/v0.13.4
Nov 5, 2026
Merged

pabloFuente merged 2 commits into
mainfrom
sync-rust-sdks/v0.13.4

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Updates LivekitRtc/rust-sdks from livekit-ffi/v0.13.3 β†’ livekit-ffi/v0.13.4 (13 upstream commits).

This bump changes only the native library. Upstream changed no .proto file under livekit-ffi/protocol: regenerating the protos gives byte-identical LivekitRtc/Proto/*.g.cs and LivekitApi/proto. The FFI surface is the same as before (ffi_coverage.py output is identical before and after), so there is no new public API and no breaking change. The upgrade brings native fixes and behavior changes that .NET users will notice. They are listed in the changelog.

Changes

Group Files
Submodule pointer LivekitRtc/rust-sdks ede8ac5 β†’ 88705b1 (livekit-ffi/v0.13.4)
Generated protos 0 changed
Native binaries 6 / 6 changed: win-x64, win-arm64, linux-x64, linux-arm64, osx-x64, osx-arm64
generate_proto.sh unchanged
Hand-written SDK code none
Tests none
Docs LivekitRtc/README.md (the build-from-source example now names livekit-ffi/v0.13.4; the Rust toolchain is still 1.97.1), LivekitRtc/CHANGELOG.md

Binary verification

The workflow downloaded the six binaries before this run. I downloaded the six ffi-*.zip assets of the livekit-ffi/v0.13.4 release again and compared SHA-256 hashes: every file in LivekitRtc/runtimes/*/native/ matches its upstream asset and differs from the committed v0.13.3 binary. Upstream now builds them with LTO, which makes them 3–8 % smaller (linux-x64 28.3 MB β†’ 26.2 MB, win-x64 25.1 MB β†’ 24.4 MB).

Changes .NET users will notice (in LivekitRtc/CHANGELOG.md under ## Unreleased)

These upstream changes are not in the changelog because they don't affect this package: the size budgets for iOS and Android, the OSS scanner image, the zip security bump (a build-time dependency of webrtc-sys-build, not in the shipped library) and the offer_to_receive_* change for single peer connection offers (this SDK does not expose single_peer_connection, and its default is false).

Test results

Suite Result
dotnet build (solution) and the 5 LivekitRtc.Example/* projects βœ… 0 errors (only the existing CS0612 obsolete-proto warnings)
No-Docker parity guards and native-loading tests (FfiClientTest, SdkVersionTests, AudioCaptureMinimalTest, *PinningTests, VideoFramePlanesTests, *MappingTests, EncodedVideoSourceTests, DataTrackFrameTests, AudioSourcePlayoutTests, AudioResamplerTests, RpcErrorTests) βœ… 84 / 84 passed
RoomEventsTests (Docker, includes simulated full and signal reconnects) βœ… 14 / 14 passed
ParticipantEventsTests (Docker) βœ… 10 / 10 passed
VideoPublishTests (Docker, Chrome receives the published video) βœ… 4 / 4 passed
E2EETests (Docker) βœ… 7 / 7 passed
dotnet csharpier check . βœ… clean
dotnet docfx docs/docfx.json --warningsAsErrors and docs/check_api_docs.py βœ… 0 warnings, all checks OK

I captured the SDK's stderr with LIVEKIT_TEST_STDERR_FILE for every run. None of them had FFI Panic, [WARN] or [ERROR] lines (including [WARN] RoomEvent.*), and the detailed stdout logs had none either.

I did not run the other Docker classes (AudioPublishTests, AudioReceiveTests, DataStreamTests, RpcTests, DataTrackTests, ...). The upstream diff doesn't touch those areas, and every class starts its own LiveKit and Chrome stack.

Open decisions for the maintainer

This bump adds nothing to decide on: it has no new FFI requests, callbacks, room events or option fields, and nothing is stale. These pre-existing gaps are unchanged, and I'm only listing them for reference:

  • VideoSource.CaptureFrame has no frame metadata. CaptureVideoFrameRequest.metadata (Proto.FrameMetadata) exists, but only EncodedVideoFrame exposes it. The metadata fix in this release also covers raw frames, so the gap now matters more. Exposing it would be an optional parameter or overload.

  • RoomOptions has no SinglePeerConnection. The FFI's RoomOptions.single_peer_connection (default false) is not mapped. Check the Node and Python RTC SDKs before exposing it.

  • Unused requests and room events reported by ffi_coverage.py, the same as on v0.13.3:

    • The FFI-native data-stream requests (SendText, SendFile, SendBytes, *StreamOpen/Write/Close, the reader requests) and their callbacks, plus the ByteStreamOpened and TextStreamOpened room events.
    • GetStats, EnableRemoteTrack, Dispose.
    • The resampler requests (NewAudioResampler, RemixAndResample) and audio processing (NewApm, ApmProcess*, ApmSetStreamDelay, LoadAudioFilterPlugin).
    • DefineSchema and GetSchema.
    • The platform audio and capture requests (NewPlatformAudio, Get/Set*Device, Start/StopRecording, NewCaptureSource, Start/Stop/JoinCapture).
    • The ConnectionStateChanged and Eos room events.

    The candidates in .claude/skills/sync-rust-sdks/scripts/coverage_ignore.txt are still commented out, waiting for a decision.

Commits

  1. Update "rust-sdks" to livekit-ffi/v0.13.4: the submodule pointer and the six binaries. The regenerated protos are unchanged, and so is generate_proto.sh.
  2. Adapt LivekitRtc to livekit-ffi/v0.13.4: LivekitRtc/CHANGELOG.md and LivekitRtc/README.md.

πŸ€– Generated with Claude Code

@github-actions
github-actions Bot force-pushed the sync-rust-sdks/v0.13.4 branch from 9c699fd to fa39ef2 Compare November 5, 2026 10:31
@pabloFuente
pabloFuente merged commit 1b0a546 into main Nov 5, 2026
6 checks passed
@pabloFuente
pabloFuente deleted the sync-rust-sdks/v0.13.4 branch November 5, 2026 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant