tauri-apps / plugins-workspace

All of the official Tauri plugins in one place!
https://tauri.app
Apache License 2.0
979 stars 274 forks source link

chore(deps): update rust crate zbus to v5 (v2) #2078

Closed renovate[bot] closed 1 day ago

renovate[bot] commented 2 days ago

This PR contains the following updates:

Package Type Update Change
zbus workspace.dependencies major 4 -> 5

Release Notes

dbus2/zbus (zbus) ### [`v5.1.1`](https://redirect.github.com/dbus2/zbus/releases/tag/zbus-5.1.1): 🔖 zbus 5.1.1 [Compare Source](https://redirect.github.com/dbus2/zbus/compare/zbus-5.1.0...zbus-5.1.1) - ➖ Tie `async-process` dependency to `async-io` feature, instead of the target OS. This fixes `tokio` users (a big majority of our users) needlessly depending on it along with a bunch of its dependencies. - 🔊 Don't log error on broadcasting on generic message channel. Otherwise, we just end up with a lot of noise in the logs. ### [`v5.1.0`](https://redirect.github.com/dbus2/zbus/releases/tag/zbus-5.1.0): 🔖 zbus 5.1.0 [Compare Source](https://redirect.github.com/dbus2/zbus/compare/zbus-5.0.1...zbus-5.1.0) - ⬇️ Reduce `rust-version` to `1.80`. [#​1107](https://redirect.github.com/dbus2/zbus/issues/1107) - 🦺 Verify validity of names and object paths pased to macros at compile time. - 🐛 Generate interface properties signal methods only when needed. - ♻️ Use winnow for parsing GUID and D-Bus address strings. [#​1070](https://redirect.github.com/dbus2/zbus/issues/1070) - ✨ Add support for `unixexec` transport. - 🔌 Add `Command` stdio socket type. This socket communicates with a spawned child process via its standard input and output streams. - ➕ Add direct dep on `winnow`. ### [`v5.0.1`](https://redirect.github.com/dbus2/zbus/releases/tag/zbus-5.0.1): 🔖 zbus 5.0.1 [Compare Source](https://redirect.github.com/dbus2/zbus/compare/zbus-5.0.0...zbus-5.0.1) - 📌 Don't pin `zvariant_utils` dep. We don't always release `zvariant_utils` together with other crates, so unlike the macros crates, the versions don't need to be tied together. This will also allow us to bring `zvariant_utils` improvements to users without having to release all dependent packages as well. ### [`v5.0.0`](https://redirect.github.com/dbus2/zbus/releases/tag/zbus-5.0.0): 🔖 zbus 5.0.0 [Compare Source](https://redirect.github.com/dbus2/zbus/compare/zbus-4.4.0...zbus-5.0.0) - 👽️ Adapt to zvariant 5.0 API. This brings in massive performance improvements to message encoding and decoding. - 💥 Breakinging changes: - Message body signature now mandatory. - `proxy` macro respects visibility. This includes all types generated by `proxy`. Unfortunately this means that the existing code will have to set the visiblity explicitly to `pub` if they were relying on the generated proxy to be public. - Drop support for `DBUS_COOKIE_SHA1` auth mechanism. [#​727](https://redirect.github.com/dbus2/zbus/issues/727) - It drags the `sha1` crate as a dependency, which can be problematic for some users. [#​543](https://redirect.github.com/dbus2/zbus/issues/543) - It makes the handshake more complex, not allowing to pipeline all the commands. - It's not widely used. If `EXTERNAL` is not an option, you might as well just use `ANONYMOUS`. - 🛂 Only support one authentication method at a time. Now that we're down to only two authentication mechanisms with one of them being no-authentication, this really makes sense since we can just autodetect what authentication method to use for a specific socket type on a specific platform. This also simplifies the handshake logic and will allow us to pipeline the whole client-side handshake in the future, when we can drop the xdg-dbus-proxy workarounds. [#​781](https://redirect.github.com/dbus2/zbus/issues/781) - Drop unnecessary lifetimes on genarated signal streams. - Streamline Message & message::Builder constructors. They should be named the same and take the same type of arguments. - proxy::Defaults now has typed values. - Rename proxy::ProxyDefault to proxy::Defaults. - 🔥 Drop API deprecated in 4.0. - Minor changes in `fdo` API. - ✨ New features: - `interface` now generates a trait, Signals, that provides the same signal methods as user specifies but w/o the `SignalEmitter` argument ([#​871](https://redirect.github.com/dbus2/zbus/issues/871)). The macro also generates 2 implementations of this trait for: - InterfaceRef, for emitting signals from outside the context of an interface method. - SignalEmitter, for emitting signals from inside an interface methods. - Add `SignalContext::emit`. Add a new method to SignalContext that allows emitting a signal for a given interface and singal name. - Add Connection::graceful_shutdown. - Add conn::AuthMechanism::as_str(). This gives you a static string representation of the mechanism. We'll use this in a following commit to avoid an allocation. - Add Socket::auth_mechanism. The socket impl will now inform us which authentication mechanism should be used with it. The implementation can choose this based on the socket type and the target platform. - Allow specifying visibility of interface-generated proxy. This implies that by default, it will be private. - ObjectServer now implements Clone. - 🚚 Renames and moves: - Rename `SignalContext` to `SignalEmitter`. Since now this emits signals, this is a more appropriate name. We keep a deprecated `SignalContext` type alias as well as the `signal_context` attribute of `interface` for not completely breaking the existing code. - Move AuthMechanism from crate root to conn. We leave the `AuthMechanism` in the root as deprecated. - 🚑️ Gracefully handle serial number wrap. When SERIAL_NUM wraps past u32::MAX back to zero, the conversion to NonZeroU32 panics. [#​946](https://redirect.github.com/dbus2/zbus/issues/946) - 🩹 Fix some lifetimes in Proxy API. We were unnecessarily constraining the lifetimes in some of the `Proxy` API. - ⚡️ Optimizations - Only enable Guid::generate() if `p2p` feature is enabled. - Use relaxed load order for serial number fetch & add. - msg::Header no longer allocates. - Avoid deserialization of msg::Header needlessly. - 🚩 Add `serde_bytes` Cargo feature. This is just a proxy feature for `zvariant`'s `serde_bytes` feature. [#​1052](https://redirect.github.com/dbus2/zbus/issues/1052) - 🚩 Feature-gate blocking API. Add a cargo feature called `blocking-api` to `zbus` & `zbus_macros`. When enabled, the `zbus::blocking` module is available. When disabled, `proxy` macro ignores the value of `gen_blocking` attribute and doesn't generate blocking proxy. This feature is enabled by default. - ➕ Add `camino` feature as proxy for zvariant feature of the same name. - ➖ Dependendies removed: - Remove dependency on `sha1` crate. - Drop direct dep on `futures-sink`. - `rand` now an optional dependency. It is only enabled if `p2p` feature is enabled. This means that `rand` dependency is dropped for typical users. - ⬆️ Updated dependencies: - zvariant to 5.0. - windows-sys to 0.59. - tokio-vsock 5. [#​643](https://redirect.github.com/dbus2/zbus/issues/643) - ⬆️ Bump MSRV to 1.81. - 📝 Documentation - Tidy documentation across entire crate. - Improve `blocking` module docs. - Correct wrong documentation links. - Remove a now incorrect warning from Message::header method. - ✏️ Fix doc list item missing indentation. - 🚨 Drop invalid cfg from documentation example.

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 is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR was generated by Mend Renovate. View the repository job log.

