Skip to content

Bump livekit ffi to 0.12.73 - #766

Open
1egoman wants to merge 5 commits into
mainfrom
bump-livekit-ffi
Open

Bump livekit ffi to 0.12.73#766
1egoman wants to merge 5 commits into
mainfrom
bump-livekit-ffi

Conversation

@1egoman

@1egoman 1egoman commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Updates livekit-ffi to the latest version, which contains data streams v2.

In addition to the ffi package update itself, there's a bit more that has to be done here because the python sdk today has its own data streams implementation. I'm working on migrating this package to use the livekit-ffi provided data streams but in the meantime, if the livekit-ffi update was done today, then it would mean that the newly introduced client_protocol of 2 would be advertised, and the pre-existing python implementation would receive data stream v2 messages, not v1 (ie, single packet data streams, compression, etc could be sent to the existing python data streams code).

To address this, I've added a temporary livekit-ffi specific options.data_stream.use_legacy_client_implementation flag which can be set to disable advertising the new client protocol. What this means in practice:

  • Outgoing data streams will all be v1 (uses python data streams implementation)
  • Incoming data streams will all be v1 (other participants see client_protocol of 1, so no inline content / compression)
  • Outgoing RPCs will be potentially v1 or v2 (this within the rust code is powered by livekit-ffi's data streams implementation, just like it works today)
  • Incoming RPCs will also potentially be data streams v1 or data streams v2 powered (for the same reason)

Once livekit-ffi data stream migration is done in the above linked pull request, I'll merge it and drop this flag both here and on the rust sdk end, and then everything will use data streams v2 everywhere.

I've tested this locally (all the data streams and rpc paths above) with success.

Todo

  • Merge rust data streams v2 pull request: Data streams v2 rust-sdks#1192
  • Do livekit-ffi release
  • Bump version in here, then ci should pass
  • Do final round of testing with everything pointed at the final release builds

@1egoman
1egoman force-pushed the bump-livekit-ffi branch 2 times, most recently from 5c0d922 to 758f0f1 Compare July 28, 2026 21:28
@1egoman 1egoman changed the title Bump livekit ffi Bump livekit ffi to 0.12.73 Jul 29, 2026
1egoman and others added 2 commits July 29, 2026 12:24
Regenerated with the toolchain the CI job uses (protoc 25.1 +
mypy-protobuf 3.6.0), picking up the new data track schema messages
(DefineSchema / GetSchema).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`uvx ruff` resolves to the newest ruff release on every run, so the
0.16.0 release turned CI red on main and on open PRs without any code
change: its expanded default rule set reports 700+ findings and its
formatter now rewrites code blocks in markdown. Using `uv run ruff`
pins the linter to the version in uv.lock (0.15.4), so lint results
only move when the lockfile is intentionally updated.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Comment on lines 20 to -25

# Use the ruff version pinned in uv.lock rather than uvx's latest release,
# so lint results only change when the lockfile is intentionally updated.
- name: Ruff livekit-api
run: uvx ruff check --output-format=github .
run: uv run ruff check --output-format=github .

- name: Check format
run: uvx ruff format --check .

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit of a drive by fix, but I noticed that running ruff otherwise locally resulted in different formatted code then what I was getting in CI (which left the ci build in a failing state)

@1egoman
1egoman marked this pull request as ready for review July 29, 2026 16:31

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@1egoman

1egoman commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Did a final round of light testing with a data streams v2 capable client:

  • Data streams sent manually from an agent running this build are v1
  • RPC requests sent manually from an agent are v2

I did some ac hoc conversation back and forth and the whole agent lifecycle seemed to work fine. I could use some help validating anything more in depth though that uses data streams, like any specific plugins / etc.

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