Skip to content

Update uniffi to 0.31.2#102

Open
pblazej wants to merge 1 commit into
antoniusnaumann:mainfrom
livekit:update-uniffi-0.31.2
Open

Update uniffi to 0.31.2#102
pblazej wants to merge 1 commit into
antoniusnaumann:mainfrom
livekit:update-uniffi-0.31.2

Conversation

@pblazej

@pblazej pblazej commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Bumps uniffi_bindgen from 0.31.1 to 0.31.2.

The notable change for the Swift backend is
mozilla/uniffi-rs#2886
(swift: nonisolated(unsafe) on callback vtablePtr), shipped in
uniffi 0.31.2
as "Prevent strict concurrency warning with callback interface tables".

Under the Swift 6 language mode a non-isolated static let of a non-Sendable type is
rejected, so the callback-interface vtablePtr emitted by 0.31.1 only compiles in Swift 5
mode. With 0.31.2 it is generated as nonisolated(unsafe), so packages with callback
interfaces build cleanly under the Swift 6 language mode without falling back to
swiftLanguageModes: [.v5].

@pblazej pblazej force-pushed the update-uniffi-0.31.2 branch from 4c9a2a3 to 1853329 Compare June 26, 2026 08:55
@pblazej pblazej changed the title Update uniffi to 0.31.2, bump cargo-swift to 0.11.2 Update uniffi to 0.31.2 Jun 26, 2026
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pblazej pblazej force-pushed the update-uniffi-0.31.2 branch from 1853329 to daefee5 Compare June 26, 2026 09:04
pblazej added a commit to livekit/rust-sdks that referenced this pull request Jun 26, 2026
The fork's fix/multi-crate-framework branch was rebased onto cargo-swift main as a single
commit (open upstream as antoniusnaumann/cargo-swift#101) and no longer carries the
uniffi_bindgen 0.31.2 bump — that went to its own PR (antoniusnaumann/cargo-swift#102).
Re-pin the swift-xcframework task to the new revision.

Without that bindgen bump the generated callback-interface vtables are plain `static let`,
which the Swift 6 language mode rejects, so restore `swiftLanguageModes: [.v5]` in the
package templates until cargo-swift ships uniffi 0.31.2.

Give livekit-datatrack a uniffi.toml setting ffi_module_name = "RustLiveKitDataTrack" so its
generated FFI header matches the RustLiveKitUniFFI naming instead of the default
livekit_datatrackFFI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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