xmpp-rs/xso/ChangeLog
Jonas Schäfer 4148e9d165 xso-proc: hide generated FromXml / AsXml types
They really clutter the documentation, because they show up in the
module's index. Downside is that users can't inspect the documentation
of those types anymore, but it's not useful anyway: the parts are
private and they just impl some traits.
2025-01-28 18:26:55 +01:00

58 lines
2.6 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`, or one unknown child as a
`minidom::Element`, or zero or one unknown children as an
`Option<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).
* Changes
- Generated AsXml iterator and FromXml builder types are now
doc(hidden), to not clutter hand-written documentation with auto
generated garbage (something certain big tech companies could take
an example of, honestly).
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