Skip to content

Upgrade to uniffi 25

Didier Villevalois requested to merge upgrade-to-uniffi-25 into main
  • Updated to UniFFi 0.25.1
  • Refactored the binding implementation to be more inline with the Kotlin/Android binding implementation of upstream, so that it will be easier to follow the future changes. This means that:
    • The kotlin-uniffi-base directory is gone.
    • Everything is in templates
    • There are only two root templates (for each target) invoked from Rust (wrapper.kt and Types.kt) as in the upstream Kotlin/Android binding.
    • We produce a unique generated/{target}Main/{crate}/{crate}.{target}.kt file per target (plus the C header for the Kotlin/Native part).
  • Implemented support for Rust futures and Kotlin suspend functions.

Note that this target currently target commit https://github.com/mozilla/uniffi-rs/tree/7cd3aac735e905e1725d350a7a82d57aa50caaa1 of the main branch, as I needed two fixes that were not in 0.25.1. I propose that we move to 0.25.2 when it will be out, and make a first release at that same time.

Edited by Didier Villevalois

Merge request reports