From 6a2441a5eabe6a905851b67417790498fe218598 Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Wed, 18 Oct 2023 13:27:07 -0400 Subject: [PATCH 1/7] chore: Release --- CHANGELOG.md | 6 +++++- Cargo.lock | 16 ++++++++-------- uniffi/Cargo.toml | 8 ++++---- uniffi_bindgen/Cargo.toml | 8 ++++---- uniffi_build/Cargo.toml | 4 ++-- uniffi_checksum_derive/Cargo.toml | 2 +- uniffi_core/Cargo.toml | 2 +- uniffi_macros/Cargo.toml | 6 +++--- uniffi_meta/Cargo.toml | 4 ++-- uniffi_testing/Cargo.toml | 2 +- uniffi_udl/Cargo.toml | 6 +++--- 11 files changed, 34 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a56d07276f..792ef0b765 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,11 @@ -## [[UnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) +## [[NextUnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) + +[All changes in [[NextUnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.0...NEXT_HEAD). + +## [[UnreleasedUniFFIVersion]] (backend crates: v0.25.0) - (_2023-10-18_) [All changes in [[UnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.24.3...HEAD). diff --git a/Cargo.lock b/Cargo.lock index ef1d6bfe1b..0e4b8600d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1935,7 +1935,7 @@ dependencies = [ [[package]] name = "uniffi_bindgen" -version = "0.24.3" +version = "0.25.0" dependencies = [ "anyhow", "askama", @@ -1957,7 +1957,7 @@ dependencies = [ [[package]] name = "uniffi_build" -version = "0.24.3" +version = "0.25.0" dependencies = [ "anyhow", "camino", @@ -1966,7 +1966,7 @@ dependencies = [ [[package]] name = "uniffi_checksum_derive" -version = "0.24.3" +version = "0.25.0" dependencies = [ "quote", "syn", @@ -1974,7 +1974,7 @@ dependencies = [ [[package]] name = "uniffi_core" -version = "0.24.3" +version = "0.25.0" dependencies = [ "anyhow", "async-compat", @@ -1989,7 +1989,7 @@ dependencies = [ [[package]] name = "uniffi_macros" -version = "0.24.3" +version = "0.25.0" dependencies = [ "bincode", "camino", @@ -2006,7 +2006,7 @@ dependencies = [ [[package]] name = "uniffi_meta" -version = "0.24.3" +version = "0.25.0" dependencies = [ "anyhow", "bytes", @@ -2016,7 +2016,7 @@ dependencies = [ [[package]] name = "uniffi_testing" -version = "0.24.3" +version = "0.25.0" dependencies = [ "anyhow", "camino", @@ -2027,7 +2027,7 @@ dependencies = [ [[package]] name = "uniffi_udl" -version = "0.24.3" +version = "0.25.0" dependencies = [ "anyhow", "uniffi_meta", diff --git a/uniffi/Cargo.toml b/uniffi/Cargo.toml index a5ffc0b79f..194690ec8e 100644 --- a/uniffi/Cargo.toml +++ b/uniffi/Cargo.toml @@ -14,10 +14,10 @@ edition = "2021" keywords = ["ffi", "bindgen"] [dependencies] -uniffi_bindgen = { path = "../uniffi_bindgen", version = "=0.24.3", optional = true } -uniffi_build = { path = "../uniffi_build", version = "=0.24.3", optional = true } -uniffi_core = { path = "../uniffi_core", version = "=0.24.3" } -uniffi_macros = { path = "../uniffi_macros", version = "=0.24.3" } +uniffi_bindgen = { path = "../uniffi_bindgen", version = "=0.25.0", optional = true } +uniffi_build = { path = "../uniffi_build", version = "=0.25.0", optional = true } +uniffi_core = { path = "../uniffi_core", version = "=0.25.0" } +uniffi_macros = { path = "../uniffi_macros", version = "=0.25.0" } anyhow = "1" camino = { version = "1.0.8", optional = true } clap = { version = "4", features = ["cargo", "std", "derive"], optional = true } diff --git a/uniffi_bindgen/Cargo.toml b/uniffi_bindgen/Cargo.toml index e2827ef520..3c7c6ce79c 100644 --- a/uniffi_bindgen/Cargo.toml +++ b/uniffi_bindgen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_bindgen" -version = "0.24.3" +version = "0.25.0" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (codegen and cli tooling)" documentation = "https://mozilla.github.io/uniffi-rs" @@ -23,7 +23,7 @@ once_cell = "1.12" paste = "1.0" serde = "1" toml = "0.5" -uniffi_meta = { path = "../uniffi_meta", version = "=0.24.3" } -uniffi_testing = { path = "../uniffi_testing", version = "=0.24.3" } -uniffi_udl = { path = "../uniffi_udl", version = "=0.24.3" } +uniffi_meta = { path = "../uniffi_meta", version = "=0.25.0" } +uniffi_testing = { path = "../uniffi_testing", version = "=0.25.0" } +uniffi_udl = { path = "../uniffi_udl", version = "=0.25.0" } clap = { version = "4", default-features = false, features = ["std", "derive"], optional = true } diff --git a/uniffi_build/Cargo.toml b/uniffi_build/Cargo.toml index 8f6c69c621..2c3057ded7 100644 --- a/uniffi_build/Cargo.toml +++ b/uniffi_build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_build" -version = "0.24.3" +version = "0.25.0" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (build script helpers)" documentation = "https://mozilla.github.io/uniffi-rs" @@ -13,7 +13,7 @@ keywords = ["ffi", "bindgen"] [dependencies] anyhow = "1" camino = "1.0.8" -uniffi_bindgen = { path = "../uniffi_bindgen", default-features = false, version = "=0.24.3" } +uniffi_bindgen = { path = "../uniffi_bindgen", default-features = false, version = "=0.25.0" } [features] default = [] diff --git a/uniffi_checksum_derive/Cargo.toml b/uniffi_checksum_derive/Cargo.toml index eb24f30b59..d76b7c418b 100644 --- a/uniffi_checksum_derive/Cargo.toml +++ b/uniffi_checksum_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_checksum_derive" -version = "0.24.3" +version = "0.25.0" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (checksum custom derive)" documentation = "https://mozilla.github.io/uniffi-rs" diff --git a/uniffi_core/Cargo.toml b/uniffi_core/Cargo.toml index 7b9ab4fb72..fa50e0c295 100644 --- a/uniffi_core/Cargo.toml +++ b/uniffi_core/Cargo.toml @@ -4,7 +4,7 @@ description = "a multi-language bindings generator for rust (runtime support cod documentation = "https://mozilla.github.io/uniffi-rs" homepage = "https://mozilla.github.io/uniffi-rs" repository = "https://github.com/mozilla/uniffi-rs" -version = "0.24.3" +version = "0.25.0" authors = ["Firefox Sync Team "] license = "MPL-2.0" edition = "2021" diff --git a/uniffi_macros/Cargo.toml b/uniffi_macros/Cargo.toml index 15335a5800..1e2ebd4299 100644 --- a/uniffi_macros/Cargo.toml +++ b/uniffi_macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_macros" -version = "0.24.3" +version = "0.25.0" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (convenience macros)" documentation = "https://mozilla.github.io/uniffi-rs" @@ -23,8 +23,8 @@ quote = "1.0" serde = "1.0.136" syn = { version = "2.0", features = ["full", "visit-mut"] } toml = "0.5.9" -uniffi_build = { path = "../uniffi_build", version = "=0.24.3" } -uniffi_meta = { path = "../uniffi_meta", version = "=0.24.3" } +uniffi_build = { path = "../uniffi_build", version = "=0.25.0" } +uniffi_meta = { path = "../uniffi_meta", version = "=0.25.0" } [features] default = [] diff --git a/uniffi_meta/Cargo.toml b/uniffi_meta/Cargo.toml index 2d7e62729a..d2a4dbe0ac 100644 --- a/uniffi_meta/Cargo.toml +++ b/uniffi_meta/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_meta" -version = "0.24.3" +version = "0.25.0" edition = "2021" description = "uniffi_meta" homepage = "https://mozilla.github.io/uniffi-rs" @@ -12,4 +12,4 @@ keywords = ["ffi", "bindgen"] anyhow = "1" bytes = "1.3" siphasher = "0.3" -uniffi_checksum_derive = { version = "0.24.3", path = "../uniffi_checksum_derive" } +uniffi_checksum_derive = { version = "0.25.0", path = "../uniffi_checksum_derive" } diff --git a/uniffi_testing/Cargo.toml b/uniffi_testing/Cargo.toml index 58f3f22392..cfec745d2a 100644 --- a/uniffi_testing/Cargo.toml +++ b/uniffi_testing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_testing" -version = "0.24.3" +version = "0.25.0" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (testing helpers)" documentation = "https://mozilla.github.io/uniffi-rs" diff --git a/uniffi_udl/Cargo.toml b/uniffi_udl/Cargo.toml index 0bf620053f..e3062a864b 100644 --- a/uniffi_udl/Cargo.toml +++ b/uniffi_udl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_udl" -version = "0.24.3" +version = "0.25.0" description = "udl parsing for the uniffi project" documentation = "https://mozilla.github.io/uniffi-rs" homepage = "https://mozilla.github.io/uniffi-rs" @@ -12,5 +12,5 @@ keywords = ["ffi", "bindgen"] [dependencies] anyhow = "1" weedle2 = { version = "4.0.0", path = "../weedle2" } -uniffi_meta = { path = "../uniffi_meta", version = "=0.24.3" } -uniffi_testing = { path = "../uniffi_testing", version = "=0.24.3" } +uniffi_meta = { path = "../uniffi_meta", version = "=0.25.0" } +uniffi_testing = { path = "../uniffi_testing", version = "=0.25.0" } From a0fb644361c1f3e4744ef73f2e94f7ca288f65a0 Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Wed, 18 Oct 2023 13:39:05 -0400 Subject: [PATCH 2/7] chore: Release --- CHANGELOG.md | 8 ++++---- Cargo.lock | 2 +- examples/app/uniffi-bindgen-cli/Cargo.toml | 2 +- examples/arithmetic/Cargo.toml | 6 +++--- examples/callbacks/Cargo.toml | 6 +++--- examples/custom-types/Cargo.toml | 6 +++--- examples/geometry/Cargo.toml | 6 +++--- examples/rondpoint/Cargo.toml | 6 +++--- examples/sprites/Cargo.toml | 6 +++--- examples/todolist/Cargo.toml | 6 +++--- examples/traits/Cargo.toml | 6 +++--- fixtures/benchmarks/Cargo.toml | 4 ++-- fixtures/callbacks/Cargo.toml | 6 +++--- fixtures/coverall/Cargo.toml | 6 +++--- fixtures/ext-types/guid/Cargo.toml | 6 +++--- fixtures/ext-types/http-headermap/Cargo.toml | 6 +++--- fixtures/ext-types/lib/Cargo.toml | 6 +++--- fixtures/ext-types/uniffi-one/Cargo.toml | 4 ++-- fixtures/foreign-executor/Cargo.toml | 6 +++--- fixtures/futures/Cargo.toml | 6 +++--- fixtures/keywords/kotlin/Cargo.toml | 6 +++--- fixtures/keywords/rust/Cargo.toml | 6 +++--- fixtures/keywords/swift/Cargo.toml | 6 +++--- fixtures/large-enum/Cargo.toml | 6 +++--- fixtures/metadata/Cargo.toml | 2 +- fixtures/proc-macro/Cargo.toml | 6 +++--- fixtures/reexport-scaffolding-macro/Cargo.toml | 4 ++-- .../cdylib-crate-type-dependency/ffi-crate/Cargo.toml | 6 +++--- fixtures/regressions/enum-without-i32-helpers/Cargo.toml | 6 +++--- fixtures/regressions/fully-qualified-types/Cargo.toml | 4 ++-- .../kotlin-experimental-unsigned-types/Cargo.toml | 6 +++--- .../regressions/logging-callback-interface/Cargo.toml | 6 +++--- fixtures/regressions/missing-newline/Cargo.toml | 6 +++--- fixtures/regressions/nested-module-import/Cargo.toml | 4 ++-- .../regressions/swift-callbacks-omit-labels/Cargo.toml | 6 +++--- fixtures/regressions/swift-dictionary-nesting/Cargo.toml | 6 +++--- fixtures/regressions/unary-result-alias/Cargo.toml | 6 +++--- fixtures/simple-fns/Cargo.toml | 6 +++--- fixtures/simple-iface/Cargo.toml | 6 +++--- fixtures/swift-bridging-header-compile/Cargo.toml | 6 +++--- fixtures/swift-omit-labels/Cargo.toml | 6 +++--- fixtures/trait-methods/Cargo.toml | 6 +++--- fixtures/type-limits/Cargo.toml | 6 +++--- fixtures/uitests/Cargo.toml | 2 +- fixtures/uniffi-fixture-time/Cargo.toml | 6 +++--- fixtures/version-mismatch/Cargo.toml | 4 ++-- uniffi/Cargo.toml | 2 +- 47 files changed, 126 insertions(+), 126 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 792ef0b765..c11ebe8acf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,13 +10,13 @@ -## [[NextUnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) +## [[UnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) -[All changes in [[NextUnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.0...NEXT_HEAD). +[All changes in [[UnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.0...HEAD). -## [[UnreleasedUniFFIVersion]] (backend crates: v0.25.0) - (_2023-10-18_) +## v0.25.0 (backend crates: v0.25.0) - (_2023-10-18_) -[All changes in [[UnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.24.3...HEAD). +[All changes in v0.25.0](https://github.com/mozilla/uniffi-rs/compare/v0.24.3...v0.25.0). ### What's new - Proc-macros can now expose standard Rust traits (eg, `Display`, `Eq`, etc) diff --git a/Cargo.lock b/Cargo.lock index 0e4b8600d6..98b69dc3a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1557,7 +1557,7 @@ dependencies = [ [[package]] name = "uniffi" -version = "0.24.3" +version = "0.25.0" dependencies = [ "anyhow", "camino", diff --git a/examples/app/uniffi-bindgen-cli/Cargo.toml b/examples/app/uniffi-bindgen-cli/Cargo.toml index 76e46a744c..eb98051aa2 100644 --- a/examples/app/uniffi-bindgen-cli/Cargo.toml +++ b/examples/app/uniffi-bindgen-cli/Cargo.toml @@ -9,4 +9,4 @@ name = "uniffi-bindgen" path = "uniffi-bindgen.rs" [dependencies] -uniffi = { path = "../../../uniffi", version = "0.24", features = ["cli"] } +uniffi = { path = "../../../uniffi", version = "0.25", features = ["cli"] } diff --git a/examples/arithmetic/Cargo.toml b/examples/arithmetic/Cargo.toml index 7be3b6801c..61b9965705 100644 --- a/examples/arithmetic/Cargo.toml +++ b/examples/arithmetic/Cargo.toml @@ -11,11 +11,11 @@ crate-type = ["lib", "cdylib"] name = "arithmetical" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/examples/callbacks/Cargo.toml b/examples/callbacks/Cargo.toml index f5d50f1b4c..de5d42fc44 100644 --- a/examples/callbacks/Cargo.toml +++ b/examples/callbacks/Cargo.toml @@ -11,11 +11,11 @@ crate-type = ["lib", "cdylib"] name = "uniffi_callbacks" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/examples/custom-types/Cargo.toml b/examples/custom-types/Cargo.toml index ddc0c752ee..63929b06ad 100644 --- a/examples/custom-types/Cargo.toml +++ b/examples/custom-types/Cargo.toml @@ -13,11 +13,11 @@ name = "custom_types" [dependencies] anyhow = "1" bytes = "1.3" -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } url = "2.2" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/examples/geometry/Cargo.toml b/examples/geometry/Cargo.toml index 158e4317f4..e4b678c528 100644 --- a/examples/geometry/Cargo.toml +++ b/examples/geometry/Cargo.toml @@ -11,10 +11,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_geometry" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/examples/rondpoint/Cargo.toml b/examples/rondpoint/Cargo.toml index 16b3a2739c..2e5b74a871 100644 --- a/examples/rondpoint/Cargo.toml +++ b/examples/rondpoint/Cargo.toml @@ -11,10 +11,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_rondpoint" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/examples/sprites/Cargo.toml b/examples/sprites/Cargo.toml index 3f3c22fdf7..6d6a1b459e 100644 --- a/examples/sprites/Cargo.toml +++ b/examples/sprites/Cargo.toml @@ -11,10 +11,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_sprites" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/examples/todolist/Cargo.toml b/examples/todolist/Cargo.toml index 26d57a1f9d..a0c1bb7443 100644 --- a/examples/todolist/Cargo.toml +++ b/examples/todolist/Cargo.toml @@ -11,12 +11,12 @@ crate-type = ["lib", "cdylib"] name = "uniffi_todolist" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } once_cell = "1.12" thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/examples/traits/Cargo.toml b/examples/traits/Cargo.toml index b53df91c04..ce59b10336 100644 --- a/examples/traits/Cargo.toml +++ b/examples/traits/Cargo.toml @@ -11,12 +11,12 @@ crate-type = ["lib", "cdylib"] name = "uniffi_traits" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/benchmarks/Cargo.toml b/fixtures/benchmarks/Cargo.toml index f5a72ae5e0..786ddffbb9 100644 --- a/fixtures/benchmarks/Cargo.toml +++ b/fixtures/benchmarks/Cargo.toml @@ -12,12 +12,12 @@ name = "uniffi_benchmarks" bench = false [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } clap = { version = "4", features = ["cargo", "std", "derive"] } criterion = "0.5.1" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] uniffi_bindgen = {path = "../../uniffi_bindgen"} diff --git a/fixtures/callbacks/Cargo.toml b/fixtures/callbacks/Cargo.toml index 7ff5520479..2ca21fdbce 100644 --- a/fixtures/callbacks/Cargo.toml +++ b/fixtures/callbacks/Cargo.toml @@ -11,11 +11,11 @@ crate-type = ["lib", "cdylib"] name = "uniffi_fixture_callbacks" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/coverall/Cargo.toml b/fixtures/coverall/Cargo.toml index a755924b3f..e707deb8f5 100644 --- a/fixtures/coverall/Cargo.toml +++ b/fixtures/coverall/Cargo.toml @@ -11,12 +11,12 @@ crate-type = ["lib", "cdylib"] name = "uniffi_coverall" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } once_cell = "1.12" thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/ext-types/guid/Cargo.toml b/fixtures/ext-types/guid/Cargo.toml index 80380b5cde..58b47615a0 100644 --- a/fixtures/ext-types/guid/Cargo.toml +++ b/fixtures/ext-types/guid/Cargo.toml @@ -14,10 +14,10 @@ name = "ext_types_guid" anyhow = "1" bytes = "1.3" thiserror = "1.0" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/ext-types/http-headermap/Cargo.toml b/fixtures/ext-types/http-headermap/Cargo.toml index 1b5428b6ab..629bf12507 100644 --- a/fixtures/ext-types/http-headermap/Cargo.toml +++ b/fixtures/ext-types/http-headermap/Cargo.toml @@ -14,10 +14,10 @@ anyhow = "1" bytes = "1.3" http = "0.2.9" thiserror = "1.0" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/ext-types/lib/Cargo.toml b/fixtures/ext-types/lib/Cargo.toml index 0438e2995a..46351fbf8f 100644 --- a/fixtures/ext-types/lib/Cargo.toml +++ b/fixtures/ext-types/lib/Cargo.toml @@ -21,7 +21,7 @@ name = "uniffi_ext_types_lib" [dependencies] anyhow = "1" bytes = "1.3" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } uniffi-fixture-ext-types-external-crate = {path = "../external-crate"} uniffi-fixture-ext-types-lib-one = {path = "../uniffi-one"} @@ -33,7 +33,7 @@ uniffi-example-custom-types = {path = "../../../examples/custom-types"} url = "2.2" [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/ext-types/uniffi-one/Cargo.toml b/fixtures/ext-types/uniffi-one/Cargo.toml index 493db47288..05b9533df6 100644 --- a/fixtures/ext-types/uniffi-one/Cargo.toml +++ b/fixtures/ext-types/uniffi-one/Cargo.toml @@ -14,7 +14,7 @@ name = "uniffi_one" [dependencies] anyhow = "1" bytes = "1.3" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } diff --git a/fixtures/foreign-executor/Cargo.toml b/fixtures/foreign-executor/Cargo.toml index d12f34569a..57d7f4fd2b 100644 --- a/fixtures/foreign-executor/Cargo.toml +++ b/fixtures/foreign-executor/Cargo.toml @@ -10,10 +10,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_fixture_foreign_executor" [dependencies] -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } [build-dependencies] -uniffi = { path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = { path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = { path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = { path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/futures/Cargo.toml b/fixtures/futures/Cargo.toml index 9b566db5f4..78b08cb689 100644 --- a/fixtures/futures/Cargo.toml +++ b/fixtures/futures/Cargo.toml @@ -15,13 +15,13 @@ name = "uniffi-fixtures-futures" path = "src/bin.rs" [dependencies] -uniffi = { path = "../../uniffi", version = "0.24", features = ["tokio", "cli"] } +uniffi = { path = "../../uniffi", version = "0.25", features = ["tokio", "cli"] } thiserror = "1.0" tokio = { version = "1.24.1", features = ["time", "sync"] } once_cell = "1.18.0" [build-dependencies] -uniffi = { path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = { path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = { path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = { path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/keywords/kotlin/Cargo.toml b/fixtures/keywords/kotlin/Cargo.toml index 97d9a5214b..4db2755c97 100644 --- a/fixtures/keywords/kotlin/Cargo.toml +++ b/fixtures/keywords/kotlin/Cargo.toml @@ -11,10 +11,10 @@ name = "uniffi_keywords_kotlin" [dependencies] thiserror = "1.0" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/keywords/rust/Cargo.toml b/fixtures/keywords/rust/Cargo.toml index 98939c1a4c..d833071c55 100644 --- a/fixtures/keywords/rust/Cargo.toml +++ b/fixtures/keywords/rust/Cargo.toml @@ -11,10 +11,10 @@ name = "uniffi_keywords_rust" [dependencies] thiserror = "1.0" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/keywords/swift/Cargo.toml b/fixtures/keywords/swift/Cargo.toml index b7c35fd0bb..140646805f 100644 --- a/fixtures/keywords/swift/Cargo.toml +++ b/fixtures/keywords/swift/Cargo.toml @@ -11,10 +11,10 @@ name = "uniffi_keywords_swift" [dependencies] thiserror = "1.0" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/large-enum/Cargo.toml b/fixtures/large-enum/Cargo.toml index 29ee644ac5..9a7031d3f6 100644 --- a/fixtures/large-enum/Cargo.toml +++ b/fixtures/large-enum/Cargo.toml @@ -11,11 +11,11 @@ crate-type = ["lib", "cdylib"] name = "large_enum" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/metadata/Cargo.toml b/fixtures/metadata/Cargo.toml index a95c447885..441c2ca361 100644 --- a/fixtures/metadata/Cargo.toml +++ b/fixtures/metadata/Cargo.toml @@ -10,6 +10,6 @@ name = "uniffi_fixture_metadata" [dependencies] thiserror = "1.0" -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } uniffi_meta = { path = "../../uniffi_meta" } uniffi_core = { path = "../../uniffi_core" } diff --git a/fixtures/proc-macro/Cargo.toml b/fixtures/proc-macro/Cargo.toml index b504919b40..30a959ac7d 100644 --- a/fixtures/proc-macro/Cargo.toml +++ b/fixtures/proc-macro/Cargo.toml @@ -11,12 +11,12 @@ name = "uniffi_proc_macro" crate-type = ["lib", "cdylib"] [dependencies] -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } thiserror = "1.0" lazy_static = "1.4" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/reexport-scaffolding-macro/Cargo.toml b/fixtures/reexport-scaffolding-macro/Cargo.toml index 5e0f95048d..d494000c26 100644 --- a/fixtures/reexport-scaffolding-macro/Cargo.toml +++ b/fixtures/reexport-scaffolding-macro/Cargo.toml @@ -15,10 +15,10 @@ crate-type = ["lib", "cdylib"] [dependencies] uniffi-fixture-callbacks = { path = "../callbacks" } uniffi-fixture-coverall = { path = "../coverall" } -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } uniffi_bindgen = { path = "../../uniffi_bindgen" } [dev-dependencies] cargo_metadata = "0.15" libloading = "0.7" -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } diff --git a/fixtures/regressions/cdylib-crate-type-dependency/ffi-crate/Cargo.toml b/fixtures/regressions/cdylib-crate-type-dependency/ffi-crate/Cargo.toml index cd46829794..cb9159b6e0 100644 --- a/fixtures/regressions/cdylib-crate-type-dependency/ffi-crate/Cargo.toml +++ b/fixtures/regressions/cdylib-crate-type-dependency/ffi-crate/Cargo.toml @@ -11,11 +11,11 @@ crate-type = ["lib", "cdylib"] name = "uniffi_empty" [dependencies] -uniffi = {path = "../../../../uniffi", version = "0.24" } +uniffi = {path = "../../../../uniffi", version = "0.25" } uniffi-fixture-regression-cdylib-dependency = {path = "../cdylib-dependency"} [build-dependencies] -uniffi = {path = "../../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/regressions/enum-without-i32-helpers/Cargo.toml b/fixtures/regressions/enum-without-i32-helpers/Cargo.toml index 447274d90f..a3e61dcb9c 100644 --- a/fixtures/regressions/enum-without-i32-helpers/Cargo.toml +++ b/fixtures/regressions/enum-without-i32-helpers/Cargo.toml @@ -11,10 +11,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_regression_test_i356" [dependencies] -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/regressions/fully-qualified-types/Cargo.toml b/fixtures/regressions/fully-qualified-types/Cargo.toml index 0175d9cc6e..04954b2f4a 100644 --- a/fixtures/regressions/fully-qualified-types/Cargo.toml +++ b/fixtures/regressions/fully-qualified-types/Cargo.toml @@ -11,7 +11,7 @@ crate-type = ["lib", "cdylib"] name = "uniffi_regression_test_i1015" [dependencies] -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } diff --git a/fixtures/regressions/kotlin-experimental-unsigned-types/Cargo.toml b/fixtures/regressions/kotlin-experimental-unsigned-types/Cargo.toml index 40d699945b..73d9886df6 100644 --- a/fixtures/regressions/kotlin-experimental-unsigned-types/Cargo.toml +++ b/fixtures/regressions/kotlin-experimental-unsigned-types/Cargo.toml @@ -11,10 +11,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_regression_test_kt_unsigned_types" [dependencies] -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/regressions/logging-callback-interface/Cargo.toml b/fixtures/regressions/logging-callback-interface/Cargo.toml index 4a7f7bd952..d67931cb00 100644 --- a/fixtures/regressions/logging-callback-interface/Cargo.toml +++ b/fixtures/regressions/logging-callback-interface/Cargo.toml @@ -11,10 +11,10 @@ name = "uniffi_regression_logging_callback_interface" [dependencies] log = "0.4" -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/regressions/missing-newline/Cargo.toml b/fixtures/regressions/missing-newline/Cargo.toml index 03c5559b51..ec2c06000f 100644 --- a/fixtures/regressions/missing-newline/Cargo.toml +++ b/fixtures/regressions/missing-newline/Cargo.toml @@ -10,10 +10,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_regression_test_missing_newline" [dependencies] -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/regressions/nested-module-import/Cargo.toml b/fixtures/regressions/nested-module-import/Cargo.toml index 36b3118b1f..f9401790be 100644 --- a/fixtures/regressions/nested-module-import/Cargo.toml +++ b/fixtures/regressions/nested-module-import/Cargo.toml @@ -11,7 +11,7 @@ crate-type = ["lib", "cdylib"] name = "uniffi_regression_test_nested_module_import" [dependencies] -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } diff --git a/fixtures/regressions/swift-callbacks-omit-labels/Cargo.toml b/fixtures/regressions/swift-callbacks-omit-labels/Cargo.toml index a2e8b927f0..3162f1e769 100644 --- a/fixtures/regressions/swift-callbacks-omit-labels/Cargo.toml +++ b/fixtures/regressions/swift-callbacks-omit-labels/Cargo.toml @@ -10,10 +10,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_regression_test_callbacks_omit_labels" [dependencies] -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/regressions/swift-dictionary-nesting/Cargo.toml b/fixtures/regressions/swift-dictionary-nesting/Cargo.toml index b48ad28290..e88551fb2e 100644 --- a/fixtures/regressions/swift-dictionary-nesting/Cargo.toml +++ b/fixtures/regressions/swift-dictionary-nesting/Cargo.toml @@ -10,10 +10,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_regression_test_swift_dictionary_nesting" [dependencies] -uniffi = {path = "../../../uniffi", version = "0.24" } +uniffi = {path = "../../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/regressions/unary-result-alias/Cargo.toml b/fixtures/regressions/unary-result-alias/Cargo.toml index b092599617..f9d8401e7e 100644 --- a/fixtures/regressions/unary-result-alias/Cargo.toml +++ b/fixtures/regressions/unary-result-alias/Cargo.toml @@ -10,11 +10,11 @@ name = "uniffi_unary_result_alias" crate-type = ["lib", "cdylib"] [dependencies] -uniffi = { path = "../../../uniffi", version = "0.24" } +uniffi = { path = "../../../uniffi", version = "0.25" } thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/simple-fns/Cargo.toml b/fixtures/simple-fns/Cargo.toml index 050996b401..0370744de0 100644 --- a/fixtures/simple-fns/Cargo.toml +++ b/fixtures/simple-fns/Cargo.toml @@ -11,10 +11,10 @@ name = "uniffi_simple_fns" crate-type = ["lib", "cdylib"] [dependencies] -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/simple-iface/Cargo.toml b/fixtures/simple-iface/Cargo.toml index 5c0cf05be5..8b47895c06 100644 --- a/fixtures/simple-iface/Cargo.toml +++ b/fixtures/simple-iface/Cargo.toml @@ -11,12 +11,12 @@ name = "uniffi_simple_iface" crate-type = ["lib", "cdylib"] [dependencies] -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } thiserror = "1.0" lazy_static = "1.4" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/swift-bridging-header-compile/Cargo.toml b/fixtures/swift-bridging-header-compile/Cargo.toml index d9f45c54a5..3b98b75921 100644 --- a/fixtures/swift-bridging-header-compile/Cargo.toml +++ b/fixtures/swift-bridging-header-compile/Cargo.toml @@ -10,13 +10,13 @@ name = "uniffi_swift_bridging_header_compiler" crate-type = ["lib", "cdylib"] [dependencies] -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } camino = "1.0.8" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests", "cli"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests", "cli"] } uniffi_testing = { path = "../../uniffi_testing" } anyhow = "1" diff --git a/fixtures/swift-omit-labels/Cargo.toml b/fixtures/swift-omit-labels/Cargo.toml index 7acca8296b..64f0042379 100644 --- a/fixtures/swift-omit-labels/Cargo.toml +++ b/fixtures/swift-omit-labels/Cargo.toml @@ -11,10 +11,10 @@ crate-type = ["lib", "cdylib"] name = "uniffi_omit_argument_labels" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/trait-methods/Cargo.toml b/fixtures/trait-methods/Cargo.toml index 563a242af3..a54a163b7a 100644 --- a/fixtures/trait-methods/Cargo.toml +++ b/fixtures/trait-methods/Cargo.toml @@ -10,13 +10,13 @@ crate-type = ["lib", "cdylib"] name = "uniffi_trait_methods" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } once_cell = "1.12" thiserror = "1.0" [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/type-limits/Cargo.toml b/fixtures/type-limits/Cargo.toml index 85407f1f3c..8ef933c8ad 100644 --- a/fixtures/type-limits/Cargo.toml +++ b/fixtures/type-limits/Cargo.toml @@ -10,10 +10,10 @@ name = "uniffi_type_limits" crate-type = ["lib", "cdylib"] [dependencies] -uniffi = { path = "../../uniffi", version = "0.24" } +uniffi = { path = "../../uniffi", version = "0.25" } [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/uitests/Cargo.toml b/fixtures/uitests/Cargo.toml index d00ff46095..18daede5ed 100644 --- a/fixtures/uitests/Cargo.toml +++ b/fixtures/uitests/Cargo.toml @@ -10,7 +10,7 @@ publish = false name = "uniffi_uitests" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } uniffi_macros = {path = "../../uniffi_macros"} thiserror = "1.0" diff --git a/fixtures/uniffi-fixture-time/Cargo.toml b/fixtures/uniffi-fixture-time/Cargo.toml index df96ab3f6b..f44c816d5d 100644 --- a/fixtures/uniffi-fixture-time/Cargo.toml +++ b/fixtures/uniffi-fixture-time/Cargo.toml @@ -11,12 +11,12 @@ crate-type = ["lib", "cdylib"] name = "uniffi_chronological" [dependencies] -uniffi = {path = "../../uniffi", version = "0.24" } +uniffi = {path = "../../uniffi", version = "0.25" } thiserror = "1.0" chrono = { version = "0.4.23", default-features = false, features = ["alloc", "std"] } [build-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["build"] } [dev-dependencies] -uniffi = {path = "../../uniffi", version = "0.24", features = ["bindgen-tests"] } +uniffi = {path = "../../uniffi", version = "0.25", features = ["bindgen-tests"] } diff --git a/fixtures/version-mismatch/Cargo.toml b/fixtures/version-mismatch/Cargo.toml index d02e28c172..5339b576f0 100644 --- a/fixtures/version-mismatch/Cargo.toml +++ b/fixtures/version-mismatch/Cargo.toml @@ -20,7 +20,7 @@ default = [] proc_macro_v2 = [] [dependencies] -uniffi = { path = "../../uniffi", version = "0.24", features = ["cli"]} +uniffi = { path = "../../uniffi", version = "0.25", features = ["cli"]} [build-dependencies] -uniffi = { path = "../../uniffi", version = "0.24", features = ["build"] } +uniffi = { path = "../../uniffi", version = "0.25", features = ["build"] } diff --git a/uniffi/Cargo.toml b/uniffi/Cargo.toml index 194690ec8e..5a6f78373a 100644 --- a/uniffi/Cargo.toml +++ b/uniffi/Cargo.toml @@ -7,7 +7,7 @@ repository = "https://github.com/mozilla/uniffi-rs" # Incrementing the minor version here means a breaking change to consumers. # * See `docs/uniffi-versioning.md` for guidance on when to increment this # * Make sure to also update `uniffi_bindgen::UNIFFI_CONTRACT_VERSION" -version = "0.24.3" +version = "0.25.0" authors = ["Firefox Sync Team "] license = "MPL-2.0" edition = "2021" From 46c06003261c9ce769afff735f8d29d4282f445c Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Fri, 27 Oct 2023 12:59:57 -0400 Subject: [PATCH 3/7] Backporting fix for trait methods that throw exceptions This is part of #1791, which was merged just after the `0.25.0` release was made. We wanted to give that code a bit of time in main before releasing it. However, this part is useful for traits implemented in Rust. --- .../src/scaffolding/templates/ObjectTemplate.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/uniffi_bindgen/src/scaffolding/templates/ObjectTemplate.rs b/uniffi_bindgen/src/scaffolding/templates/ObjectTemplate.rs index 3346d4fbfb..e2445c670d 100644 --- a/uniffi_bindgen/src/scaffolding/templates/ObjectTemplate.rs +++ b/uniffi_bindgen/src/scaffolding/templates/ObjectTemplate.rs @@ -21,9 +21,11 @@ pub trait r#{{ obj.name() }} { {{ arg.name() }}: {% if arg.by_ref() %}&{% endif %}{{ arg.as_type().borrow()|type_rs }}, {%- endfor %} ) - {%- match meth.return_type() %} - {%- when Some(return_type) %} -> {{ return_type|type_rs }}; - {%- when None %}; + {%- match (meth.return_type(), meth.throws_type()) %} + {%- when (Some(return_type), None) %} -> {{ return_type|type_rs }}; + {%- when (Some(return_type), Some(error_type)) %} -> ::std::result::Result::<{{ return_type|type_rs }}, {{ error_type|type_rs }}>; + {%- when (None, Some(error_type)) %} -> ::std::result::Result::<(), {{ error_type|type_rs }}>; + {%- when (None, None) %}; {%- endmatch %} {% endfor %} } From 93db37ca09d4fa594b0de4a6efc9fbc3cc25b21d Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Wed, 25 Oct 2023 11:08:50 -0400 Subject: [PATCH 4/7] Fixed a couple issues with async code and multiple crates * Kotlin: fixed external types with async functions (#1798) * Swift: fixed compile error when multiple crates define async functions --- fixtures/ext-types/proc-macro-lib/src/lib.rs | 5 +++ .../tests/bindings/test_imported_types.kts | 5 +++ .../tests/bindings/test_imported_types.py | 4 ++ .../tests/bindings/test_imported_types.swift | 10 +++++ fixtures/ext-types/uniffi-one/src/lib.rs | 5 +++ .../src/bindings/kotlin/gen_kotlin/mod.rs | 41 +++++++++++++++++++ .../kotlin/templates/ObjectTemplate.kt | 6 +-- .../kotlin/templates/RustBufferTemplate.kt | 8 ++++ .../templates/TopLevelFunctionTemplate.kt | 6 +-- .../src/bindings/swift/templates/Async.swift | 4 +- 10 files changed, 86 insertions(+), 8 deletions(-) diff --git a/fixtures/ext-types/proc-macro-lib/src/lib.rs b/fixtures/ext-types/proc-macro-lib/src/lib.rs index e6ad524d02..9eee7c711f 100644 --- a/fixtures/ext-types/proc-macro-lib/src/lib.rs +++ b/fixtures/ext-types/proc-macro-lib/src/lib.rs @@ -89,6 +89,11 @@ fn get_uniffi_one_type(t: UniffiOneType) -> UniffiOneType { t } +#[uniffi::export] +async fn get_uniffi_one_type_async(t: UniffiOneType) -> UniffiOneType { + t +} + // Test using a type defined in a proc-macro in another crate #[uniffi::export] fn get_uniffi_one_proc_macro_type(t: UniffiOneProcMacroType) -> UniffiOneProcMacroType { diff --git a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts index 9dc98372e7..93cd077a29 100644 --- a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts +++ b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +import kotlinx.coroutines.runBlocking import uniffi.imported_types_lib.* import uniffi.uniffi_one_ns.* @@ -27,6 +28,10 @@ assert(getMaybeUniffiOneType(null) == null) assert(getUniffiOneTypes(listOf(uot)) == listOf(uot)) assert(getMaybeUniffiOneTypes(listOf(uot, null)) == listOf(uot, null)) +runBlocking { + assert(getUniffiOneTypeAsync(uot) == uot) +} + val uopmt = UniffiOneProcMacroType("hello from proc-macro world") assert(getUniffiOneProcMacroType(uopmt) == uopmt) assert(getMyProcMacroType(uopmt) == uopmt) diff --git a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py index 37d046086f..9a2387092e 100644 --- a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py +++ b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py @@ -2,6 +2,7 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +import asyncio import unittest import urllib from ext_types_guid import * @@ -35,6 +36,9 @@ def test_get_uniffi_one_type(self): self.assertEqual(None, get_maybe_uniffi_one_type(None)) self.assertEqual([t1], get_uniffi_one_types([t1])) self.assertEqual([t1, None], get_maybe_uniffi_one_types([t1, None])) + async def test_async(): + self.assertEqual(t1, await get_uniffi_one_type_async(t1)) + asyncio.run(test_async()) def test_get_uniffi_one_proc_macro_type(self): t1 = UniffiOneProcMacroType("hello") diff --git a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift index 2bf9302e9a..78e611b971 100644 --- a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift +++ b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift @@ -26,6 +26,16 @@ assert(getMaybeUniffiOneType(t: nil) == nil) assert(getUniffiOneTypes(ts: [UniffiOneType(sval: "hello")]) == [UniffiOneType(sval: "hello")]) assert(getMaybeUniffiOneTypes(ts: [UniffiOneType(sval: "hello"), nil]) == [UniffiOneType(sval: "hello"), nil]) +var counter = DispatchGroup() +counter.enter() +Task { + let t = await getUniffiOneTypeAsync(t: UniffiOneType(sval: "hello")) + assert(t.sval == "hello") + counter.leave() +} +counter.wait() + + assert(getUniffiOneProcMacroType(t: UniffiOneProcMacroType(sval: "hello from proc-macro world")).sval == "hello from proc-macro world") assert(getMyProcMacroType(t: UniffiOneProcMacroType(sval: "proc-macros all the way down")).sval == "proc-macros all the way down") diff --git a/fixtures/ext-types/uniffi-one/src/lib.rs b/fixtures/ext-types/uniffi-one/src/lib.rs index cf905f48b4..4bf130ad02 100644 --- a/fixtures/ext-types/uniffi-one/src/lib.rs +++ b/fixtures/ext-types/uniffi-one/src/lib.rs @@ -34,4 +34,9 @@ fn get_my_proc_macro_type(t: UniffiOneProcMacroType) -> UniffiOneProcMacroType { t } +#[uniffi::export] +async fn get_uniffi_one_async() -> UniffiOneEnum { + UniffiOneEnum::One +} + uniffi::include_scaffolding!("uniffi-one"); diff --git a/uniffi_bindgen/src/bindings/kotlin/gen_kotlin/mod.rs b/uniffi_bindgen/src/bindings/kotlin/gen_kotlin/mod.rs index 2461b590d3..759db4554e 100644 --- a/uniffi_bindgen/src/bindings/kotlin/gen_kotlin/mod.rs +++ b/uniffi_bindgen/src/bindings/kotlin/gen_kotlin/mod.rs @@ -520,6 +520,47 @@ pub mod filters { .ffi_converter_name()) } + pub fn async_poll( + callable: impl Callable, + ci: &ComponentInterface, + ) -> Result { + let ffi_func = callable.ffi_rust_future_poll(ci); + Ok(format!( + "{{ future, continuation -> _UniFFILib.INSTANCE.{ffi_func}(future, continuation) }}" + )) + } + + pub fn async_complete( + callable: impl Callable, + ci: &ComponentInterface, + ) -> Result { + let ffi_func = callable.ffi_rust_future_complete(ci); + let call = format!("_UniFFILib.INSTANCE.{ffi_func}(future, continuation)"); + let call = match callable.return_type() { + Some(Type::External { + kind: ExternalKind::DataClass, + name, + .. + }) => { + // Need to convert the RustBuffer from our package to the RustBuffer of the external package + let suffix = KotlinCodeOracle.class_name(&name); + format!("{call}.let {{ RustBuffer{suffix}.create(it.capacity, it.len, it.data) }}") + } + _ => call, + }; + Ok(format!("{{ future, continuation -> {call} }}")) + } + + pub fn async_free( + callable: impl Callable, + ci: &ComponentInterface, + ) -> Result { + let ffi_func = callable.ffi_rust_future_free(ci); + Ok(format!( + "{{ future -> _UniFFILib.INSTANCE.{ffi_func}(future) }}" + )) + } + /// Remove the "`" chars we put around function/variable names /// /// These are used to avoid name clashes with kotlin identifiers, but sometimes you want to diff --git a/uniffi_bindgen/src/bindings/kotlin/templates/ObjectTemplate.kt b/uniffi_bindgen/src/bindings/kotlin/templates/ObjectTemplate.kt index 5cbb5d5d93..eacc258384 100644 --- a/uniffi_bindgen/src/bindings/kotlin/templates/ObjectTemplate.kt +++ b/uniffi_bindgen/src/bindings/kotlin/templates/ObjectTemplate.kt @@ -65,9 +65,9 @@ class {{ type_name }}( {% call kt::arg_list_lowered(meth) %} ) }, - { future, continuation -> _UniFFILib.INSTANCE.{{ meth.ffi_rust_future_poll(ci) }}(future, continuation) }, - { future, status -> _UniFFILib.INSTANCE.{{ meth.ffi_rust_future_complete(ci) }}(future, status) }, - { future -> _UniFFILib.INSTANCE.{{ meth.ffi_rust_future_free(ci) }}(future) }, + {{ meth|async_poll(ci) }}, + {{ meth|async_complete(ci) }}, + {{ meth|async_free(ci) }}, // lift function {%- match meth.return_type() %} {%- when Some(return_type) %} diff --git a/uniffi_bindgen/src/bindings/kotlin/templates/RustBufferTemplate.kt b/uniffi_bindgen/src/bindings/kotlin/templates/RustBufferTemplate.kt index fd37f85a55..dfbea24074 100644 --- a/uniffi_bindgen/src/bindings/kotlin/templates/RustBufferTemplate.kt +++ b/uniffi_bindgen/src/bindings/kotlin/templates/RustBufferTemplate.kt @@ -20,6 +20,14 @@ open class RustBuffer : Structure() { } } + internal fun create(capacity: Int, len: Int, data: Pointer?): RustBuffer.ByValue { + var buf = RustBuffer.ByValue() + buf.capacity = capacity + buf.len = len + buf.data = data + return buf + } + internal fun free(buf: RustBuffer.ByValue) = rustCall() { status -> _UniFFILib.INSTANCE.{{ ci.ffi_rustbuffer_free().name() }}(buf, status) } diff --git a/uniffi_bindgen/src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt b/uniffi_bindgen/src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt index 4f5cd7f2b6..2fa1737e48 100644 --- a/uniffi_bindgen/src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt +++ b/uniffi_bindgen/src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt @@ -9,9 +9,9 @@ suspend fun {{ func.name()|fn_name }}({%- call kt::arg_list_decl(func) -%}){% match func.return_type() %}{% when Some with (return_type) %} : {{ return_type|type_name }}{% when None %}{%- endmatch %} { return uniffiRustCallAsync( _UniFFILib.INSTANCE.{{ func.ffi_func().name() }}({% call kt::arg_list_lowered(func) %}), - { future, continuation -> _UniFFILib.INSTANCE.{{ func.ffi_rust_future_poll(ci) }}(future, continuation) }, - { future, status -> _UniFFILib.INSTANCE.{{ func.ffi_rust_future_complete(ci) }}(future, status) }, - { future -> _UniFFILib.INSTANCE.{{ func.ffi_rust_future_free(ci) }}(future) }, + {{ func|async_poll(ci) }}, + {{ func|async_complete(ci) }}, + {{ func|async_free(ci) }}, // lift function {%- match func.return_type() %} {%- when Some(return_type) %} diff --git a/uniffi_bindgen/src/bindings/swift/templates/Async.swift b/uniffi_bindgen/src/bindings/swift/templates/Async.swift index fee7ca6ea6..695208861d 100644 --- a/uniffi_bindgen/src/bindings/swift/templates/Async.swift +++ b/uniffi_bindgen/src/bindings/swift/templates/Async.swift @@ -1,7 +1,7 @@ private let UNIFFI_RUST_FUTURE_POLL_READY: Int8 = 0 private let UNIFFI_RUST_FUTURE_POLL_MAYBE_READY: Int8 = 1 -internal func uniffiRustCallAsync( +fileprivate func uniffiRustCallAsync( rustFutureFunc: () -> UnsafeMutableRawPointer, pollFunc: (UnsafeMutableRawPointer, UnsafeMutableRawPointer) -> (), completeFunc: (UnsafeMutableRawPointer, UnsafeMutablePointer) -> F, @@ -37,7 +37,7 @@ fileprivate func uniffiFutureContinuationCallback(ptr: UnsafeMutableRawPointer, // Wraps UnsafeContinuation in a class so that we can use reference counting when passing it across // the FFI -class ContinuationHolder { +fileprivate class ContinuationHolder { let continuation: UnsafeContinuation init(_ continuation: UnsafeContinuation) { From 25ba41db5fee67afccf4f8efd9a4e03f02f2e378 Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Fri, 27 Oct 2023 10:38:31 -0400 Subject: [PATCH 5/7] Fix for multiple crates defining async functions A single global callback won't work if there are multiple foreign modules. In `main` we handle this by inputting a callback in `poll()`. In `release-v0.25.x` we can't change `UNIFFI_CONTRACT_VERSION`, so instead we keep the `rust_future_continuation_callback_set` scaffolding function, then have the scaffolding code pass the callback to `rustfutures.rs`. Added some tests for this in `fixtures/ext-types/proc-macro-lib`. Things worked on Swift and Python for me because that code was based on leaking a pointer and it happened to work if the pointer came from another module. It just halted on Kotlin though and I think the same would happen if I wasn't on CPython and the alternate PointerMangager was used. --- CHANGELOG.md | 4 + .../tests/bindings/test_imported_types.kts | 3 + .../tests/bindings/test_imported_types.py | 10 ++- .../tests/bindings/test_imported_types.swift | 10 ++- uniffi_core/src/ffi/rustfuture.rs | 83 ++++++------------- uniffi_core/src/lib.rs | 2 + uniffi_macros/src/setup_scaffolding.rs | 19 ++++- 7 files changed, 69 insertions(+), 62 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c11ebe8acf..f5d28b4b7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ [All changes in [[UnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.0...HEAD). +### What's fixed? + +- Fixed several bugs with async functions were defined in multiple crates that get built together. + ## v0.25.0 (backend crates: v0.25.0) - (_2023-10-18_) [All changes in v0.25.0](https://github.com/mozilla/uniffi-rs/compare/v0.24.3...v0.25.0). diff --git a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts index 93cd077a29..04d19ffa63 100644 --- a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts +++ b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.kts @@ -29,6 +29,9 @@ assert(getUniffiOneTypes(listOf(uot)) == listOf(uot)) assert(getMaybeUniffiOneTypes(listOf(uot, null)) == listOf(uot, null)) runBlocking { + // This async function comes from the `uniffi-one` crate + assert(getUniffiOneAsync() == UniffiOneEnum.ONE) + // This async function comes from the `proc-macro-lib` crate assert(getUniffiOneTypeAsync(uot) == uot) } diff --git a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py index 9a2387092e..6aa636a202 100644 --- a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py +++ b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.py @@ -36,9 +36,15 @@ def test_get_uniffi_one_type(self): self.assertEqual(None, get_maybe_uniffi_one_type(None)) self.assertEqual([t1], get_uniffi_one_types([t1])) self.assertEqual([t1, None], get_maybe_uniffi_one_types([t1, None])) - async def test_async(): + + def test_async(self): + async def test(): + t1 = UniffiOneType("hello") + # This async function comes from the `uniffi-one` crate + self.assertEqual(await get_uniffi_one_async(), UniffiOneEnum.ONE) + # This async function comes from the `proc-macro-lib` crate self.assertEqual(t1, await get_uniffi_one_type_async(t1)) - asyncio.run(test_async()) + asyncio.run(test()) def test_get_uniffi_one_proc_macro_type(self): t1 = UniffiOneProcMacroType("hello") diff --git a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift index 78e611b971..013fe9b4b1 100644 --- a/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift +++ b/fixtures/ext-types/proc-macro-lib/tests/bindings/test_imported_types.swift @@ -29,8 +29,14 @@ assert(getMaybeUniffiOneTypes(ts: [UniffiOneType(sval: "hello"), nil]) == [Uniff var counter = DispatchGroup() counter.enter() Task { - let t = await getUniffiOneTypeAsync(t: UniffiOneType(sval: "hello")) - assert(t.sval == "hello") + // This async function comes from the `uniffi-one` crate + let uniffiOneEnum = await getUniffiOneAsync() + assert(uniffiOneEnum == UniffiOneEnum.one) + + // This async function comes from the `proc-macro-lib` crate + let uniffiOneType = await getUniffiOneTypeAsync(t: UniffiOneType(sval: "hello")) + assert(uniffiOneType.sval == "hello") + counter.leave() } counter.wait() diff --git a/uniffi_core/src/ffi/rustfuture.rs b/uniffi_core/src/ffi/rustfuture.rs index a9fd64646e..0c1a24174b 100644 --- a/uniffi_core/src/ffi/rustfuture.rs +++ b/uniffi_core/src/ffi/rustfuture.rs @@ -86,8 +86,6 @@ use std::{ task::{Context, Poll, Wake}, }; -use once_cell::sync::OnceCell; - use crate::{rust_call_with_out_status, FfiDefault, LowerReturn, RustCallStatus}; /// Result code for [rust_future_poll]. This is passed to the continuation function. @@ -110,27 +108,6 @@ pub type RustFutureContinuationCallback = extern "C" fn(callback_data: *const () #[repr(transparent)] pub struct RustFutureHandle(*const ()); -/// Stores the global continuation callback -static RUST_FUTURE_CONTINUATION_CALLBACK_CELL: OnceCell = - OnceCell::new(); - -/// Set the global RustFutureContinuationCallback. -pub fn rust_future_continuation_callback_set(callback: RustFutureContinuationCallback) { - if let Err(existing) = RUST_FUTURE_CONTINUATION_CALLBACK_CELL.set(callback) { - // Don't panic if this to be called multiple times with the same callback. - if existing != callback { - panic!("Attempt to set the RustFuture continuation callback twice"); - } - } -} - -fn call_continuation(data: *const (), poll_code: RustFuturePoll) { - let callback = RUST_FUTURE_CONTINUATION_CALLBACK_CELL - .get() - .expect("RustFuture continuation callback not set. This is likely a uniffi bug."); - callback(data, poll_code) -} - // === Public FFI API === /// Create a new [RustFutureHandle] @@ -169,9 +146,13 @@ where /// # Safety /// /// The [RustFutureHandle] must not previously have been passed to [rust_future_free] -pub unsafe fn rust_future_poll(handle: RustFutureHandle, data: *const ()) { +pub unsafe fn rust_future_poll( + handle: RustFutureHandle, + callback: RustFutureContinuationCallback, + data: *const (), +) { let future = &*(handle.0 as *mut Arc>); - future.clone().ffi_poll(data) + future.clone().ffi_poll(callback, data) } /// Cancel a Rust future @@ -234,9 +215,8 @@ enum ContinuationDataCell { /// The future has been cancelled, any future `store` calls should immediately result in the /// continuation being called with `RustFuturePoll::Ready`. Cancelled, - /// Continuation data set, the next time `wake()` is called is called, we should invoke the - /// continuation with it. - Set(*const ()), + /// Continuation set, the next time `wake()` is called is called, we should invoke it. + Set(RustFutureContinuationCallback, *const ()), } impl ContinuationDataCell { @@ -246,22 +226,22 @@ impl ContinuationDataCell { /// Store new continuation data if we are in the `Empty` state. If we are in the `Waked` or /// `Cancelled` state, call the continuation immediately with the data. - fn store(&mut self, data: *const ()) { + fn store(&mut self, callback: RustFutureContinuationCallback, data: *const ()) { match self { - Self::Empty => *self = Self::Set(data), - Self::Set(old_data) => { + Self::Empty => *self = Self::Set(callback, data), + Self::Set(old_callback, old_data) => { log::error!( "store: observed `Self::Set` state. Is poll() being called from multiple threads at once?" ); - call_continuation(*old_data, RustFuturePoll::Ready); - *self = Self::Set(data); + old_callback(*old_data, RustFuturePoll::Ready); + *self = Self::Set(callback, data); } Self::Waked => { *self = Self::Empty; - call_continuation(data, RustFuturePoll::MaybeReady); + callback(data, RustFuturePoll::MaybeReady); } Self::Cancelled => { - call_continuation(data, RustFuturePoll::Ready); + callback(data, RustFuturePoll::Ready); } } } @@ -269,10 +249,11 @@ impl ContinuationDataCell { fn wake(&mut self) { match self { // If we had a continuation set, then call it and transition to the `Empty` state. - Self::Set(old_data) => { + Self::Set(callback, old_data) => { let old_data = *old_data; + let callback = *callback; *self = Self::Empty; - call_continuation(old_data, RustFuturePoll::MaybeReady); + callback(old_data, RustFuturePoll::MaybeReady); } // If we were in the `Empty` state, then transition to `Waked`. The next time `store` // is called, we will immediately call the continuation. @@ -283,8 +264,8 @@ impl ContinuationDataCell { } fn cancel(&mut self) { - if let Self::Set(old_data) = mem::replace(self, Self::Cancelled) { - call_continuation(old_data, RustFuturePoll::Ready); + if let Self::Set(callback, old_data) = mem::replace(self, Self::Cancelled) { + callback(old_data, RustFuturePoll::Ready); } } @@ -433,16 +414,16 @@ where }) } - fn poll(self: Arc, data: *const ()) { + fn poll(self: Arc, callback: RustFutureContinuationCallback, data: *const ()) { let ready = self.is_cancelled() || { let mut locked = self.future.lock().unwrap(); let waker: std::task::Waker = Arc::clone(&self).into(); locked.poll(&mut Context::from_waker(&waker)) }; if ready { - call_continuation(data, RustFuturePoll::Ready) + callback(data, RustFuturePoll::Ready) } else { - self.continuation_data.lock().unwrap().store(data); + self.continuation_data.lock().unwrap().store(callback, data); } } @@ -499,7 +480,7 @@ where /// only create those functions for each of the 13 possible FFI return types. #[doc(hidden)] trait RustFutureFfi { - fn ffi_poll(self: Arc, data: *const ()); + fn ffi_poll(self: Arc, callback: RustFutureContinuationCallback, data: *const ()); fn ffi_cancel(&self); fn ffi_complete(&self, call_status: &mut RustCallStatus) -> ReturnType; fn ffi_free(self: Arc); @@ -512,8 +493,8 @@ where T: LowerReturn + Send + 'static, UT: Send + 'static, { - fn ffi_poll(self: Arc, data: *const ()) { - self.poll(data) + fn ffi_poll(self: Arc, callback: RustFutureContinuationCallback, data: *const ()) { + self.poll(callback, data) } fn ffi_cancel(&self) { @@ -597,14 +578,10 @@ mod tests { fn poll(rust_future: &Arc>) -> Arc> { let cell = Arc::new(OnceCell::new()); let cell_ptr = Arc::into_raw(cell.clone()) as *const (); - rust_future.clone().ffi_poll(cell_ptr); + rust_future.clone().ffi_poll(poll_continuation, cell_ptr); cell } - fn setup_continuation_callback() { - let _ = RUST_FUTURE_CONTINUATION_CALLBACK_CELL.set(poll_continuation); - } - extern "C" fn poll_continuation(data: *const (), code: RustFuturePoll) { let cell = unsafe { Arc::from_raw(data as *const OnceCell) }; cell.set(code).expect("Error setting OnceCell"); @@ -618,7 +595,6 @@ mod tests { #[test] fn test_success() { - setup_continuation_callback(); let (sender, rust_future) = channel(); // Test polling the rust future before it's ready @@ -648,7 +624,6 @@ mod tests { #[test] fn test_error() { - setup_continuation_callback(); let (sender, rust_future) = channel(); let continuation_result = poll(&rust_future); @@ -676,7 +651,6 @@ mod tests { // reference to the RustFuture #[test] fn test_cancel() { - setup_continuation_callback(); let (_sender, rust_future) = channel(); let continuation_result = poll(&rust_future); @@ -697,7 +671,6 @@ mod tests { // reference to the RustFuture #[test] fn test_release_future() { - setup_continuation_callback(); let (sender, rust_future) = channel(); // Create a weak reference to the channel to use to check if rust_future has dropped its // future. @@ -720,7 +693,6 @@ mod tests { // This shouldn't happen in practice, but it seems like good defensive programming #[test] fn test_complete_with_stored_continuation() { - setup_continuation_callback(); let (_sender, rust_future) = channel(); let continuation_result = poll(&rust_future); @@ -733,7 +705,6 @@ mod tests { // schedule another poll of the future in this case. #[test] fn test_wake_during_poll() { - setup_continuation_callback(); let mut first_time = true; let future = std::future::poll_fn(move |ctx| { if first_time { diff --git a/uniffi_core/src/lib.rs b/uniffi_core/src/lib.rs index 9003b08f9b..c84b403dce 100644 --- a/uniffi_core/src/lib.rs +++ b/uniffi_core/src/lib.rs @@ -58,6 +58,8 @@ pub mod deps { pub use bytes; pub use log; pub use static_assertions; + // Export this dependency for the 0.25 branch so that we can use it in `setup_scaffolding.rs` + pub use once_cell; } mod panichook; diff --git a/uniffi_macros/src/setup_scaffolding.rs b/uniffi_macros/src/setup_scaffolding.rs index d8596c77dd..afdb119cc4 100644 --- a/uniffi_macros/src/setup_scaffolding.rs +++ b/uniffi_macros/src/setup_scaffolding.rs @@ -25,6 +25,10 @@ pub fn setup_scaffolding(namespace: String) -> Result { let ffi_rust_future_continuation_callback_set = format_ident!("ffi_{module_path}_rust_future_continuation_callback_set"); let ffi_rust_future_scaffolding_fns = rust_future_scaffolding_fns(&module_path); + let continuation_cell = format_ident!( + "RUST_FUTURE_CONTINUATION_CALLBACK_CELL_{}", + module_path.to_uppercase() + ); Ok(quote! { // Unit struct to parameterize the FfiConverter trait. @@ -89,6 +93,8 @@ pub fn setup_scaffolding(namespace: String) -> Result { uniffi::ffi::uniffi_rustbuffer_reserve(buf, additional, call_status) } + static #continuation_cell: ::uniffi::deps::once_cell::sync::OnceCell<::uniffi::RustFutureContinuationCallback> = ::uniffi::deps::once_cell::sync::OnceCell::new(); + #[allow(clippy::missing_safety_doc, missing_docs)] #[doc(hidden)] #[no_mangle] @@ -100,7 +106,12 @@ pub fn setup_scaffolding(namespace: String) -> Result { #[doc(hidden)] #[no_mangle] pub unsafe extern "C" fn #ffi_rust_future_continuation_callback_set(callback: ::uniffi::RustFutureContinuationCallback) { - ::uniffi::ffi::rust_future_continuation_callback_set(callback); + if let Err(existing) = #continuation_cell.set(callback) { + // Don't panic if this to be called multiple times with the same callback. + if existing != callback { + panic!("Attempt to set the RustFuture continuation callback twice"); + } + } } #ffi_rust_future_scaffolding_fns @@ -179,13 +190,17 @@ fn rust_future_scaffolding_fns(module_path: &str) -> TokenStream { let ffi_rust_future_cancel = format_ident!("ffi_{module_path}_rust_future_cancel_{fn_suffix}"); let ffi_rust_future_complete = format_ident!("ffi_{module_path}_rust_future_complete_{fn_suffix}"); let ffi_rust_future_free = format_ident!("ffi_{module_path}_rust_future_free_{fn_suffix}"); + let continuation_cell = format_ident!("RUST_FUTURE_CONTINUATION_CALLBACK_CELL_{}", module_path.to_uppercase()); quote! { #[allow(clippy::missing_safety_doc, missing_docs)] #[doc(hidden)] #[no_mangle] pub unsafe extern "C" fn #ffi_rust_future_poll(handle: ::uniffi::RustFutureHandle, data: *const ()) { - ::uniffi::ffi::rust_future_poll::<#return_type>(handle, data); + let callback = #continuation_cell + .get() + .expect("RustFuture continuation callback not set. This is likely a uniffi bug."); + ::uniffi::ffi::rust_future_poll::<#return_type>(handle, *callback, data); } #[allow(clippy::missing_safety_doc, missing_docs)] From f7237b7721aab5456421a204b9103f51a787f994 Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Thu, 9 Nov 2023 11:41:08 -0500 Subject: [PATCH 6/7] chore: Release --- CHANGELOG.md | 6 +++++- Cargo.lock | 16 ++++++++-------- uniffi/Cargo.toml | 8 ++++---- uniffi_bindgen/Cargo.toml | 8 ++++---- uniffi_build/Cargo.toml | 4 ++-- uniffi_checksum_derive/Cargo.toml | 2 +- uniffi_core/Cargo.toml | 2 +- uniffi_macros/Cargo.toml | 6 +++--- uniffi_meta/Cargo.toml | 4 ++-- uniffi_testing/Cargo.toml | 2 +- uniffi_udl/Cargo.toml | 6 +++--- 11 files changed, 34 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5d28b4b7b..77d39c132d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,11 @@ -## [[UnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) +## [[NextUnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) + +[All changes in [[NextUnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.1...NEXT_HEAD). + +## [[UnreleasedUniFFIVersion]] (backend crates: v0.25.1) - (_2023-11-09_) [All changes in [[UnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.0...HEAD). diff --git a/Cargo.lock b/Cargo.lock index 98b69dc3a4..f15985cb38 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1935,7 +1935,7 @@ dependencies = [ [[package]] name = "uniffi_bindgen" -version = "0.25.0" +version = "0.25.1" dependencies = [ "anyhow", "askama", @@ -1957,7 +1957,7 @@ dependencies = [ [[package]] name = "uniffi_build" -version = "0.25.0" +version = "0.25.1" dependencies = [ "anyhow", "camino", @@ -1966,7 +1966,7 @@ dependencies = [ [[package]] name = "uniffi_checksum_derive" -version = "0.25.0" +version = "0.25.1" dependencies = [ "quote", "syn", @@ -1974,7 +1974,7 @@ dependencies = [ [[package]] name = "uniffi_core" -version = "0.25.0" +version = "0.25.1" dependencies = [ "anyhow", "async-compat", @@ -1989,7 +1989,7 @@ dependencies = [ [[package]] name = "uniffi_macros" -version = "0.25.0" +version = "0.25.1" dependencies = [ "bincode", "camino", @@ -2006,7 +2006,7 @@ dependencies = [ [[package]] name = "uniffi_meta" -version = "0.25.0" +version = "0.25.1" dependencies = [ "anyhow", "bytes", @@ -2016,7 +2016,7 @@ dependencies = [ [[package]] name = "uniffi_testing" -version = "0.25.0" +version = "0.25.1" dependencies = [ "anyhow", "camino", @@ -2027,7 +2027,7 @@ dependencies = [ [[package]] name = "uniffi_udl" -version = "0.25.0" +version = "0.25.1" dependencies = [ "anyhow", "uniffi_meta", diff --git a/uniffi/Cargo.toml b/uniffi/Cargo.toml index 5a6f78373a..f0166dee7d 100644 --- a/uniffi/Cargo.toml +++ b/uniffi/Cargo.toml @@ -14,10 +14,10 @@ edition = "2021" keywords = ["ffi", "bindgen"] [dependencies] -uniffi_bindgen = { path = "../uniffi_bindgen", version = "=0.25.0", optional = true } -uniffi_build = { path = "../uniffi_build", version = "=0.25.0", optional = true } -uniffi_core = { path = "../uniffi_core", version = "=0.25.0" } -uniffi_macros = { path = "../uniffi_macros", version = "=0.25.0" } +uniffi_bindgen = { path = "../uniffi_bindgen", version = "=0.25.1", optional = true } +uniffi_build = { path = "../uniffi_build", version = "=0.25.1", optional = true } +uniffi_core = { path = "../uniffi_core", version = "=0.25.1" } +uniffi_macros = { path = "../uniffi_macros", version = "=0.25.1" } anyhow = "1" camino = { version = "1.0.8", optional = true } clap = { version = "4", features = ["cargo", "std", "derive"], optional = true } diff --git a/uniffi_bindgen/Cargo.toml b/uniffi_bindgen/Cargo.toml index 3c7c6ce79c..cf175d31d4 100644 --- a/uniffi_bindgen/Cargo.toml +++ b/uniffi_bindgen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_bindgen" -version = "0.25.0" +version = "0.25.1" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (codegen and cli tooling)" documentation = "https://mozilla.github.io/uniffi-rs" @@ -23,7 +23,7 @@ once_cell = "1.12" paste = "1.0" serde = "1" toml = "0.5" -uniffi_meta = { path = "../uniffi_meta", version = "=0.25.0" } -uniffi_testing = { path = "../uniffi_testing", version = "=0.25.0" } -uniffi_udl = { path = "../uniffi_udl", version = "=0.25.0" } +uniffi_meta = { path = "../uniffi_meta", version = "=0.25.1" } +uniffi_testing = { path = "../uniffi_testing", version = "=0.25.1" } +uniffi_udl = { path = "../uniffi_udl", version = "=0.25.1" } clap = { version = "4", default-features = false, features = ["std", "derive"], optional = true } diff --git a/uniffi_build/Cargo.toml b/uniffi_build/Cargo.toml index 2c3057ded7..3c3d80db31 100644 --- a/uniffi_build/Cargo.toml +++ b/uniffi_build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_build" -version = "0.25.0" +version = "0.25.1" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (build script helpers)" documentation = "https://mozilla.github.io/uniffi-rs" @@ -13,7 +13,7 @@ keywords = ["ffi", "bindgen"] [dependencies] anyhow = "1" camino = "1.0.8" -uniffi_bindgen = { path = "../uniffi_bindgen", default-features = false, version = "=0.25.0" } +uniffi_bindgen = { path = "../uniffi_bindgen", default-features = false, version = "=0.25.1" } [features] default = [] diff --git a/uniffi_checksum_derive/Cargo.toml b/uniffi_checksum_derive/Cargo.toml index d76b7c418b..e77d66383e 100644 --- a/uniffi_checksum_derive/Cargo.toml +++ b/uniffi_checksum_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_checksum_derive" -version = "0.25.0" +version = "0.25.1" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (checksum custom derive)" documentation = "https://mozilla.github.io/uniffi-rs" diff --git a/uniffi_core/Cargo.toml b/uniffi_core/Cargo.toml index fa50e0c295..b3456587b4 100644 --- a/uniffi_core/Cargo.toml +++ b/uniffi_core/Cargo.toml @@ -4,7 +4,7 @@ description = "a multi-language bindings generator for rust (runtime support cod documentation = "https://mozilla.github.io/uniffi-rs" homepage = "https://mozilla.github.io/uniffi-rs" repository = "https://github.com/mozilla/uniffi-rs" -version = "0.25.0" +version = "0.25.1" authors = ["Firefox Sync Team "] license = "MPL-2.0" edition = "2021" diff --git a/uniffi_macros/Cargo.toml b/uniffi_macros/Cargo.toml index 1e2ebd4299..3a5240df9c 100644 --- a/uniffi_macros/Cargo.toml +++ b/uniffi_macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_macros" -version = "0.25.0" +version = "0.25.1" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (convenience macros)" documentation = "https://mozilla.github.io/uniffi-rs" @@ -23,8 +23,8 @@ quote = "1.0" serde = "1.0.136" syn = { version = "2.0", features = ["full", "visit-mut"] } toml = "0.5.9" -uniffi_build = { path = "../uniffi_build", version = "=0.25.0" } -uniffi_meta = { path = "../uniffi_meta", version = "=0.25.0" } +uniffi_build = { path = "../uniffi_build", version = "=0.25.1" } +uniffi_meta = { path = "../uniffi_meta", version = "=0.25.1" } [features] default = [] diff --git a/uniffi_meta/Cargo.toml b/uniffi_meta/Cargo.toml index d2a4dbe0ac..f9d3a4a77a 100644 --- a/uniffi_meta/Cargo.toml +++ b/uniffi_meta/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_meta" -version = "0.25.0" +version = "0.25.1" edition = "2021" description = "uniffi_meta" homepage = "https://mozilla.github.io/uniffi-rs" @@ -12,4 +12,4 @@ keywords = ["ffi", "bindgen"] anyhow = "1" bytes = "1.3" siphasher = "0.3" -uniffi_checksum_derive = { version = "0.25.0", path = "../uniffi_checksum_derive" } +uniffi_checksum_derive = { version = "0.25.1", path = "../uniffi_checksum_derive" } diff --git a/uniffi_testing/Cargo.toml b/uniffi_testing/Cargo.toml index cfec745d2a..4b87c6981e 100644 --- a/uniffi_testing/Cargo.toml +++ b/uniffi_testing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_testing" -version = "0.25.0" +version = "0.25.1" authors = ["Firefox Sync Team "] description = "a multi-language bindings generator for rust (testing helpers)" documentation = "https://mozilla.github.io/uniffi-rs" diff --git a/uniffi_udl/Cargo.toml b/uniffi_udl/Cargo.toml index e3062a864b..84732c395d 100644 --- a/uniffi_udl/Cargo.toml +++ b/uniffi_udl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uniffi_udl" -version = "0.25.0" +version = "0.25.1" description = "udl parsing for the uniffi project" documentation = "https://mozilla.github.io/uniffi-rs" homepage = "https://mozilla.github.io/uniffi-rs" @@ -12,5 +12,5 @@ keywords = ["ffi", "bindgen"] [dependencies] anyhow = "1" weedle2 = { version = "4.0.0", path = "../weedle2" } -uniffi_meta = { path = "../uniffi_meta", version = "=0.25.0" } -uniffi_testing = { path = "../uniffi_testing", version = "=0.25.0" } +uniffi_meta = { path = "../uniffi_meta", version = "=0.25.1" } +uniffi_testing = { path = "../uniffi_testing", version = "=0.25.1" } From b0ab2345b71e9d01523f461cb92f7ab89e36daf6 Mon Sep 17 00:00:00 2001 From: Ben Dean-Kawamura Date: Thu, 9 Nov 2023 11:51:07 -0500 Subject: [PATCH 7/7] chore: Release --- CHANGELOG.md | 8 ++++---- Cargo.lock | 2 +- uniffi/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77d39c132d..d77ec110bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,13 +10,13 @@ -## [[NextUnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) +## [[UnreleasedUniFFIVersion]] (backend crates: [[UnreleasedBackendVersion]]) - (_[[ReleaseDate]]_) -[All changes in [[NextUnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.1...NEXT_HEAD). +[All changes in [[UnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.1...HEAD). -## [[UnreleasedUniFFIVersion]] (backend crates: v0.25.1) - (_2023-11-09_) +## v0.25.1 (backend crates: v0.25.1) - (_2023-11-09_) -[All changes in [[UnreleasedUniFFIVersion]]](https://github.com/mozilla/uniffi-rs/compare/v0.25.0...HEAD). +[All changes in v0.25.1](https://github.com/mozilla/uniffi-rs/compare/v0.25.0...v0.25.1). ### What's fixed? diff --git a/Cargo.lock b/Cargo.lock index f15985cb38..2a30428c79 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1557,7 +1557,7 @@ dependencies = [ [[package]] name = "uniffi" -version = "0.25.0" +version = "0.25.1" dependencies = [ "anyhow", "camino", diff --git a/uniffi/Cargo.toml b/uniffi/Cargo.toml index f0166dee7d..acd563dcbe 100644 --- a/uniffi/Cargo.toml +++ b/uniffi/Cargo.toml @@ -7,7 +7,7 @@ repository = "https://github.com/mozilla/uniffi-rs" # Incrementing the minor version here means a breaking change to consumers. # * See `docs/uniffi-versioning.md` for guidance on when to increment this # * Make sure to also update `uniffi_bindgen::UNIFFI_CONTRACT_VERSION" -version = "0.25.0" +version = "0.25.1" authors = ["Firefox Sync Team "] license = "MPL-2.0" edition = "2021"