Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • zbus-3.8.0
    Release 3.8.0
    
    * Add `AsyncDrop` trait. Until there is an [upstream Rust support for async dropping][async_drop] we will need this for explicit drop of async resources.
    * Implement `AsyncDrop` for MessageStream, SignalStream, & macro-generated signal streams. This will allow users to immediately deregister the associated match rules (if any).
    * Gracefully handle peer disconnection during handshake.
    * Don't disallow `EXTERNAL` auth in server handshake.
    * Skip `self` in handshake traces. Otherwise it creates a lot of noise.
    * More conformance to the D-Bus specification:
      * Don't create messages larger than 128 MiB.
      * Don't accept messages larger than 128 MiB.
    * Gracefully handle peer disconnection during handshake phase.
    * Fix server-side handshake code to not eat up the first `Hello` method call from the client if the client is too fast for the server.
    * Add more tracing to handshake machinery.
    * Fix `ToString` implementation of `MatchRule` to include `arg0namespace`.
    * Dependencies changed:
      * ordered-stream 0.1.4.
    * Internal improvements & fixes.
    
    [async_drop]: https://rust-lang.github.io/async-fundamentals-initiative/roadmap/async_drop.html
  • zbus_macros-3.8.0
    Release 3.8.0
    
    * Implement `zbus::AsyncDrop` for generated signal streams.
    * Support mutable method arguments with `dbus_interface`.
  • zbus-3.7.0
    8903a20f · zb,zm: Bump minor version ·
    Release 3.7.0
    
    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.
  • zbus_macros-3.7.0
    8903a20f · zb,zm: Bump minor version ·
    Release 3.7.0
    
    * Only generate _receive_with_args wrappers if args > 0.
  • zbus_names-2.5.0
    8903a20f · zb,zm: Bump minor version ·
    Release 2.5.0
    
    * Implement `Clone` for `Error`.
    * Require `zvariant` 3.10.0.
  • zvariant-3.10.0
    Release 3.10.0
    
    * Implement `Clone` for `Error`.
    * Introduce `Error::InputOutput(Arc<..>)` and deprecated `Error::Io` in favour of it.
    * Implement `Default` for `Optional`.
    * Misc minor fixes and improvements.
  • zvariant_derive-3.10.0
    Release 3.10.0 to go with zvariant 3.10.0
  • zbus_macros-3.6.2
    acf6e560 · zb,zm: Release 3.6.2 ·
    To go with zbus 3.6.2
  • zbus-3.6.2
    acf6e560 · zb,zm: Release 3.6.2 ·
    Bugfix release 3.6.2
    
    * Drop unused generic from `blocking::Proxy::call_with_flags`.
  • zbus_xmlgen-3.1.0
    4ee372d4 · zx: Bump minor version ·
    Release 3.1.0
    
    * Add name attribute to incorrectly snake_case names.
    * Use `quick-xml` API from zbus for XML parsing instead of `serde-xml`-based.
    * Set default service & path when it's known.
    * Specify `assume_defaults` when service or path is unknown.
    * Require zbus 3.6.1.
  • zbus-3.6.1
    cc2036a5 · zb,zm: Release 3.6.1 ·
    Release 3.6.1
    
    Add an alternative XML parsing API based on `quick-xml`, which is enabled through a new `quick-xml`
    cargo feature. This is because `serde-xml-rs` is unmaintained,. `serde-xml`-based `xml` API will
    eventually be dropped in favour of this.
    
    Including new API in a micro release cause this was intended to be part of 3.6.0. So it's sort of a fix.
  • zbus_macros-3.6.1
    cc2036a5 · zb,zm: Release 3.6.1 ·
    Release 3.6.1
    
    * Specify full path of Into and TryInto traits. TryInto will fail for users otherwise unless they
      import it themselves or use 2021 Rust.
    * Move `assume_defaults` attr docs to the correct place.
  • zbus-3.6.0
    4e148a19 · zb,zm: Release 3.6.0 ·
    Release 3.6.0
    
    * Add `Proxy::call_with_flags`.
    * Add `Add Connection::request_name_with_flags`.
    * Add `Proxy::receive_signal_with_args`, which is the same as `Proxy::receive_signal` but allows one
      to setup server-side filtering based on argument matches, thus allowing you to avoid unnecessary
      D-Bus traffic flowing to your connection.
    * Fix the API and handling of argN and argNpath in match rules. We were assuming that they've to be
      contiguous but that's not true. One can set a condition on any arg at any index. This means an API
      break but:
      * We just introduced the API in the last release so chances of someone using it directly are very
        low.
      * If anyone was using the changed API, they were likely in trouble anyway.
      * We avoid breaking the main API by keeping `MatchRuleBuilder::{add_arg, add_arg_path}` the same
        and adding new methods for adding args at a specific index.
      * The API that **is** breaking is mostly going to be useful for bus implementations and there is
        hardly one yet.
    * Improved tokio-console integration:
      * Add traces to futures running as tasks.
      * Enable `tracing` feature of tokio.
      * Set IDs on tokio tasks. `tokio_unstable` cargo flag will need to be specified though but we
        leave that to the users.
    * Fix a possible race-condition in signal streams, that mainly affected low-end machines.
    * Avoid redundant signals for `OwnerChangedStream`. Make use of ability to set a filter on args in
      match rules to only be notified of changes to name we're actually interested in.
    * Pre-allocate known capacity for match rule args.
    * Add `chrono` feature, which is a proxy feature to enable `chrono` feature+dep in `zvariant`.
    * Fixes to docs.
    * Some internal improvements.
    * Bumped dependencies:
      * ordered-stream 0.1.2
      * zvariant 3.9.0
      * zbus_names 2.4.0
  • zbus_macros-3.6.0
    4e148a19 · zb,zm: Release 3.6.0 ·
    Release 3.6.0
    
    * Add new attributes to `dbus_proxy` methods:
      * `no_autostart` - declare a method call that will not trigger the bus to automatically launch the
        destination service if it is not already running.
      * `allow_interactive_auth` - declare a method call that is allowed to trigger an interactive
        prompt for authorization or confirmation from the receiver.
    * Generate `Proxy::receive_signal_with_args` wrappers.
    * Declare `from_message` public in generated proxy.
    * Fix warnings in doc examples.
  • zbus_names-2.4.0
    da4e3239 · zn: Release 2.4.0 ·
    Release 2.4.0
    
    * Allow converting a `Cow<str>` to the all types.
    * Correctly deserialization from `String`. This allows deserialization from `std::io::Read`.
    * Require latest zvariant release.
  • zvariant_derive-3.9.0
    3b05a5f5 · zv,zd: Release 3.9.0 ·
    Release 3.9.0
    
    * Doc fixes and improvements.
  • zvariant-3.9.0
    3b05a5f5 · zv,zd: Release 3.9.0 ·
    Release 3.9.0
    
    * `Deserialize` impl of `OwnedObjectPath` shouldn't assume borrowed string. This allows this type to
      be deserialized from a std::io::Read.
    * Implement `Type` for `Path` and `PathBuf`.
    * Add `chrono` feature that enables `Type` for `chrono::{DateTime, NaiveTime, NaiveDateTime}`.
  • zbus-3.5.0
    a12a0877 · zn: Bump minor version ·
    Release 3.5.0
    
    * Derive `Hash` for MessageType so it can be used as a key in hashmaps.
    * Add API to represent match rules. These are used to subscribe to signals
      mainly.
    * Add `fdo::DBusProxy::{add_match_rule,remove_match_rule}`, that are
      `{add_match,remove_match}` replacements that make the same
      underlying D-Bus calls but make use of the new `MatchRule` type. We also
      deprecate the `{add_match,remove_match}` to discourage use of these less
      type-safe versions.
    * `ProxyBuilder::uncached_properties` sets given list Instead of
      appending. The usecase is for users to set it only once.
    * `ObjectServer` should handle methods destined to unknown names if no
      names are registered. We were only doing this for p2p case but we should
      do this for bus case well. Otherwise it breaks things for folks who were
      using `fdo::DBusProxy::request_name` along with `ObjectServer` for any
      reason.
    * Bump zvariant requirement to latest release.
    *
  • zbus_macros-3.5.0
    a12a0877 · zn: Bump minor version ·
    Release 3.5.0
    
    * Pass on all attributes of dbus_proxy, not just doc. So you can
      deprecate dbus_proxy methods for example.
    * Add `from_message` method to generated signal structs.
    * Add 'assume_defaults' attribute to `dbus_proxy` (defaulting to `true`),
      which reflects the status quo: currently, all generated proxies assume
      (and auto-generate) some default values for path and service. In some
      cases, the auto-generated values could be wrong and misleading. The new
      attribute allows to selectively disable the implicit default.
  • zbus_names-2.3.0
    a12a0877 · zn: Bump minor version ·
    Release 2.3.0
    
    * Add inner() methods for all name types.
    * Deserialize impl of Owned* shouldn't assume borrowed string. This allows
      these types to be deserialized from a std::io::Read (#287).
    * Implement `TryFrom<Arc<str>>` for all types.
    * Bump zvariant requirement to latest release.