Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update rust crate zbus to v4 (v1) #1431

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 3, 2024

Mend Renovate

This PR contains the following updates:

Package Type Update Change
zbus dependencies major 3 -> 4

Release Notes

dbus2/zbus (zbus)

v4.2.2: πŸ”– zbus 4.2.2

Compare Source

  • πŸš‘οΈ zm: Fix a regression introduced by in 4.2.0, resulting in tasks not being spawned for
    methods by default. #​799
  • ⬆️ Update syn to v2. #​401
  • ⬆️ Update zvariant_utils to 2.0.0.
  • πŸ“ Correct wrong documentation links. #​790

v4.2.1: πŸ”– zbus 4.2.1

Compare Source

  • πŸš‘οΈ Critical fixes:
    • Don't invalidate all properties on change. This fixes a regression in c1aa5c7, where we
      started to invalidate properties in every PropertyChanged signal. This is wrong anyway but it
      also meant zbus interfaces breaking against gio. #​765
    • Use assert! instead of debug_assert!. debug_assert! is removed in release builds, along
      with any values computed inside it. This meant that since the use of debug_assert! in
      commit 7fc3ab7, the fdo interfaces weren't getting added for
      nodes for release profile. Let's use assert! instead. #​764
    • Fix 0 byte transfer and parsing regressions for FreeBSD. #​756
  • πŸ’© Hack to make connection handshake work inside Flatpak. xdg-dbus-proxy can't handle
    pipelining
    , hence we need to handle NEGOTIATE_UNIX_FD command's response before sending out
    BEGIN command and Hello method call message.
  • πŸ₯… Gracefully handle rejection of UNIX FD passing.
  • πŸ› Ensure all messsage bytes received during handshake are used. Don't assume that only a single
    full message could be received at the end of the client handshake process.
  • πŸ“ Correct logo URL in docs.
  • 🚨 Allow dead code in doc samples.
  • ⬆️ Update dependencies:
    • serde to 1.0.200.
    • proc-macro2 to 1.0.81.
    • tokio to 1.37.0.

v4.2.0: πŸ”– zbus 4.2.0

Compare Source

  • ✨ Make spawning tasks for method call handling, optional. dbus_interface now provides a spawn
    attribute to control whether the method call handling is spawned as a task or not.
  • ✨ Add serial to Message's Debug representation.
  • πŸ”Œ Add connection::Builder::authenticated_socket for creating a connection with a
    pre-authenticated socket. This could also be socket that doesn't need any authentication. #​590.
  • ✨ Add connection::socket::{ReadHalf::receive_message, WriteHalf::send_message} methods. These
    method have a default implementation that just uses the lower-level sibling methods. Implementers
    can either override this method or the lower-level method, depending on the underlying socket
    they're using.
  • ✨ Introducing connection::socket::Channel. This new socket type, uses channels for in-process p2p
    communication. This can be used with connection::Builder::authenticated_socket to create a
    connection for in-process communication. #​591.
  • ⚑️ Pipeline client-side handshake as much as possible, including the Hello method call to the
    bus. This reduces unnecessary round-trips & hence latencies. #​493
  • ✨ Add connection::Builder::auth_mechanism. Unlike auth_mechanisms method, this method only allows
    one mechanism to be set.
  • πŸ—‘οΈ Deprecate connection::Builder::auth_mechansims. In favor of auth_mechansim. This is in
    preparation for #​731, when we will remove this method entirely.
  • πŸ₯… Don't assert on invalid serve_at() usage. Document that standard interfaces are already added.
    Return an error instead of an explicit panic if attempted, since it is not an internal invariant.
  • πŸ₯… Catch interface handler error.
  • πŸ”Š Reduce the amount of tracing data when adding traces in handlers (duplicated "msg").
  • πŸ”₯ Remove now unnecessary hack to ensure ObjectManager signals aren't sent before Hello method.
  • πŸ”Š Instrument all async methods of server handshake.
  • 🚩 Support autolaunch address on Windows without windows-gdbus feature and associated hacks.
    Turns out that the reference D-Bus implementation supports autolaunch fine and we don't need
    special support for gdbus binary. Hopefully, in the near future, busd will also support it. #​687
  • πŸ“ Clearly document Interface being unstable API. Also recommend what people should do when
    dbus_interface isn't enough.
  • πŸ”₯ Drop impossible scope on autolaunch session bus address. We currently can't handle scopes on
    autolaunch addresses so there is no need to create an address with scopes.
  • πŸ₯… Correctly handle cancellation of handshake in server. If the client sends a CANCEL command
    during a handshake, the server must move on to the next handshake method available (if any).
  • πŸ›‚ Server-side handshake should be as lenient as the spec says. If a received command from the
    client is unknown or invalid in the current context, we shouldn't completely error out but rather
    send an error and continue as if nothing happened.
  • πŸ”Š Exclude newline terminators from String repr of commands. Otherwise it messes up the logging
    output.
  • 🏷️ Implement Default for address::transport::Autolaunch.
  • 🚨 Remove duplicate trait bounds.
  • πŸ’„ Use the new logo in docs.
  • ⬆️ Updated depdencies:
    • blocking to 1.6.0
    • async-fs to 2.1.2
    • async-task to 4.7.1
    • async-process to 2.2.2
    • async-executor to 1.11.0
    • async-trait to 0.1.80
    • vsock to 0.5.0
    • serde_repr to 0.1.19
    • event-listener to 5.3.0
    • async-io to 2.3.2
    • async-recursion to 1.1.1
    • tempfile to 3.10.1
    • quote to 1.0.36
    • zvariant_utils to 1.1.1
  • βž– Removed depdencies:
    • regex
    • derivative
  • 🎨 Use imports over qualifies in macros.
  • ✏️ Fix some typos.
  • ♻️ Many internal code cleanups and improvements.

