Update Rust crate uniffi to v0.28.3 - autoclosed #466
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.25.0
->0.28.0
0.25
->0.28
Release Notes
mozilla/uniffi-rs (uniffi)
v0.28.3
Compare Source
What's fixed?
All changes in v0.28.3.
v0.28.2
Compare Source
What's new?
Added the
uniffi-bindgen-swift
binary. It works likeuniffi-bindgen
but with additionalSwift-specific features. See
https://mozilla.github.io/uniffi-rs/latest/swift/uniffi-bindgen-swift.html for details.
Removed the old and outdated diplomat comparison doc
Proc-macros recognise when you are exporting an
impl Trait for Struct
block.Python supports this by generating an inheritance hierarcy to reflect that.
#2204
What's fixed?
uniffi.toml
of crates without alib
type where ignored in 0.28.1All changes in v0.28.2.
v0.28.1
Compare Source
What's new?
panic=abort
is set.cargo_metadata
feature, which is on by default. In some cases, this can be disabledfor better compatibility with projects that don't use cargo.
--metadata-no-deps
is available to avoid processingcargo_metadata for all dependencies.
[Rust=]
attribute and use a plain-old typedef.See the manual page for this.
What's changed?
All changes in v0.28.1.
v0.28.0
Compare Source
What's new?
Objects error types can now be as
Result<>
error type without wrapping them inArc<>
.Swift errors now provide
localizedDescription
(#2116)Procmacros support tuple-errors (ie, enums used as errors can be tuple-enums.)
What's fixed?
Fixed a problem with procmacro defined errors when the error was not used as an
Err
resultin the namespace (#2108)
Custom Type names are now treated as type names by all bindings. This means if they will work if they happen to be
keywords in the language. There's a very small risk of this being a breaking change if you used a type name which
did not already start with a capital letter, but this changes makes all type naming consistent.
(#2073)
Macros
uniffi::method
anduniffi::constructor
can now be used withcfg_attr
. (#2113)Python: Fix custom types generating invalid code when there are forward references.
(#2067)
What's changed?
The internal bindings generation has changed to make it friendlier for external language bindings.
However, this a breaking change for these bindings.
No consumers of any languages are impacted, only the maintainers of these language bindings.
(#2066), (#2094)
The async runtime can be specified for constructors/methods, this will override the runtime specified at the impl block level.
All changes in v0.28.0.
v0.27.3
Compare Source
unicode-linebreak
andunicode-width
. They were being pulled in asub-dependencies for the
textwrap
crate, but weren't really useful.All changes in v0.27.3.
v0.27.2
Compare Source
What's new?
scaffolding-ffi-buffer-fns
feature. When enabled, UniFFI will generate an alternateFFI layer that can simplify the foreign bindings code. It's currently being tested out for the
gecko-js external binding, but other external bindings may also find it useful.
What's changed?
All changes in v0.27.2.
v0.27.1
Compare Source
All changes in v0.27.1.
What's fixed?
Fixed a regression in 0.27.0 which broke throwing constructors (#2061).
Fixed a RustBuffer memory leak (#2056)
v0.27.0
Compare Source
What's new?
Constructors can be async. Alternate constructors work in Python, Kotlin and Swift;
only Swift supports primary constructors.
Enums created with proc macros can now produce literals for variants in Kotlin and Swift. See
the section on enum proc-macros for more information.
Objects can be errors - anywhere you can specify an enum error object you can specify
an
Arc<Object>
- see the manual.Functions, methods and constructors exported by procmacros can be renamed for the forgeign bindings. See the procmaco manual section.
Trait interfaces can now have async functions, both Rust and foreign-implemented. See the futures manual section for details.
Procmacros support tuple-enums.
RustBuffer
was changed to useu64
fields.This eliminates panics when the capacity of the vec exceeds
i32::MAX
.This can happen with the current Vec implementation when String/Vec sizes approach
i32::MAX
but don't exceed it.Proc-macro function/method arguments can now have defaults
Proc-macro record defaults now support empty vecs and Some values.
Swift: Records and Enums without object references can now be made
Sendable
Swift,by opting in to new Configuration
experimental_sendable_value_types
inuniffi.toml
.What's fixed?
https://github.com/mozilla/uniffi-rs/pull/18181818 for details and how the other bindings were updated.
FfiType::Handle
variant. This is a general-purpose opaque handle type used forpassing objects cross the FFI. This type is always 64 bits and replaces the various older handle
types including:
FfiType::RustFutureHandle
which was removed)FfiType::RustFutureContinuationData
which was moved).RustBuffer.len
andRustBuffer.capacity
are nowu64
rather thani32
.All changes in v0.27.0.
v0.26.1
Compare Source
What's fixed?
5.0.0
rather than4.0.1
.4.0.1
was yanked because it contained a breaking change.All changes in v0.26.1.
v0.26.0
Compare Source
What's changed?
rust_future_continuation_callback_set
FFI function was removed.rust_future_poll
nowinputs the callback pointer. External bindings authors will need to update their code.
What's new?
Display
,Hash
andEq
exposed to Kotlin and Swift #1817the documentation
[WithForeign]
attribute#[uniffi::export(with_foreign)]
attributethe external types docs
and also external trait interfaces #1831
and in UDL
Arc<>
.All changes in v0.26.0.
v0.25.3
Compare Source
All changes in v0.25.3.
oneshot
so that consumers who usecargo vendor
don't vendorloom
and it's sub-dependencies likewindows
v0.25.2
Compare Source
What's fixed?
All changes in v0.25.2.
v0.25.1
Compare Source
All changes in v0.25.1.
What's fixed?
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.