Update Rust crate zbus to v4 #23
Open
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:
3.14.1->4.0.0Release Notes
z-galaxy/zbus (zbus)
v4.4.0: π zbus 4.4.0Compare Source
heaplessfeature, which is just a proxy tozvariantfeature of the same name.v4.3.1: π zbus 4.3.1Compare Source
issue in xdg-dbus-proxy has already been fixed, it will take some time before the fix is
released and is widely available.
type. We might need to add an attribute to control this in the future, as this as this may not
always be what the user wants.
mdbook-tocfrom @βbadboy.two distinct concepts separate.
v4.3.0: π zbus 4.3.0Compare Source
interfacecan now generateproxyfor you. #β236object_server::ResponseDispatchNotifierserde::Deserializefor it.blocking::Connection::call_methoddocs.v4.2.2: π zbus 4.2.2Compare Source
methods by default. #β799
v4.2.1: π zbus 4.2.1Compare Source
c1aa5c7, where westarted to invalidate properties in every
PropertyChangedsignal. This is wrong anyway but italso meant zbus interfaces breaking against gio. #β765
assert!instead ofdebug_assert!.debug_assert!is removed in release builds, alongwith any values computed inside it. This meant that since the use of
debug_assert!incommit
7fc3ab7, the fdo interfaces weren't getting added fornodes for release profile. Let's use
assert!instead. #β764pipelining, hence we need to handle
NEGOTIATE_UNIX_FDcommand's response before sending outBEGINcommand andHellomethod call message.full message could be received at the end of the client handshake process.
v4.2.0: π zbus 4.2.0Compare Source
dbus_interfacenow provides aspawnattribute to control whether the method call handling is spawned as a task or not.
pre-authenticated socket. This could also be socket that doesn't need any authentication. #β590.
method have a default implementation that just uses the lower-level sibling methods. Implementers
can either override this method or the lower-level method, depending on the underlying socket
they're using.
communication. This can be used with
connection::Builder::authenticated_socketto create aconnection for in-process communication. #β591.
Hellomethod call to thebus. This reduces unnecessary round-trips & hence latencies. #β493
one mechanism to be set.
auth_mechansim. This is inpreparation for #β731, when we will remove this method entirely.
Return an error instead of an explicit panic if attempted, since it is not an internal invariant.
windows-gdbusfeature and associated hacks.Turns out that the reference D-Bus implementation supports autolaunch fine and we don't need
special support for gdbus binary. Hopefully, in the near future, busd will also support it. #β687
Interfacebeing unstable API. Also recommend what people should do whendbus_interfaceisn't enough.autolaunch addresses so there is no need to create an address with scopes.
CANCELcommandduring a handshake, the server must move on to the next handshake method available (if any).
client is unknown or invalid in the current context, we shouldn't completely error out but rather
send an error and continue as if nothing happened.
output.
v4.1.2: π zbus 4.1.2Compare Source
To go with zbus_macros 4.1.2. Other changes:
v4.1.1: π zbus 4.1.1Compare Source
The actual change is in zbus_macros 4.1.1.
v4.1.0: π zbus 4.1.0Compare Source
v4.0.1: π zbus 4.0.1Compare Source
ProxyDefaultforblocking::Proxythat was missed in 4.0.0.v4.0.0: π zbus 4.0.0Compare Source
A new API-breaking release that brings in a huge amount of changes. Most using code should still
compile (with deprecation warnings) and work without changes. Hightlights:
zbus_macros release notes for details, including commands to automatically update your
code.
deprecation warnings will guide you to the new paths.
xmland
quick-xmlfeature flags are removed as a result. #β413.&zvariant::serialized::Data.unsafe (even though it's not marked as such) since it disassociates the FDs from the message and
the caller is free to close them while message is still referencing them.
likely used by very few people, who can use the
sendmethod instead.&Guidnow, instead of a string.constructed through an address with GUID in it, we should verify this GUID is the same as one
received from the server during the handshake.
halves.
Guidnow has a lifetime parameter, andOwnedGuidis a new type that's a wrapper aroundGuid<'static>. Internally,Guidis now awrapper around
zvariant::Strand is now a very similar type to otherzvariant::Strwrappertypes.
address::Transport.Address` isno longer an enum but a struct with hidden fields. #β476.
present and provide API to set a GUID on an
Addressinstance.unix:tmpdirandunix:dirtransports.for<'d> zvariant::DynamicDeserialize<'d>on the result type of a call is sufficient todeserialize; use this bound instead of the stricter
DeserializeOwned + zvariant::Type.p2pfeature. Given that typical users do not need this API, we don't enable it by default.bus-implcargo feature. API that is only needed by bus implementations now gated behind this non-default cargo feature. #β480.the peer-to-peer and bus implementation API respectively.
async-recursionfor targets other than MacOS and Windows.blocking::ObjectServer. Not exactly a smart pointer. Also other blocking wrappers don't do that. #β475.Connectionmanaging the serial numbers.option-as-arrayfeature. This is a mainly azvariantproxy/forwarding feature.enabled. This only causes confusion if user enables it since then
Option<T>haszvariant::Typeimplemented but D-Bus encoding doesn't support that and people get runtime errors instead.
fd-passing on socket type that doesn't support it, reject the request.
new_bare is just a wrapper around now, since all proxy types implement ProxyDefault trait. #β417.
allowing all generated proxies to implement this trait.
generic code around different proxy types. #β433
v3.15.2: π zbus 3.15.2Compare Source
To go with zbus_macros 3.15.2. Other changes:
v3.15.1: π zbus 3.15.1Compare Source
v3.15.0: π zbus 3.15.0Compare Source
π Add missing
nixfeature.π·οΈ Add ResponseDispatchNotifier type. A wrapper interface method response type that notifies the
caller of the response being sent off.
πΈ Specify service and object path for Monitoring & Debug.Stats proxies. These defaults to be
based on the interface name otherwise and that's not the expected bhaviour.
βοΈ Fix a typo in docs.
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 is behind base branch, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.