Skip to content

Releases: dbus2/zbus

zbus_macros-1.9.1

11 May 07:51
Compare
Choose a tag to compare

New release to go with zbus 1.9.1 and update link to our repo in the docs.

zbus_macros-1.9.0

11 May 07:51
Compare
Choose a tag to compare

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

11 May 07:51
Compare
Choose a tag to compare

Update link to our repo in the docs.

zbus-1.9.0

11 May 07:51
Compare
Choose a tag to compare

Fix return value of fdo::DBusProxy::release_name().

zvariant_derive-2.6.0

11 May 07:51
Compare
Choose a tag to compare

New release to go with zvariant 2.6.0 and fixes the docs link on crates.io.

zvariant-2.6.0

11 May 07:51
Compare
Choose a tag to compare
  • Disallow strings with interior null bytes. This will probably negatively effect performance but it's required to follow the spec.
  • Implement a friendly Debug for ObjectPath.
  • Allow efficient serialization and deserialization of byte arrays through serde_bytes crate. This has to be explicitly enabled through the serde_bytes feature and used via an explicit API.
  • Provide more conversions:
    • From Owned/Value to Bitflags.
    • std::convert::Infallible to Error. 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> to ObjectPath.
  • Update repository links.

zbus_xmlgen-2.0.0-beta.3

11 May 07:51
Compare
Choose a tag to compare
  • 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 and Signature.

zbus_macros-2.0.0-beta.3

11 May 07:51
Compare
Choose a tag to compare

New release to go with zbus 2.0.0-beta.3.

  • dbus_interface
    • Provide <property_name>_changed methods for all properties for conveniently emitting PropertiesChanged. The associated setter method automatically call this method for you.
  • 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 using zbus::Proxy::disconnect_signal or zbus::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 the ObjectPath itself.
    • Implement zvariant::Type & serde::ser::Serialize for generated proxies.
    • Allow passing ObjectPath itself to parameters expecting TryInto<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

11 May 07:51
Compare
Choose a tag to compare
  • 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 to Error. 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 expecting TryInto<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 in zbus::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 on azync::SignalStream.
  • Add dependency on:
    • slotmap
    • event-listener
  • Other minor internals fixes/improvements.

zbus_macros-2.0.0-beta.2

11 May 07:50
Compare
Choose a tag to compare

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 for Value. 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.