Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 22, 2025

Bumps zvariant from 4.2.0 to 5.5.3.

Release notes

Sourced from zvariant's releases.

* πŸ”– zvariant 5.5.3

  • πŸš‘οΈ Fix use of empty structs with SerializeDict. #1375

πŸ”– zvariant 5.5.2

  • ✨ Un-deprecate SerializeDict & DeserializeDict. For simple cases, they're pretty good and now that we've made them wrappers around serde derives, maintenance shouldn't be an issue. We will no longer need to add new attributes because if people woule want any, they should just use the serde derives directly.
  • ✨ SerializeDict & DeserializeDict now wrappers around serde derives.

πŸ”– zvariant 5.5.1

A bugfix release, fixing the breakage from 5.5.0 (now yanked):

  • πŸš‘οΈ Use pub use instead of a type alias. for as_value::{Deserialize, Serialize}. They structs expose their main internal field and get instantiated directly in the using code and that seems to break the API compatiblity when using type aliases.
  • πŸ”₯ Drop as_value::{Serialize, Deserialize} re-export. This was an accident. We don't want them on the crate-level.

πŸ”– zvariant 5.5.0

  • πŸš‘οΈ Ensure empty array is (de)serialized the same way as unit type.
  • ✨ Add as_value module. This new module provides API that can be used with serde::{Serialize::Deserialize} derives to (de)serialize a value as a Value (variant type). This is espcially useful for (de)serialization of structs as a dictionary (a{sv}).
  • πŸ—‘οΈ Deprecate SerializeDict & DeserializeDict macro. Now that user can directly use serde::{Serialize, Deserialize} for dict encoding of a struct, we don't need these anymore.
  • 🚚 Move SerializeValue & DeserializeValue into as_value & rename. These types belong in as_value module and given the context, we can just name them Serialize and Deserialize. We still provide type aliases to not break the API.
  • πŸ“ Improve Str docs.
  • πŸš‘οΈ Correctly handle identifier de for gvariant. We basically just need to do it exactly the same way as we do for the D-Bus format.
  • πŸš‘οΈ More robust deserialization of variants. Our deserializers rely on a specific behavior from the Value's Deserialize impls, and that fails when Value is being deserialized in a generic way (through deserialize_any or deserialize_ignored_any) and we end up with overflowing the stack. This happens for example when ignoring unknown fields/entries. Unfortunately, in case of GVariant we now no longer error out if a null byte is missing in a string type. You can blame Allison Lortie for removing the null-termination from a signature only when it is encoded in a variant but not otherwise. :)
  • ✨ Allow structs to be serialized as dictionaries.
  • ✨ zb,zn,Implement Borrow for Owned* types. Implementing Borrow makes things such as using Owned* types as keys easier, and it was more-or-less designed for this type of scenario anyway. Although it comes with some stringent requirements (i.e. traits implemented on the owned type need to have identical behavior to the borrowed type), all of these types are already rather thin wrappers to begin with.
  • βž– Drop static_assertions dep.
  • πŸ› fix wrong lifetime when creating a Value from &Vec and &[]. When creating a Value from a borrowed vec or slice using Value's From implementation, the compiler would wrongfully assume, that the created value has the same lifetime, even though the input gets cloned when creating the Array struct. This commit makes the impl assign a new lifetime to the cloned value.
  • ✨ Implement rename/rename_all when deriving Value/OwnedValue. Previously, setting these values would not apply to implementations of From and TryFrom when converting between a type and Value/OwnedValue. This change makes it so using rename or rename_all will apply to these traits. #320
  • ✨ *Value derive macros:
    • Support string encoding for enums.
    • Support enum variants without explicit values.
  • πŸ› Prefix a local variable w/ __ so it doesn't conflict w/ fields. ..in the struct deriving DeserializeDict. #1252.

πŸ”– zvariant 5.4.0

  • ✨ *Value derive macros now support optional fields in dict structs. #311

πŸ”– zvariant 5.3.0

  • ✨ Implement From<Arc<str>> & From<Cow<str>> for Value.
  • πŸ› Don't assume enum discriminant to be always a literal in Value macros.
  • ⬆️ Update winnow to 0.7.
  • ⬆️ Update rand to 0.9.0.

πŸ”– zvariant 5.2.0

  • ⬇️ Lower MSRV to 1.77.
  • πŸ› Prevent f32::NAN from causing panic.
  • πŸ”₯ Drop dev dependency on glib. I believe our own tests combined with fuzzing in the CI, is more than enough testing for gvariant encoding/decoding. So let's avoid the complexity of depending on a system library (even if it's only a dev-dep).

... (truncated)

Commits
  • b37180f Merge pull request #1377 from zeenix/zv-release
  • 9c64a9e πŸ”– zv,zd: Release 5.5.3
  • bda99b5 Merge pull request #1376 from zeenix/fix-serialize-dict-empty-struct
  • d3b8585 πŸš‘οΈ zd: Fix use of empty structs with SerializeDict
  • 32f3a31 Merge pull request #1374 from zeenix/zbus-release
  • 731d658 πŸ”– zb,zm: Release 5.7.0
  • 2a4d53d Merge pull request #1373 from dbus2/zv-release
  • 8cfdf90 πŸ”– zv,zd: Release 5.5.2
  • b08ec81 ⬆️ all: Bump micro version in Cargo.lock
  • 6cced13 Merge pull request #1372 from zeenix/split-zv-tests
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps [zvariant](https://github.com/dbus2/zbus) from 4.2.0 to 5.5.3.
- [Release notes](https://github.com/dbus2/zbus/releases)
- [Commits](z-galaxy/zbus@zvariant-4.2.0...zvariant-5.5.3)

---
updated-dependencies:
- dependency-name: zvariant
  dependency-version: 5.5.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 22, 2025
@dependabot dependabot bot requested a review from a team as a code owner September 22, 2025 05:57
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Oct 31, 2025

Superseded by #872.

@dependabot dependabot bot closed this Oct 31, 2025
@dependabot dependabot bot deleted the dependabot/cargo/zvariant-5.5.3 branch October 31, 2025 05:34
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 rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant