Those changes could require not trivial adoption of your code:
The recognized boolean values in serde Deserializer are reduced. Use #[serde(deserialize_with)] which will accept and parse strings if you need the old behavior.
Serializer no longer serialize consequent primitive values (those which would produce only text, without surrounding tags), because it is impossible to deserialize them back to the same value.
The crate's errors was changed, some variants was splitted to their own error types, some removed.
New Features
#826: Implement From<String> and From<Cow<str>> for quick_xml::de::Text.
#826: Make SimpleTypeDeserializer and SimpleTypeSerializer public.
#826: Implement IntoDeserializer for &mut Deserializer.
Bug Fixes
#655: Do not write indent before and after $text fields and those $value fields that are serialized as a text (for example, usize or String).
#826: Handle only those boolean representations that are allowed by [Xml Schema] which is only "true", "1", "false", and "0". Previously the following values also was accepted:
bool
XML content
true
"True", "TRUE", "t", "Yes", "YES", "yes", "y"
false
"False", "FALSE", "f", "No", "NO", "no", "n"
Misc Changes
#227: Split SeError from DeError in the serialize feature. Serialize functions and methods now return SeError.
#811: Split NamespaceError and EncodingError from Error.
#811: Renamed Error::EscapeError to Error::Escape to match other variants.
#811: Narrow down error return type from Error where only one variant is ever returned: attribute related methods on BytesStart and BytesDecl returns AttrError.
#820: Classify output of the Serializer by returning an enumeration with kind of written data.
#823: Do not allow serialization of consequent primitives, for example Vec<usize> or Vec<String> in $value fields. They cannot be deserialized back with the same result.
#827: Make escape and it variants take a impl Into<Cow<str>> argument and implement From<(&'a str, Cow<'a, str>)> on Attribute.
#826: Removed DeError::InvalidInt, DeError::InvalidFloat and DeError::InvalidBoolean. Now the responsibility for returning the error lies with the visitor of the type. See rationale in serde-rs/serde#2811
#826: Implement From<String> and From<Cow<str>> for quick_xml::de::Text.
#826: Make SimpleTypeDeserializer and SimpleTypeSerializer public.
#826: Implement IntoDeserializer for &mut Deserializer.
Bug Fixes
#655: Do not write indent before and after $text fields and those $value fields
that are serialized as a text (for example, usize or String).
#826: Handle only those boolean representations that are allowed by [Xml Schema]
which is only "true", "1", "false", and "0". Previously the following values
also was accepted:
bool
XML content
true
"True", "TRUE", "t", "Yes", "YES", "yes", "y"
false
"False", "FALSE", "f", "No", "NO", "no", "n"
Misc Changes
#227: Split SeError from DeError in the serialize feature.
Serialize functions and methods now return SeError.
#811: Split NamespaceError and EncodingError from Error.
#811: Renamed Error::EscapeError to Error::Escape to match other variants.
#811: Narrow down error return type from Error where only one variant is ever returned:
attribute related methods on BytesStart and BytesDecl returns AttrError
#820: Classify output of the Serializer by returning an enumeration with kind of written data
#823: Do not allow serialization of consequent primitives, for example Vec<usize> or
Vec<String> in $value fields. They cannot be deserialized back with the same result
#827: Make escape and it variants take a impl Into<Cow<str>> argument and implement
From<(&'a str, Cow<'a, str>)> on Attribute
#826: Removed DeError::InvalidInt, DeError::InvalidFloat and DeError::InvalidBoolean.
Now the responsibility for returning the error lies with the visitor of the type.
See rationale in serde-rs/serde#2811
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.
... (truncated)
Changelog
Sourced from quick-xml's changelog.
... (truncated)
Commits
3ac75a6
Release 0.37.07799744
Sort dependencies and table of tests which requires features8311eef
Rename test xmlrs_reader_tests -> html and run it only when escape-html featu...a6c5fc5
Merge pull request #826 from Mingun/more-deserializers83d2957
Implement IntoDeserializer for public deserializers9218684
Make SimpleTypeDeserializer and SimpleTypeSerializer public1920e03
Implement From<String> and From<Cow> for quick_xml::de::Text45a66e5
Do not report errors if deserializer cannot convert string to the boolean or ...b285fc9
Move deserialization helper from Content to CowRef62f10dd
Forward deserialization of primitives in SimpleTypeDeserializer to AtomicDese...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