Skip to content

zbus 3.7.0

Choose a tag to compare

@zeenix zeenix released this 11 May 08:01
· 2943 commits to main since this release

New API

  • Implement Clone for Error and fdo::Error.
  • Add MatchRule::matches to check if a MatchRule matches a Message.
  • Add {MessageStream, blocking::MessageIterator}::for_match_rule to create a stream that only
    yields messages that match a MatchRule. This allows for efficient filtering of messages and
    avoids unnecessary task wakeups. {SignalStream, blocking::SignalIterator}, ObjectServer and
    method calls make use of this API internally.
  • Introduce Error::InputOutput(Arc<..>) and deprecated Error::Io in favour of it.
  • Add a generic Error::Failure variant.
  • Add ConnectionBuilder::unique_name. This is meant for bus implementations to allow them to set
    a unique_name before all other initialisations happen. For one, this would allow ObjectServer
    to be able to filter messages to the bus itself.
  • Implement From<&MessageStream> for Connection.

Improvements/fixes

  • Ensure all streams get the errors from reading the socket, not just one of them.
  • Many other minor and internal improvements and fixes.

Dependencies changed

  • Drop async-channel dependency.
  • Bump requirements:
    • quick-xml 0.27.1.
    • zvariant 2.10.
    • zbus_names 2.5.
    • async-io 1.12.0.
    • async-executor 1.5.0.
    • async-broadcast 0.5.0.
    • ordered-stream 0.1.3.