v4.1.2: πŸ”– zbus 4.1.2

Compare Source

To go with zbus_macros 4.1.2. Other changes:

  • ⬆️ Bump nix to 0.28.

v4.1.1: πŸ”– zbus 4.1.1

Compare Source

The actual change is in zbus_macros 4.1.1.

v4.1.0: πŸ”– zbus 4.1.0

Compare Source

  • πŸš‘οΈ zb: Fix a deprecation re-export.
  • πŸ”₯ zb: Remove some redundant imports.
  • ✏️ zb: Fix a typo in docs.
  • ⬆️ Updated deps:
    • async-io to v2.3.1.
    • async-process to 2.1.0.
    • async-task to 4.7.0.
    • async-recursion to 1.0.5.
    • async-lock to 3.3.0.
    • async-fs to 2.1.1.
    • async-executor to 1.8.0.
    • async-trait to 0.1.77.
    • blocking to 1.5.1.
    • enumflags2 to 0.7.9.
    • event-listener to 5.1.0.
    • futures-sink to 0.3.30.
    • futures-core to 0.3.30.
    • futures-util to 0.3.30.
    • sha1 to 0.10.6.
    • serde_repr to 0.1.18.
    • tracing to 0.1.40.
    • tempfile to 3.10.0.
    • xdg-home to 1.1.0.

v4.0.1: πŸ”– zbus 4.0.1

Compare Source

  • 🏷️ Implement ProxyDefault for blocking::Proxy that was missed in 4.0.0.
  • πŸ“ Fix and update links in the book.

v4.0.0: πŸ”– zbus 4.0.0

Compare Source

