What's Changed
MSRV bumped to 1.79.
Now quick-xml supports the UTF-16 and ISO-2022-JP encoded documents. See the new DecodingReader type.
New Features
-
#956: Add
DecodingReader, aBufReadadapter that auto-detects encoding from BOM or XML declaration and transcodes to UTF-8. Enabled by theencodingfeature. -
#938: Add new enumeration
XmlVersionand typified getterBytesDecl::xml_version(). -
#938: Add new error variant
IllFormedError::UnknownVersion. -
#371: Add new error variant
EscapeError::TooManyNestedEntities. -
#371: Improved compliance with the XML attribute value normalization process by adding
Attribute::normalized_value()Attribute::normalized_value_with()Attribute::decoded_and_normalized_value()Attribute::decoded_and_normalized_value_with()
which ought to be used in place of deprecated
Attribute::unescape_value()Attribute::unescape_value_with()Attribute::decode_and_unescape_value()Attribute::decode_and_unescape_value_with()
Deprecated functions now behaves the same as newly added.
Bug Fixes
- #938: Use correct rules for EOL normalization in
Deserializerwhen parse XML 1.0 documents. Previously XML 1.1. rules was applied.
Misc Changes
- #914: Remove deprecated
.prefixes(),.resolve(),.resolve_attribute(), and.resolve_element()ofNsReader. Use.resolver().<...>methods instead. - #938: Now
BytesText::xml_content,BytesCData::xml_contentandBytesRef::xml_contentacceptsXmlVersionparameter to apply correct EOL normalization rules. - #944:
read_text()now returnsBytesTextwhich allows you to get the content with properly normalized EOLs. To get the previous behavior use.read_text().decode()?. - #956: Bumped MSRV from 1.59 (Feb 2022) to 1.79 (June 2024)
New Contributors
Full Changelog: v0.39.4...v0.40.0