π zvariant 4.0.0
·
2008 commits
to main
since this release
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. - π₯
ValueAPI changes:- π₯
to_ownednow fallible and renamed totry_to_owned. - π₯
Cloneimpl replaced by fallibletry_clonemethod. - π₯ Many conversions and conversion requirements now fallible as a result of the last two changes.
- πΈ π©Ή
Array::getandMaybe::get's return values are now fixed. - π½οΈ Switched from
byteordertoendicrate for endian handling and indication. - π
Value::downcast_refnow 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.
- π₯
Signaturechanges:- β¨ New
Signature::n_complete_typesreturns the number of complete types in aSignature. - πΈ
Signatures are now equal regardless of D-Bus marshalling omitting outer parentheses. - β¨
TryFrom<String>forOwnedSignature&TryFrom<Cow<str>forSignatureimpls.
- β¨ New
- β¬οΈ Dependencies:
- β¬οΈ MSRV is now 1.75
- β¬οΈ Upgrade glib to 0.18
- β¨ Furthermore:
- π
Dicts entries are now consistent in order which makesDicts comparison possible. - π
Array::getnow returns aValueat an index instead of a slice with the value. - πΈ Concise
StrDebugimpl
- π
And many more.