renovate[bot] commented 2 days ago

⚠️ 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:

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package zbus@4.4.0 --precise 5.1.1
    Updating crates.io index
error: failed to select a version for the requirement `zbus = "^4"`
candidate versions found which didn't match: 5.1.1
location searched: crates.io index
required by package `notify-rust v4.11.3`
    ... which satisfies dependency `notify-rust = "^4.11"` (locked to 4.11.3) of package `tauri-plugin-notification v2.0.1 (/tmp/renovate/repos/github/tauri-apps/plugins-workspace/plugins/notification)`
github-actions[bot] commented 2 days ago

Package Changes Through a3e084d7e8a41b9e9205c1b7c82eddb95bde1360

There are 14 changes which include upload with minor, upload-js with minor, deep-link with patch, deep-link-js with patch, log-plugin with patch, log-js with patch, fs with patch, fs-js with patch, localhost with minor, opener with major, opener-js with major, positioner-js with minor, positioner with minor, sql with patch

Planned Package Versions The following package releases are the planned based on the context of changes in this pull request. | package | current | next | |----|----|----| | api-example | 2.0.5 | 2.0.6 | api-example-js | 2.0.2 | 2.0.3 | deep-link-example-js | 2.0.0 | 2.0.1 | deep-link | 2.0.1 | 2.0.2 | deep-link-js | 2.0.0 | 2.0.1 | fs | 2.0.3 | 2.0.4 | fs-js | 2.0.2 | 2.0.3 | dialog | 2.0.3 | 2.0.4 | opener | 1.0.0 | 2.0.0 | opener-js | 1.0.0 | 2.0.0 | http | 2.0.3 | 2.0.4 | localhost | 2.0.1 | 2.1.0 | log-plugin | 2.0.2 | 2.0.3 | log-js | 2.0.0 | 2.0.1 | persisted-scope | 2.0.3 | 2.0.4 | positioner | 2.0.2 | 2.1.0 | positioner-js | 2.0.1 | 2.1.0 | single-instance | 2.0.1 | 2.0.2 | sql | 2.0.2 | 2.0.3 | upload | 2.1.0 | 2.2.0 | upload-js | 2.1.0 | 2.2.0 |

Add another change file through the GitHub UI by following this link.


Read about change files or the docs at github.com/jbolda/covector

renovate[bot] commented 1 day ago

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 5.x releases. But if you manually upgrade to 5.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.