Releases: dbus2/zbus
Releases · dbus2/zbus
🔖 zbus 4.2.0
- ✨ Make spawning tasks for method call handling, optional.
dbus_interface
now provides aspawn
attribute to control whether the method call handling is spawned as a task or not. - ✨ Add serial to Message's Debug representation.
- 🔌 Add connection::Builder::authenticated_socket for creating a connection with a
pre-authenticated socket. This could also be socket that doesn't need any authentication. #590. - ✨ Add connection::socket::{ReadHalf::receive_message, WriteHalf::send_message} methods. These
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. - ✨ Introducing connection::socket::Channel. This new socket type, uses channels for in-process p2p
communication. This can be used withconnection::Builder::authenticated_socket
to create a
connection for in-process communication. #591. - ⚡️ Pipeline client-side handshake as much as possible, including the
Hello
method call to the
bus. This reduces unnecessary round-trips & hence latencies. #493 - ✨ Add connection::Builder::auth_mechanism. Unlike auth_mechanisms method, this method only allows
one mechanism to be set. - 🗑️ Deprecate connection::Builder::auth_mechansims. In favor of
auth_mechansim
. This is in
preparation for #731, when we will remove this method entirely. - 🥅 Don't assert on invalid serve_at() usage. Document that standard interfaces are already added.
Return an error instead of an explicit panic if attempted, since it is not an internal invariant. - 🥅 Catch interface handler error.
- 🔊 Reduce the amount of tracing data when adding traces in handlers (duplicated "msg").
- 🔥 Remove now unnecessary hack to ensure ObjectManager signals aren't sent before Hello method.
- 🔊 Instrument all async methods of server handshake.
- 🚩 Support autolaunch address on Windows without
windows-gdbus
feature 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 - 📝 Clearly document
Interface
being unstable API. Also recommend what people should do when
dbus_interface
isn't enough. - 🔥 Drop impossible scope on autolaunch session bus address. We currently can't handle scopes on
autolaunch addresses so there is no need to create an address with scopes. - 🥅 Correctly handle cancellation of handshake in server. If the client sends a
CANCEL
command
during a handshake, the server must move on to the next handshake method available (if any). - 🛂 Server-side handshake should be as lenient as the spec says. If a received command from the
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. - 🔊 Exclude newline terminators from String repr of commands. Otherwise it messes up the logging
output. - 🏷️ Implement Default for address::transport::Autolaunch.
- 🚨 Remove duplicate trait bounds.
- 💄 Use the new logo in docs.
- ⬆️ Updated depdencies:
- blocking to 1.6.0
- async-fs to 2.1.2
- async-task to 4.7.1
- async-process to 2.2.2
- async-executor to 1.11.0
- async-trait to 0.1.80
- vsock to 0.5.0
- serde_repr to 0.1.19
- event-listener to 5.3.0
- async-io to 2.3.2
- async-recursion to 1.1.1
- tempfile to 3.10.1
- quote to 1.0.36
- zvariant_utils to 1.1.1
- ➖ Removed depdencies:
- regex
- derivative
- 🎨 Use imports over qualifies in macros.
- ✏️ Fix some typos.
- ♻️ Many internal code cleanups and improvements.
🔖 zbus_xmlgen 4.1.0
- 🚑️ Always use owned types for signal args. We started doing this already in 2.0 but it
didn't cover all cases and we still sometimes end up with types that do not implement
serde::Deserialize
. As a side-effect, this now also turns some of the normal method args to
take references instead of values, which is a good thing. #412 - 🔥 Remove unneeded imports.
- ✅ zx: Add more tests for signals.
- ⬆️ Update clap to 4.5.
- ⬆️ Update pretty_assertions to 1.4.
🔖 zbus_names 2.6.1
- ⬆️ Requre zvariant 3.15. In 2.6.0, we ended up using API from zvariant 3.15 and didn't bump
our requirement. This release fixes that. #667
🔖 zvariant_derive 4.0.2
- ⏪️ Revert unpinnig of zvariant_utils version in Cargo.toml. The
reverted change ended up bumping our MSRV to 1.75 in 3.x series.
We don't want that.
🔖 zvariant_derive 3.15.2
- ⏪️ Revert unpinnig of zvariant_utils version in Cargo.toml. The
reverted change ended up bumping our MSRV to 1.75 in 3.x series.
We don't want that.
🔖 zvariant 4.0.2
To go with zvariant_derive 4.0.2.
🔖 zvariant 3.15.2
To go with zvariant_derive 3.15.2.
🔖 zbus_macros 4.1.2
- ⏪️ Revert unpinnig of zvariant_utils version in Cargo.toml. The
reverted change ended up bumping our MSRV to 1.75 in 3.x series.
We don't want that.
🔖 zbus_macros 3.15.2
- ⏪️ Revert unpinnig of zvariant_utils version in Cargo.toml. The
reverted change ended up bumping our MSRV to 1.75 in 3.x series.
We don't want that.
🔖 zbus 4.1.2
To go with zbus_macros 4.1.2. Other changes:
- ⬆️ Bump nix to 0.28.