Repository navigation
Bump to livekit-ffi/v0.13.2 (drop compromised eMudhra roots) - #891
Conversation
livekit-ffi 0.13.2 builds against libwebrtc webrtc-a545de4, whose compiled-in TURN/TLS roots no longer include AAA Certificate Services, the root that cross-signs the compromised eMudhra intermediates. The capture stubs are regenerated with protoc 25.1 and mypy-protobuf 3.6.0, as in build-rtc.yml; capture.proto is the only FFI proto that changed since v0.12.80. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BsJ5Refi6x7GqXMqH4gJ4i
|
All 12
I don't know of a fix yet. #892 changes Generated by Claude Code |
|
I’ve just created a PR for a minor update v1.2.0; once it’s merged, it just needs one more reviewer before it can be released. |
|
@cloudwebrtc thanks! Heads up: #897 was cut at 00:02 UTC from Re-dispatching "Publish to PyPI" ( Generated by Claude Code |
|
@erikhortsch Alright, I’ve just merged the updates from |
What changed
livekit-rtc/rust-sdks: submodule5a656c4(livekit-ffi v0.12.80) →7f3ddc0(livekit-ffi v0.13.2).download_ffi.pyreads the FFI version from the submodule'slivekit-ffi/Cargo.toml, so wheels now bundle 0.13.2.livekit-rtc/livekit/rtc/_proto/capture_pb2.py/.pyi: regenerated.capture.protois the only FFI proto that changed between v0.12.80 and v0.13.2. The diff is additive: theCaptureError.kindenum and the GStreamer source config messages.This follows the same shape as #822 and #829.
Why
On 2026-10-20 the keys of eight eMudhra intermediate CAs were disclosed as compromised. They are cross-signed by
AAA Certificate Services.rtc_base/ssl_roots.h). Every FFI before 0.13.2 still includes AAA there.webrtc-a545de4, whose refreshed roots drop AAA. 0.13.1 fixed only the Rust TLS side.What else comes with 0.12.80 → 0.13.2
For the protobuf/C-ABI surface this SDK uses, livekit-ffi's changelog says 0.13.0 "builds unchanged". The 0.13.0 breaking changes are the UniFFI package renames for Swift, Android and Flutter.
The full list is in the livekit-ffi changelog (0.12.81 to 0.13.2). It includes data stream recipient targeting,
Room::closefinality, RPC reply handling after the recipient leaves, and the VAAPI/NVENC fixes.Note: the
livekit-ffi/v0.13.2tag sits on7f3ddc0, one commit after the knope release commit. The published 0.13.2 binaries therefore also include livekit/rust-sdks#1527 (negotiated data channels, used only with protocol ≥ 18 and single PC).Testing
build-rtc.yml: protoc 25.1, mypy-protobuf 3.6.0, protobuf < 5. As a check, regenerating against the old submodule reproducesmain's committed stubs byte for byte.linux-x86_64FFI and ranpytest tests/rtcwithout the e2e suites: 79 passed, 18 skipped.test_agc,test_apm,test_resampler), only because the LFS wav fixtures were not fetched in my checkout.import livekit.rtcloads the 0.13.2 library.make type-checkpasses.ruff checkpasses.Release
There is an open release PR, #889 (
livekit v1.1.22), cut before this bump, so it still bundles FFI 0.12.80. After this merges, re-dispatching "Publish to PyPI" (livekit, patch) supersedes #889. The new release PR then needs 2 approvals (release gate).Generated by Claude Code