Skip to content

Releases: dbus2/zbus

🔖 zvariant_utils 3.0.0

17 Oct 02:20
e2210d7
Compare
Choose a tag to compare
  • 🧑‍💻 Add support for multiple lists to def_attrs! macro.
  • ✨ Add Signature type that represents a D-Bus type signature in parsed form.
  • 🚚 Move serialized::Format from zvariant to zvariant_utils.
  • 🔥 Drop old_new macro. Also the related AttrParse trait. We only needed it to support the
    old dbus_proxy and dbus_interface attributes in zbus macros but we just dropped them.
  • 🚩 Add gvariant cargo feature. This is the same feature flag we've in other crates.
  • ➕ New deps:
    • serde
    • nom
    • static_assertions
  • ⬆️ Bump MSRV to 1.81.

🔖 zvariant 5.0.0

17 Oct 20:28
3ae1919
Compare
Choose a tag to compare
  • ⚡️ Signature now an enum representing the D-Bus signature in a parsed form.
  • ⚡️ Replace Type::signature method with a const named SIGNATURE. This greatly improves the
    (de)serialization performance, in some cases even up by 94%.
  • ✨ Implement Type for:
    • cells.
    • remaining std collections.
    • usize and isize.
    • socket addresses.
    • weak pointers.
    • ranges.
    • atomics.
    • wrapper types.
    • chrono::{Month, NaiveTime, Weekday}.
    • camino utf-8 path types.
  • 🚸 Allow zbus attribute in macros.
  • Type derive macro now validates user provided signature string at compile-time.
  • 🚚 Rename DynamicType::dynamic_signature to signature.
  • ⬆️ Bump MSRV to 1.81.
  • 🔥 Drop API deprecated in 4.0.
  • 💥 Drop now unneeded CompleteType type.
  • 🥅 Error out on attempt to create an empty structure.
  • 🔥 Drop Default impl for Structure. An empty structure is against the specification and we
    shouldn't allow it to be created, let alone be a default value. Users should use StructureBuilder
    to create a structure.
  • 🏷️ Add Error::EmptyStructure.
  • 🙈 Hide gvariant::Deserializer from public API.
  • 🔥 Drop unnecessary checks for option-as-array feature.
  • ⚡️ Don't check strings for embedded null bytes. In most cases (I'd say at least 99.9% of
    them), this is needless. They've a non-zero cost, which is high enough to be noticeable in case of
    a lot of strings being serialized.
  • 🐛 Fix deserialization of recursive variants from JSON. JSON will decode a variant as a map and
    our Value's Visitor implementation wasn't handling that. This resulted in us not being able
    to decode back our own generated JSON in case of variants inside variants. #549
  • 🚚 Drop weird Value type and field names when (de)serializing. This is no longer needed. While
    this doesn't completely fix #176, this goes as far as we can IMO. For D-Bus we need the signature
    to be able to derialize any data to a Value.
  • ⚡️ Micro optimization of byte arrays.
  • 🔥 Basic::alignment now implemented for you.
  • 🏷️ Add Error::InvalidSignature variant.
  • 📝 Better document Str type.
  • ➕ New dependencies
    • nom (indirectly through zvariant_utils).
    • zvariant_utils.

🔖 zbus_xml 5.0.0

17 Oct 22:54
1bfbbab
Compare
Choose a tag to compare
  • 👽️ Require and adapt to zvariant 5.0.
  • ⬆️ Bump MSRV to 1.81.
  • ⬆️ Update quick-xml to 0.36.
  • ⬆️ Update serde to 1.0.200.
  • 📝 Correct logo URL in docs.
  • 💄 Use the new logo in docs.
  • 📄 Add LICENSE file to the subcrate. #694

🔖 zbus_names 4.0.0

17 Oct 22:46
a39f778
Compare
Choose a tag to compare
  • 👽️ Require and adapt to zvariant 5.0.
  • ✨ Impl conversions from specific names to BusName.
  • ⚡️ Avoid allocation in conversion from string to BusName.
  • ⬆️ Bump MSRV to 1.81.
  • ⬆️ Update serde to 1.0.200.
  • 📝 Correct logo URL in docs.
  • 💄 Use the new logo in docs.

🔖 zvariant_utils 2.1.0

19 Jul 18:15
zvariant_utils-2.1.0
51ed473
Compare
Choose a tag to compare
  • ✨ Replace snake_case to snake_or_kebab_case to cover kebab-case
    as well.
  • 🎨 Remove some hard to follow nesting in the code.

🔖 zvariant 4.2.0

19 Jul 18:25
zvariant-4.2.0
51ed473
Compare
Choose a tag to compare
  • ✨ Add Type impl for heapless::{String, Vec}. heapless is now an optional dep.
  • ✨ Support kebab-case in rename_all attribute of SerializeDict and DeserializeDict.
  • ⚡️ Use Str::static for ObjectPath's default value.

🔖 zbus 4.4.0

19 Jul 18:32
zbus-4.4.0
51ed473
Compare
Choose a tag to compare
  • 🚑️ Fix regression of not replying to inexistent methods. #905.
  • 🐛 Fix a potential deadlock during name registration.
  • ✨ Add optional heapless feature, which is just a proxy to zvariant feature of the same name.
  • ⬆️ Require zvariant 4.2.0.

🔖 zvariant 4.1.2

30 Jun 19:44
zvariant-4.1.2
6f7efc9
Compare
Choose a tag to compare
  • 🐛 implement Hash and Eq properly for Value::F64.
  • 🐛 Fix serialization of Value containing a dictionary for GVariant format. #868
  • 🚨 Fix new clippy warnings.

🔖 zbus 4.3.1

30 Jun 20:08
zbus-4.3.1
6f7efc9
Compare
Choose a tag to compare
  • 💩 Workaround for xdg-dbus-proxy's monotonic serial requirement. While the underlying
    issue in xdg-dbus-proxy
    has already been fixed, it will take some time before the fix is
    released and is widely available.
  • 🥅 Methods of interface-generated proxy now use the same error type as the interface's error
    type. We might need to add an attribute to control this in the future, as this as this may not
    always be what the user wants.
  • 📝 book
    • Add a TOC to each chapter, using mdbook-toc from @badboy.
    • Add an FAQ section about enum representations.
    • Add property trait bounds to server chapter too.
    • Provide "edit page" option, making it easier to contribute fixes and improvements.
    • "server" -> "service". A D-Bus service is not a server, that's the bus. So let's keep these
      two distinct concepts separate.
    • Remove numeric labels from the navigation bar.
    • Update rust edition information.
    • Update repo icon to Github.
  • ⬆️ Bump nix to v0.29.

🔖 zbus 4.3.0

16 Jun 20:56
2c87c06
Compare
Choose a tag to compare
  • interface can now generate proxy for you. #236
  • 🚑️ Handle FDs received during handshake, in server-side code. #813.
  • object_server::ResponseDispatchNotifier
    • Add response getter.
    • Implement serde::Deserialize for it.
  • 📝 Update blocking::Connection::call_method docs.