Skip to content

build(deps): Update Rust crate zbus to v6 - #537

Open
renovate[bot] wants to merge 3 commits into
masterfrom
renovate/zbus-6.x
Open

renovate[bot] wants to merge 3 commits into
masterfrom
renovate/zbus-6.x

Conversation

@renovate

@renovate renovate Bot commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
zbus workspace.dependencies major 5.14 → 6.0

Release Notes

z-galaxy/zbus (zbus)

v6.0.0

Compare Source

The book's Upgrading to zbus 6.0 chapter
is the complete list of this release's breaking changes; the Breaking group below holds only some
of them.

✨ Added
  • Run connections on Tokio on WASI.
  • Add spawn_process to traits::Runtime.
  • Add connect_tcp and connect_unix to traits::Runtime.
  • Add a flush hook to WriteHalf.
  • Make block_on part of the public API.
  • Do every socket's I/O through the connection's runtime.
  • Make a build with neither backend valid.
  • Accept any runtime through Builder::runtime.
  • Add the traits through which a runtime serves a connection.
  • Add FilePath::as_c_str.
  • Mark the builders and their setters as must_use.
  • Defer connection builder errors to build().
  • Defer message builder errors to build().
  • Defer proxy builder errors to build().
  • Defer match rule builder errors to build().
  • Accept more typed values in name and path conversions.
  • Add Structure::builder.
  • Expose common wire types at the crate root.
  • Use Serde and Type for interface properties.
  • Use Serde and Type for proxy properties.
  • Gate the D-Bus API behind the comms feature.
  • Add ConnectionCredentials::into_process_fd.
  • Support conversion from/to BTreeMap for Variant and OwnedVariant.
💥 Breaking
  • Declare AsyncDrop without async-trait.
  • Drop the Fromhex::FromHexError impl of Error.
  • Take std socket types in Builder::unix_stream and tcp_stream, and drop
    Builder::async_io_unix_stream and async_io_tcp_stream.
  • Drop the unused lifetime of StructureSeed.
  • Return StartServiceReply from start_service_by_name.
  • Drop the VSOCK transport.
  • Drop the enumflags2 feature.
  • Make MethodFlags a bitflags type.
  • Make message::Flags a bitflags type.
  • Make RequestNameFlags a bitflags type.
  • Take and give queue sizes as NonZeroUsize.
  • Hand out listeners of zbus's own types.
  • Replace the async-io feature and crates with default-rt: zruntime's runtime, one per
    thread that calls block_on and driven by that thread.
  • Remove the blocking API.
  • Stop generating blocking proxies.
  • Drop the properties cache from proxies without properties.
  • Drop the format from the wire Context.
  • Drop the Format dispatch from Signature.
  • Unify the error types.
👷 CI
  • Measure the single-thread benchmarks by CPU simulation.
♻️ Changed
  • Rename DispatchResult2 to DispatchResult.
  • Convert Interest to zruntime's in a private function.
  • Poll the runtime-less block_on's future without futures-lite.
  • Race a timeout's future and its sleep without futures-lite.
  • Take the next item of a stream without futures-lite.
  • Rename Value to Variant. #​1947
  • Register sockets with Tokio on Windows through its own stream.
  • Make the unixexec and ibus features non-default.
  • Connect to an address without cloning it.
  • Remove redundant downcast checks.
  • Take the blocking-work thread from zruntime.
  • Take the async locks from zruntime.
  • Run transport helper processes on the connection's runtime.
  • Hand blocking work to the runtime when it is asked for.
  • Connect every transport on the connection's runtime.
  • Dispatch every runtime arm through the trait.
  • Take a connection's tasks and timers from one runtime.
  • Rename the abstractions module to runtime.
  • Rename Body::deserialize_unchecked.
  • Make tracing an optional feature. #​331
  • Put the service-side ObjectManager behind a feature.
  • Put the ibus transport behind a feature.
  • Put the unixexec transport behind a feature.
  • Keep the signal path non-generic.
  • Keep the method call path non-generic.
  • Build signature mismatch errors out of line.
  • Write introspection doc comments through a helper.
  • Convert method handler errors in one place.
  • Build replies in one non-generic step.
  • Write message bodies through a trait object.
  • Use the root wire API in callers and examples.
  • Add service feature. #​1135
  • Add proxy feature.
  • Declare the standard interface proxies separately.
  • Convert property values in memory.
  • Remove no-op async-fs cargo feature. #​1287
  • Gate integration tests in modules.
  • Rename zvariant_utils to zbus_utils.
  • Tidy the imports the crate merge left behind.
  • Move the zvariant derives into zbus_macros.
  • Port the in-tree callers to zbus::wire.
  • Move zvariant into zbus as the wire module.
  • Move zbus_names into zbus as the names module.
  • Reach the bus name types through the re-export.
  • Deduplicate the default-interface name checks.
📦 Dependencies
  • Bump the MSRV to 1.89.
  • Update tokio to v1.53.3 (#​2028).
  • Drop futures-lite from the library's dependencies.
  • Drop the Tokio features nothing uses.
  • Drop the async-recursion dependency.
  • Move to zruntime's broadcast channel.
  • Build on zruntime's Event instead of event-listener.
  • Drop the async-lock feature and crate.
  • Drop proc-macro-crate (#​1365).
🗑️ Deprecated
  • Add deprecated zvariant aliases for the wire module.
📝 Documentation
  • Document the public items of fdo, proxy and the error types.
  • Document the public items of connection and address.
  • Document the public items of names, message and match_rule.
  • Document the public items of the wire module.
  • Say how the set_max_queued methods treat a smaller size.
  • Say what block_on runs on with the tokio feature.
  • List the object-manager feature in the README.
  • Document the support of WASI. #​1452
  • Point the book at the runtime traits' docs.
  • Move the example Socket implementation to the trait's docs.
  • Document the runtime trait's connects and helper process.
  • Document the fields of Error::Connection.
  • Document the built-in runtime.
  • Point synchronous programs at zbus::block_on.
  • Document the runtime and socket changes of 6.0.
  • Document the proxy and service features.
  • Add usage example to ObjectManager docs.
  • Update the book for zbus 6.0.
  • Document the wire and names modules.
  • Make two intra-doc links feature-independent.
🐛 Fixed
  • Fail where WASI has no default bus address or machine ID.
  • Make PropertyStream yield changes if service starts later.
  • Convert Message to Error::FDO for matching method errors.
  • End a connection whose socket reader task is gone.
  • Accept a map in as_value::Deserialize.
  • Carry any D-Bus error in zbus::Error.
  • Let property handlers fail with any DBusError. #​313
  • Make ObjectServer::at hand back the interface on conflict. #​235
  • Fix a small build issue for unix targets.
  • Reject non-basic dictionary keys. #​1637
  • Don't leak auto-created nodes when interface addition fails.
  • Don't destroy objects still in use on interface removal.
  • Prune empty ancestor nodes on interface removal. #​1916
  • Validate names in Variant and OwnedVariant conversions.
  • Check the Optional null sentinel before converting.
⚙️ Other
  • 🚨 Warn about undocumented public items.
  • 📦️ Describe the wire format in the package metadata.
  • ✏️ Fix the proxy name in the README example.
  • 💣 Ask for no process ID on WASI.
  • 🛂 Authenticate as the user Builder::user_id names on WASI.
  • 🔌 Have no unix-domain connect on WASI.
  • 🔌 Do a connection's socket I/O on WASI.
  • 🧵 Run blocking work on the calling thread on WASI.
  • ✏️ Fix a typo in the AuthMechanism docs.
  • 🧑‍💻 Convert lifetime-free newtypes from Values of any lifetime.
  • 💬 Reword the Error::Connection message.
  • 🦺 Replace unsafe downcast API w/ std's.
  • 🧵 Use a single-threaded Tokio runtime in block_on by default.
  • 🚨 Collapse nested ifs into let chains.
  • 🚨 Use MAX rather than the deprecated max_value() in examples.
  • 🚨 Box the recursive connect calls instead of using async-recursion.
  • 💬 Don't name the Tokio runtime flavour in block_on's panic message.
  • 🚨 Fix clippy warnings in tests.
  • 🏷️ Use String as owned name NoneType.
  • 🏷️ Implement Basic for scalar representations.
  • 🚨 Fix clippy drain_collect lints.
⚡️ Performance
  • Pipeline the whole client-side handshake.
  • Collect an exited helper process without a blocking worker.
  • Serialize the message header in one pass.
  • Serialize message bodies in one pass.
  • Box the address in Error::Connection.
  • Sort interfaces by name in managed objects.
  • Don't require an owned value for property setters.
🔥 Removed
  • Drop the xdg-dbus-proxy workarounds. #​781
  • Drop pre-6.0 deprecated APIs. #​1915
  • Remove GVariant support, which lives on in the zgvariant crate.
🔒️ Security
  • Make FilePath to std conversions sound & lossless. #​1906
✅ Testing
  • Test a flags type defined with bitflags.
  • Test PropertyStream of a service that starts later.
  • Let criterion choose the benchmarks' time and sample count.
  • Time only the operation in the per-pair runtime benchmarks.
  • Run the concurrent calls benchmark's ends on their own threads.
  • Benchmark what a connection costs on its runtime.
  • Don't assume little-endian host in dict_value test.
  • Prove a one-thread runtime runs a connection with no zbus thread.
  • Pass the unixexec test where systemd-stdio-bridge is absent.
  • Test that a message rejects a maybe body signature.
  • Cover Serde property conversion.
  • Test message streams with each runtime.
  • Test additive TCP builder signatures.
  • Test additive Unix builder signatures.

Configuration

📅 Schedule: (UTC)

  • 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 was generated by Mend Renovate. View the repository job log.

renovate Bot and others added 2 commits October 16, 2026 15:58
- Replace zbus::blocking::Connection with zbus::block_on(Connection)
- Replace zbus::blocking::MessageIterator with MessageStream
- Update MatchRule builder to use fluent API (no and_then)
- Add futures-lite dependency for async stream polling
- Wrap async operations in zbus::block_on for synchronous contexts
@forkline-bot

forkline-bot Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

✅ Fix pushed:

The CI fix has been pushed to renovate/zbus-6.x. Here's a summary of the changes:

Root cause: The zbus 5.x → 6.x upgrade introduced breaking API changes that weren't fully addressed in the previous commit.

Fixes applied (2 files, 2 insertions, 5 deletions):

  1. cmd/passless/src/agent/prompt.rs — Removed .unwrap() calls from Builder::session(), .name(), and .serve_at(). In zbus 6.x, these builder methods return Self directly instead of Result<Self>, with errors deferred to .build(). Also replaced deprecated zbus::zvariant::Value with zbus::Variant.

  2. cmd/passless/Cargo.toml — Added rt-multi-thread feature to the tokio dev-dependency, required for tokio::runtime::Runtime::new() used in the test functions.

@renovate

renovate Bot commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

- Remove .unwrap() calls from Builder::session(), .name(), and .serve_at()
  as zbus 6.x returns Builder directly (errors deferred to .build())
- Replace deprecated zbus::zvariant::Value with zbus::Variant
- Add rt-multi-thread feature to tokio dev-dependency for Runtime::new()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants