Skip to content

πŸ”– zvariant 4.0.0

Choose a tag to compare

@github-actions github-actions released this 12 Feb 12:39
· 2008 commits to main since this release
25876f3

zvariant 4.0 release notes

New API breaking release. A lot of changes in this release:

  • ✨ New toplevel (de)serialization API that ensures file descriptors are handled safely.
  • ✨ Option<T> now de/serializable using 0 or 1 item array encoding.
  • ✨ from_slice* now also return number of bytes parsed.
  • πŸ’₯ Value API changes:
    • πŸ’₯ to_owned now fallible and renamed to try_to_owned.
    • πŸ’₯ Clone impl replaced by fallible try_clone method.
    • πŸ’₯ Many conversions and conversion requirements now fallible as a result of the last two changes.
    • 🚸 🩹 Array::get and Maybe::get's return values are now fixed.
    • πŸ‘½οΈ Switched from byteorder to endi crate for endian handling and indication.
    • πŸ› Value::downcast_ref now returns terget value instead of reference to it.
  • 🚩 Cargo features:
    • "gvariant" no longer a default feature.
    • New: "option-as-array" feature which enables ser/de of Option<T> as an array of 0 or 1 elements.
  • πŸ’₯ Signature changes:
    • ✨ New Signature::n_complete_types returns the number of complete types in a Signature.
    • 🚸 Signatures are now equal regardless of D-Bus marshalling omitting outer parentheses.
    • ✨ TryFrom<String> for OwnedSignature & TryFrom<Cow<str> for Signature impls.
  • ⬆️ Dependencies:
  • ⬆️ MSRV is now 1.75
  • ⬆️ Upgrade glib to 0.18
  • ✨ Furthermore:
    • πŸ› Dicts entries are now consistent in order which makes Dicts comparison possible.
    • πŸ› Array::get now returns a Value at an index instead of a slice with the value.
    • 🚸 Concise Str Debug impl

And many more.