Skip to content

zbus-2.0.0-beta.3

Choose a tag to compare

@zeenix zeenix released this 11 May 07:51
· 4625 commits to main since this release
  • 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.