Releases: dbus2/zbus
Releases · dbus2/zbus
🔖 zvariant_utils 3.0.0
- 🧑💻 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 relatedAttrParse
trait. We only needed it to support the
olddbus_proxy
anddbus_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
- ⚡️
Signature
now an enum representing the D-Bus signature in a parsed form. - ⚡️ Replace
Type::signature
method with a const namedSIGNATURE
. 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 forStructure
. 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
ourValue
'sVisitor
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 throughzvariant_utils
).zvariant_utils
.
🔖 zbus_xml 5.0.0
- 👽️ 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
- 👽️ 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
- ✨ Replace
snake_case
tosnake_or_kebab_case
to coverkebab-case
as well. - 🎨 Remove some hard to follow nesting in the code.
🔖 zvariant 4.2.0
- ✨ Add
Type
impl forheapless::{String, Vec}
.heapless
is now an optional dep. - ✨ Support
kebab-case
inrename_all
attribute ofSerializeDict
andDeserializeDict
. - ⚡️ Use
Str::static
forObjectPath
's default value.
🔖 zbus 4.4.0
- 🚑️ 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 tozvariant
feature of the same name. - ⬆️ Require zvariant 4.2.0.
🔖 zvariant 4.1.2
- 🐛 implement
Hash
andEq
properly forValue::F64
. - 🐛 Fix serialization of
Value
containing a dictionary for GVariant format. #868 - 🚨 Fix new clippy warnings.
🔖 zbus 4.3.1
- 💩 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.
- Add a TOC to each chapter, using
- ⬆️ Bump nix to v0.29.