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.
:warning: 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.
MSRV bumped to 1.56! Crate now uses Rust 2021 edition.
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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on quick-xml to permit the latest version.
Release notes
Sourced from quick-xml's releases.
Changelog
Sourced from quick-xml's changelog.
... (truncated)
Commits
120e074
Release 0.31.0440e8fe
Merge pull request #672 from Mingun/fix-671ab8d519
Always deserialize simpleTypes (for example, attribute values) as Some(...)569ac22
Merge pull request #669 from Mingun/fix-serde181-compatibility78b7bc0
Restore compatibility with serde >=1.0.18140a06a1
Replace chapter "Enum::Unit Variants As a Text" with "Enum Representations"478e19a
Fix serialization of$text
variants in$text
fields6ef01ec
Change deserialization of enums11fa348
Change serialization of enums in ElementSerializer and document it01650ee
Change expected enum representation in tests according to new policyDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show