Skip to content

Support serve >=1.0.181, various serde fixes and async writer

Latest
Compare
Choose a tag to compare
@Mingun Mingun released this 22 Oct 07:04
· 105 commits to master since this release

What's Changed

MSRV bumped to 1.56! Crate now uses Rust 2021 edition.

⚠️ BREAKING CHANGE! Serde's enum representation was changed (it was buggy anyway) to ensure compatibility with serde >= 1.0.181.

New Features

  • #545: Resolve well-known namespaces (xml and xmlns) 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:lists from empty tags (<tag/> or <tag></tag>). Previously an DeError::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 after 123 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 simpleTypes (for example, attributes) into Option fields: now they are always deserialized as Some("").

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 added ElementWriter::write_inner_content_async of course).
  • #662: Get rid of some allocations during serde deserialization.
  • #665: Improve serialization of xs:lists when some elements serialized to an empty string.
  • #630: Fixed compatibility with serde >= 1.0.181

New Contributors

Full Changelog: v0.30.0...v0.31.0