Releases: dbus2/zbus
Releases · dbus2/zbus
🔖 zbus 5.2.0
- ⚡️ Optimizations:
- Don't use proxies in connection code. This allows LTO to remove the proxy-side code from the
binary if the users isn't directly using proxy APIs. On busd, this reduces the binary size by
200KB. - Disable docs in fdo interface introspection. These interfaces are well-known and documented (in
the spec itself), so we don't need to provide the docs in the introspection data at runtime. interface
now allows disabling docs in introspection. Introspection strings are part of the
binary and can have an impact on the binary size. This change allows to disable the addition of
docs in the introspection for cases where there interface is well-known/well-documented. For
example, combined with the following change of using this in thezbus::fdo
interfaces, this
will allowbusd
binary to shed 26 KB.- Avoid some formatting at runtime in
interface
macro. Add values already known to the
introspection XML at compile time. This also removes about 500 bytes frombusd
binary size.
- Don't use proxies in connection code. This allows LTO to remove the proxy-side code from the
- 🚩 Add
gvariant
feature flag tozbus_macros
. It's just a proxy feature for zvariant and
only needed to fix the build in the root workspace when building with--features gvariant
.
#1125. - ⬆️ Update tokio-vsock to 0.6.
- 🔊 Skip
self
in an instrumented method. - 🔥 Drop now unused
sink
feature offutures-util
.
🔖 zbus 5.1.1
- ➖ Tie
async-process
dependency toasync-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.
zvariant_utils 3.0.2
- 📝 Fix documentation of
signature::Error
. - ⬇️ Reduce
rust-version
to1.80
. #1107
🔖 zvariant 5.1.0
🔖 zbus_xmlgen 5.0.1
- ⬇️ Reduce
rust-version
to1.80
. #1107
🔖 zbus_xml 5.0.1
- ⬇️ Reduce
rust-version
to1.80
. #1107
🔖 zbus_names 4.1.0
- ⚡️ Use winnow for validation of all names. This greatly simplifies the code and in most
cases, also much faster. #1070. - 🥅 More appropriate error on bus name parsing failure.
- 🚸 More specific error on invalid name conversion.
- 🏷️ Add Error::InvalidNameConversion.
- 🗑️ Deprecate specific invalid name variants of Error.
- 🚸 Use Error::InvalidName variant for invalid name everywhere.
- 🏷️ Add Error::InvalidName variant and all name parsing failures now return this variant.
- ⬇️ Reduce
rust-version
to1.80
. #1107 - ➕ Add direct dep on
winnow
.
🔖 zbus 5.1.0
- ⬇️ Reduce
rust-version
to1.80
. #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
- ✨ 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
.
🔖 zvariant_utils 3.0.1
- ⚡️ Switch from
nom
towinnow
for signature parsing. This brings in 2 benefits:- The signature parsing code is now up to 30% faster. This directly translates to
encoding/decoding speed of variants (used extensively in the D-Bus/gvariant world). This is the
path that saw the least optimization in 5.0.0. - We'll now be able to remove
nom
andminimal-lexical
deps (recently introduced in 5.0.0).
Apparentlywinnow
was already our indirect dependency so no new deps needed.
- The signature parsing code is now up to 30% faster. This directly translates to
- ➕ Add a direct dep on
winnow
. - ➖ Drop now unneeded
nom
dependency.
🔖 zvariant 5.0.1
- 📌 Don't pin
zvariant_utils
dep. We don't always releasezvariant_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 bringzvariant_utils
improvements to users without having to release all dependent
packages as well.