A new API-breaking release that brings in a huge amount of changes. Most using code should still
compile (with deprecation warnings) and work without changes. Hightlights:

  • 🚚 Changing names of dbus_interface and dbus_proxy along with their atrributes. See
    zbus_macros release notes for details, including commands to automatically update your
    code.
  • πŸ‘½οΈ Adapt to zvariant 4.0 changes.
  • 🚚 Make use of submodules for nicer API hierarchy. In most cases
    deprecation warnings will guide you to the new paths.
  • 🚚 XML parsing API split into a separate crate, zbus_xml. The xml
    and quick-xml feature flags are removed as a result. #​413.
  • πŸ—οΈ Message API overhaul
    • 🚸 header method and message::Header getters now infallible.
    • 🏷️ body method now returns a new type, message::Body that provides all message body-related API.
    • πŸ”₯ MessageField* API dropped. Use Message::header() with message::Header's specific getters.
    • πŸ”₯ message::Type::Invalid variant dropped. We just don't let a message be created for invalid types.
    • 🚚 as_bytes method renamed to data and now returns &zvariant::serialized::Data.
    • πŸ”₯ Drop Message::take_fds() method. This was never a good idea because it is basically
      unsafe (even though it's not marked as such) since it disassociates the FDs from the message and
      the caller is free to close them while message is still referencing them.
    • 🏷️ All serial number related API now use NonZeroU32.
    • 🚸 constructors now return a Builder instance.
    • 🚸 Arc wrapping of message no longer needed and all API using Arc type now use Message.
    • πŸ”₯ Drop unneeded From for message::Type.
  • πŸ”Œ Connection
    • πŸ”₯ Drop futures::Sink implementation. This was proving very difficult to maintain and most
      likely used by very few people, who can use the send method instead.
    • 🏷️ server_guid return &Guid now, instead of a string.
    • πŸ₯… connection::Builder::server now takes anything TryInto and hence fallible.
    • πŸ₯… connection::Builder ensures GUID is correct for client: If the client connection is
      constructed through an address with GUID in it, we should verify this GUID is the same as one
      received from the server during the handshake.
    • πŸ—οΈ Socket trait now higher-level, async and split into read and write
      halves.
    • πŸ”₯ Remove unnecessary constraints on Socket. and associated types.
    • ✨ Add missing blocking::connection::Builder::socket.
    • ✨ Proper support for abstract unix sockets that makes use of the std API. This replaces our hack.
  • πŸ’₯ Split Guid into reference & owned types. Guid now has a lifetime parameter, and
    OwnedGuid is a new type that's a wrapper around Guid<'static>. Internally, Guid is now a
    wrapper around zvariant::Str and is now a very similar type to other zvariant::Str wrapper
    types.
  • πŸ—οΈ Address API overhaul:
    • πŸ’₯ Split transport bits into a separate type hierarchy, address::Transport. Address` is
      no longer an enum but a struct with hidden fields. #​476.
    • ✨ Support GUIDs. We previously just ignored GUIDs in addresses. No more. We now parse it, if
      present and provide API to set a GUID on an Address instance.
    • ✨ Support unix:tmpdir and unix:dir transports.
    • πŸ› Fix Display impl for address of abstract Unix sockets.
  • ✨ Relax type bound on Proxy::call/call_with_flags. A bound of
    for<'d> zvariant::DynamicDeserialize<'d> on the result type of a call is sufficient to
    deserialize; use this bound instead of the stricter DeserializeOwned + zvariant::Type.
  • πŸ—‘οΈ Some APIs deprecated (the deprecation warnings will give a hint).
  • πŸ”₯ Drop Error::NoBodySignature variant
  • πŸ”₯ Drop Deprecated APIs.
  • 🚩 Gate all p2p API behind a p2p feature. Given that typical users do not need this API, we don't enable it by default.
  • 🚩 Add bus-impl cargo feature. API that is only needed by bus implementations now gated behind this non-default cargo feature. #​480.
    the peer-to-peer and bus implementation API respectively.
  • ⬆️ Migrate from winapi to windows-sys (#​534).
  • ⬆️ Dependencies bumped
    • event-listener 5.0.
    • async-broadcast 0.7.0.
    • async-process 2.0.
    • async-io 2.0.
    • async-lock 3.0.
    • async-fs 2.0.
    • vsock 0.4.
    • tokio-vsock 0.4.
    • nix 0.27.
  • βž– Dependencies dropped
    • once_cell
    • byteorder. Use endi crate instead through zvariant.
    • async-recursion for targets other than MacOS and Windows.
  • ⬆️ Bump MSRV to 1.75
  • πŸ”§ Switch to Rust 2021. This doesn't affect our users but gives us some features.
  • 🩹 implement peer_credentials() for tokio win32.
  • πŸ“Œ Pin tokio to only its major version. This allows it to be upgraded to any API-compatible versions.
  • πŸš‘οΈ Don't send ObjectManager signals before Hello method.
  • πŸš‘οΈ Fix a pointer access on Windows. Details at: https://github.com/microsoft/windows-rs/issues/2842
  • πŸš‘οΈ Fix use-after-free in Windows SID code.
  • πŸ”₯ Don't assume defaults in fdo interfaces. Otherwise people will forget to set them and then wonder why their code is not working.
  • πŸ’₯ Drop Deref impl for blocking::ObjectServer. Not exactly a smart pointer. Also other blocking wrappers don't do that. #​475.
  • ✨ Support non-native endian:
    • Respond to messages using the same endian. This makes sense and it's also what gdbus does.
    • Add message::Builder::endian. This allows one to specify the endianness of the message they're constructing.
  • πŸ“ book: Add a simpler D-Bus signals example.
  • πŸ› Use the correct traversal order for node tree introspection in ObjectServer.
  • πŸ’₯ Serial numbers now globally assigned to messages, instead of Connection managing the serial numbers.
  • 🚩 Add option-as-array feature. This is a mainly a zvariant proxy/forwarding feature.
  • 🚩 Remove unused gvariant feature. zbus doesn't actually make use of this even if it was
    enabled. This only causes confusion if user enables it since then Option<T> has zvariant::Type
    implemented but D-Bus encoding doesn't support that and people get runtime errors instead.
  • 🩹 Server connection should reject fd-passing if not possible. If the client asks for
    fd-passing on socket type that doesn't support it, reject the request.
  • πŸ’₯ Make interface arg on fdo::PropertiesProxy::get_all optional. This is as per the specs. #​302.
  • πŸ—‘οΈ Deprecate proxy::Builder::new_bare method. In favor of proxy::Builder::new(), which
    new_bare is just a wrapper around now, since all proxy types implement ProxyDefault trait. #​417.
  • ✨ impl ProxyDefault for Proxy.
  • πŸ—οΈ ProxyDefault's constants now optional. This makes things a bit simpler and streamlined by
    allowing all generated proxies to implement this trait.
  • ✨ Add ProxyImpl trait that macro-generated proxies implement. It makes it possible to write
    generic code around different proxy types. #​433
  • 🩹 fdo proxies now don't assume default service and paths.
  • ⚑️ Some optimizations.
  • πŸ”Š add some logging to handshake code.
  • πŸ“ hide ResultAdapter from the doc, it's internal helper API.
  • 🎨 Fix formatting of Cargo.toml file.

v3.15.2: πŸ”– zbus 3.15.2

Compare Source

To go with zbus_macros 3.15.2. Other changes:

  • 🚨 Fix clippy lints.
  • πŸ”₯ Drop some unneeded imports.

v3.15.1: πŸ”– zbus 3.15.1

Compare Source

  • 🚨 Impl Display instead of ToString for MatchRule.
  • πŸ”₯ Remove some redundant imports.
  • 🚨 Fix some clippy warnings.

v3.15.0: πŸ”– zbus 3.15.0

Compare Source

πŸ› Add missing nix feature.
🏷️ Add ResponseDispatchNotifier type. A wrapper interface method response type that notifies the
caller of the response being sent off.
🚸 Specify service and object path for Monitoring & Debug.Stats proxies. These defaults to be
based on the interface name otherwise and that's not the expected bhaviour.
✏️ Fix a typo in docs.


Configuration

πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot requested a review from a team as a code owner June 3, 2024 22:33
@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jun 3, 2024
Copy link
Contributor Author

renovate bot commented Jun 3, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

β™» Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path plugins/single-instance/Cargo.toml --package [email protected] --precise 4.2.2
error: package ID specification `[email protected]` did not match any packages
Did you mean one of these?

  [email protected]

@renovate renovate bot force-pushed the renovate/v1-zbus-4.x branch from 729ea78 to f33e682 Compare June 4, 2024 09:39
@FabianLars FabianLars closed this Jun 4, 2024
@FabianLars FabianLars deleted the renovate/v1-zbus-4.x branch June 4, 2024 10:17
@FabianLars
Copy link
Member

closed due to msrv reqs

Copy link
Contributor Author

renovate bot commented Jun 4, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 4.x releases. But if you manually upgrade to 4.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant