Releases: dbus2/zbus
Releases · dbus2/zbus
zbus_macros-1.9.1
New release to go with zbus 1.9.1 and update link to our repo in the docs.
zbus_macros-1.9.0
New release to go with zbus 1.9.0.
- Document
zbus(header)
attribute. - Allow
clippy::needless_question_mark
for prop getter/methods. In the macro, we can't be sure if the Error type is a specific one and in turn if we need transformation (via?
) of the Result. So let's tell clippy to not bother checking for needless?
here.
zbus-1.9.1
Update link to our repo in the docs.
zbus-1.9.0
Fix return value of fdo::DBusProxy::release_name()
.
zvariant_derive-2.6.0
New release to go with zvariant 2.6.0 and fixes the docs link on crates.io.
zvariant-2.6.0
- Disallow strings with interior null bytes. This will probably negatively effect performance but it's required to follow the spec.
- Implement a friendly
Debug
forObjectPath
. - Allow efficient serialization and deserialization of byte arrays through
serde_bytes
crate. This has to be explicitly enabled through theserde_bytes
feature and used via an explicit API. - Provide more conversions:
- From
Owned
/Value
toBitflags
. std::convert::Infallible
toError
. Strictly speaking, this is an API break since error type inference in certain cases won't work and user will have to explicitly specify error types.- From
<&*ObjectPath>
toObjectPath
.
- From
- Update repository links.
zbus_xmlgen-2.0.0-beta.3
- Support arbitrary bus address.
- Update for zbus 2.0.0-beta.3.
- Add
_
to end of identifier if it is a keyword. - Update repository links.
- Add missing lifetime specifiers to
ObjectPath
andSignature
.
zbus_macros-2.0.0-beta.3
New release to go with zbus 2.0.0-beta.3.
dbus_interface
- Provide
<property_name>_changed
methods for all properties for conveniently emittingPropertiesChanged
. The associated setter method automatically call this method for you.
- Provide
dbus_proxy
:- Allow generics on signal handlers.
- Drop
disconnect_signal
wrappers since now each registered handler has a unique ID, with which you can disconnect the handler usingzbus::Proxy::disconnect_signal
orzbus::azync::Proxy::disconnect_signal
direclty. This is an API break as all of the signal handler disconnection code will need to be changed. - Add an object attribute that allows returning a Proxy for a specific
ObjectPath
instead of theObjectPath
itself. - Implement
zvariant::Type
&serde::ser::Serialize
for generated proxies. - Allow passing
ObjectPath
itself to parameters expectingTryInto<ObjectPath>
. This fixes a regression from the previous pre-release where we made it easier to use the API by simply passing a string (the typical case). - Document generated introspect method.
zbus-2.0.0-beta.3
- More reliable implementation of
azync::Connection::receive_specific
, which is heavily relied on by other async API. There was certain situations in which caller will end up waiting forever for a message that was already received (IOW an async deadlock). - Ability to register multiple handlers for the same signal on the same proxy. This also implies dropping of
disconnect_signal
wrappers from macro generated proxy code since now each registered handler has a unique ID, with which can disconnect the handler. This is an API break as all of the signal handler disconnection code will need to be changed. - Take signal sender into account. While in most cases this isn't necessary, it becomes very important when communicating with multiple services exposing the same interface, over the same connection.
std::convert::Infallible
toError
. Strictly speaking, this is an API break since error type inference in certain cases won't work and user will have to explicitly specify error types.- Allow passing
ObjectPath
itself to parameters expectingTryInto<ObjectPath>
. This fixes a regression from the previous pre-release where we made it easier to use the API by simply passing a string (the typical case). - Expose
zbus::fdo::Properties
interface implementation. - Internal signal subscription mechanism that ensures proxies to the same destination don't end up unsubscribing each other.
- Wrap
serde_xml_rs::Error
inzbus::Error
. This is an API break, but with moderate impact, since callers usually can't do much with the XML error. SignalReceiver::receive_for
now returns a Result<()>. This is strictly speaking an API break as existing code will get a warning from the compiler about unused Result from this call.- Re-export
serde
. - Add
Debug
impl onazync::SignalStream
. - Add dependency on:
- slotmap
- event-listener
- Other minor internals fixes/improvements.
zbus_macros-2.0.0-beta.2
New release to go with zbus 2.0.0-beta.2.
dbus_proxy
now generates async proxy code as well, that provides nearly identical API to existing sync proxy but async. An unfortunate side-affect of this change is that explicit lifetimes a now needed forValue
. So this commit also addresses that in all examples/tests.- Drop links to docs.rs from Cargo.toml file. The link for crates.io is automatically generated for us so specifying it manually could lead to link sending to latest stable release docs from an alpha or beta release page.
- Document
zbus(header)
attribute. - Make API consistent wrt ObjectPath arguments. We've a specific type for object paths but for convenience we've been allowing string types to be passed as object paths that we internally convert to ObjectPath or OwnedObjectPath. However, we've been inconsistent on this practice and require ObjectPath to be passed by the user in some places. We now expect users to always pass something that can be converted into an ObjectPath, which includes both &str and String.
- Add span information to generated property getter. This results in more useful errror messages for things like https://gitlab.freedesktop.org/dbus/zbus/-/issues/135.
- Add Debug impl for Proxy types.
- Provide new_owned constructor for Proxy types.
- Change repo links to point to new cool location.