xmpp-rs/xso/ChangeLog
Jonas Schäfer beae4ae66b xso: fix no_std support
This reverts the Revert in 6ec275d3 which had to be done in order to
un-break usage of xso in std crates.
2025-01-26 15:07:17 +00:00

51 lines
2.3 KiB
Text

Version NEXT:
0000-00-00 Jonas Schäfer <jonas@zombofant.net>
* Breaking
- The methods of `TextCodec<T>` now have `&self` receivers. This also
implies that `#[xml(text(codec = ..))]` now takes expressions instead
of type paths.
Because all implementations provided by `xso` were in fact unit
structs, this should not change most invocations, with one exception:
The type argument of `Base64` was removed. Replace all `Base64<Foo>`
references with `Base64.filtered(Foo)` to update your code.
This change overall allows for more flexibility in the implementation
of text codecs.
* Added
- Support for child elements in derive macros. Child elements may also
be wrapped in Option or Box or in containers like Vec or HashSet.
- Support for overriding the names of the types generated by the derive
macros.
- Support for deriving FromXml and AsXml on enums.
- Support for extracting data from child elements without intermediate
structs.
- Support for collecting all unknown children in a single field as
collection of `minidom::Element`.
- Support for "transparent" structs (newtype-like patterns for XSO).
- FromXmlText and AsXmlText are now implemented for jid::NodePart,
jid::DomainPart, and jid::ResourcePart (!485)
- Support for optional child elements, the presence of which are
translated into a boolean (`#[xml(flag)]`).
- Generic TextCodec implementation for all base64 engines provided by
the base64 crate (if the `base64` feature is enabled).
- New `codec` field on `attribute` meta, to support decoding and
encoding using any `TextCodec`.
- Support for `no_std` usage (the alloc crate is required, though).
Version 0.1.2:
2024-07-26 Jonas Schäfer <jonas@zombofant.net>
* Added
- FromXmlText and AsXmlText are now implemented on char.
* Fixed
- Docs build on docs.rs now shows feature-gated items.
Version 0.1.1:
2024-07-25 Maxime “pep” Buquet <pep@bouah.net>
* Added
- Import various text codecs from parsers: FixedHex, ColonSeparatedHex,
EmptyAsError.
Version 0.1.0:
2024-07-25 Jonas Schäfer <jonas@zombofant.net>
* Initial release of this crate