Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 14, 2026

Bumps uniffi from 0.29.5 to 0.31.0.

Changelog

Sourced from uniffi's changelog.

v0.31.0 (backend crates: v0.31.0) - (2026-01-14)

⚠️ Breaking Changes ⚠️

  • The uniffi-bindgen command no longer accepts the --lib-file argument. Instead, pass the library directly without a UDL file.
  • Removed the [Swift|Kotlin|Python|Ruby]BindingGenerator types. Use uniffi::generate instead to generate these bindings.

What's Deprecated?

  • BindgenCrateConfigSupplier. Use the new BindgenPaths type instead.

What's New?

  • Added the uniffi::generate function. This implements the uniffi-bindgen generate command and allows it to be run programmatically.
  • The --library argument of uniffi-bindgen is deprecated and no longer has an effect. uniffi-bindgen will now auto-detect when the source path is a library rather than a UDL file.
  • All builtin bindings support renaming almost all of the interface (types, args, items, variants, etc) via TOML definitions - see the docs. (#2715)
  • Support for methods on records and enums (#2706, #2724, #2739).
  • Added the BindgenPaths type, which is the new way to find UDL and TOML data.
  • Enum variants can now be renamed with the proc-macro name = "NewVariantName" attribute (#2783)
  • It's now possible to build a uniffi-bindgen that doesn't depend on cargo-metadata (#2746)
  • MSR is now 1.87, our CI runs against 1.90.

What's Fixed

  • Kotlin: Rust enums with nested payload types are generated using the inner type’s fully qualified name, avoiding naming conflicts and allowing payloads to reuse the variant name (#2698).
  • Kotlin: Enums and errors now support exporting trait methods (Display, Debug, Eq, Hash, Ord) via toString(), equals(), hashCode(), and compareTo() implementations. Flat enums only support exporting Display. (#2700).
  • Kotlin: Initialization functions now have a stable ordering (#2718)
  • Prevented a potential segfault when completing foreign futures (#2733)
  • Swift: exporting Eq, Cmp etc would generate invalid code if the Rust name had unusual captialization (#2707).
  • Fix an issue when an impl block has only async constructors (#2778)
  • Fix issues parsing some #[doc(...)] attributes in exported blocks (#2777)
  • Fix extracting metadata from multi-arch binary files (#2750)
  • Python: improve generated code for __eq__ (#2741)

⚠️ Breaking Changes ⚠️

  • Method checksums no longer include the self type. This shouldn't affect normal use. However checksum comparisons will fail if bindings built with 0.30.x and the Rust code is built with 0.31.x, or vice-versa.

⚠️ Breaking Changes for external bindings authors ⚠️

  • The module_path field now stores full module paths rather than crate names only. External bindings authors will probably need to make some minor changes to work with this. See mozilla/uniffi-rs#2695 for examples.

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Jan 14, 2026
@dependabot dependabot bot requested a review from a team January 14, 2026 15:35
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Jan 14, 2026
@github-actions
Copy link

github-actions bot commented Jan 14, 2026

🐰 Bencher Report

Branchdependabot/cargo/uniffi-0.31.0
Testbedubuntu-latest

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds flag.

Click to view all benchmark results
BenchmarkLatencymicroseconds (µs)
Create group/cs1/mem📈 view plot
⚠️ NO THRESHOLD
317.34 µs
Join from external commit f(group size)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
235,000.00 µs
Join from external commit f(group size)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
1,373.80 µs
Join from external commit f(group size)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
48,442.00 µs
Join from external commit f(group size)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
95,324.00 µs
Join from external commit f(group size)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
143,410.00 µs
Join from external commit f(group size)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
188,660.00 µs
Join from welcome f(group size)/cs1/mem/1002📈 view plot
⚠️ NO THRESHOLD
105,660.00 µs
Join from welcome f(group size)/cs1/mem/2📈 view plot
⚠️ NO THRESHOLD
883.15 µs
Join from welcome f(group size)/cs1/mem/202📈 view plot
⚠️ NO THRESHOLD
21,871.00 µs
Join from welcome f(group size)/cs1/mem/402📈 view plot
⚠️ NO THRESHOLD
42,816.00 µs
Join from welcome f(group size)/cs1/mem/602📈 view plot
⚠️ NO THRESHOLD
63,974.00 µs
Join from welcome f(group size)/cs1/mem/802📈 view plot
⚠️ NO THRESHOLD
84,512.00 µs
🐰 View full continuous benchmarking report in Bencher

@dependabot dependabot bot force-pushed the dependabot/cargo/uniffi-0.31.0 branch 2 times, most recently from 1dd6418 to 2c15c59 Compare January 22, 2026 09:33
Bumps [uniffi](https://github.com/mozilla/uniffi-rs) from 0.29.5 to 0.31.0.
- [Changelog](https://github.com/mozilla/uniffi-rs/blob/v0.31.0/CHANGELOG.md)
- [Commits](mozilla/uniffi-rs@v0.29.5...v0.31.0)

---
updated-dependencies:
- dependency-name: uniffi
  dependency-version: 0.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/cargo/uniffi-0.31.0 branch from 2c15c59 to 10cf00c Compare January 22, 2026 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant