Support serve >=1.0.181, various serde fixes and async writer
What's Changed
MSRV bumped to 1.56! Crate now uses Rust 2021 edition.
New Features
- #545: Resolve well-known namespaces (
xml
andxmlns
) to their appropriate URIs. Also, enforce namespace constraints related to these well-known namespaces. - #635: Add support for async
ElementWriter
operations.
Bug Fixes
- #660: Fixed incorrect deserialization of
xs:list
s from empty tags (<tag/>
or<tag></tag>
). Previously anDeError::UnexpectedEof")
was returned in that case. - #580: Fixed incorrect deserialization of vectors of newtypes from sequences of tags.
- #661: More string handling of serialized primitive values (booleans, numbers, strings, unit structs, unit variants).
<int>123<something-else/></int>
is no longer valid content. Previously all data after123
up to closing tag would be silently skipped. - #567: Fixed incorrect deserialization of vectors of enums from sequences of tags.
- #671: Fixed deserialization of empty
simpleType
s (for example, attributes) intoOption
fields: now they are always deserialized asSome("")
.
Misc Changes
- #643: Bumped MSRV to 1.56. In practice the previous MSRV was incorrect in many cases.
- #643: Adopted Rust 2021 edition.
- #545: Added new
Error
variant --Error::InvalidPrefixBind
. - #651: Relax requirement for version of
arbitrary
dependency -- we're actually compatible with version 1.0.0 and up. - #649: Make features linkable and reference them in the docs.
- #619: Allow to raise application errors in
ElementWriter::write_inner_content
(and newly addedElementWriter::write_inner_content_async
of course). - #662: Get rid of some allocations during serde deserialization.
- #665: Improve serialization of
xs:list
s when some elements serialized to an empty string. - #630: Fixed compatibility with serde >= 1.0.181
New Contributors
- @wt made their first contribution in #545
- @tevoinea made their first contribution in #635
- @dev-ardi made their first contribution in #647
Full Changelog: v0.30.0...v0.31.0