The method of reporting positions of errors has changed - use error_position() to get an offset of the error position. For SyntaxErrors the range error_position()..buffer_position() also will represent a span of error.
:warning: Breaking Changes
The way to configure parser has changed. Now all configuration is contained in the Config struct and can be applied at once. When serde-types feature is enabled, configuration is serializable.
The way of resolve entities with unescape_with has changed. Those methods no longer resolve predefined entities (lt, gt, apos, quot, amp). NoEntityResolver renamed to PredefinedEntityResolver.
Writer::create_element now accepts impl Into<Cow<str>> instead of &impl AsRef<str>.
Minimum supported version of serde raised to 1.0.139
The full changelog is below.
What's Changed
New Features
#513: Allow to continue parsing after getting new Error::IllFormed.
#677: Added methods config() and config_mut() to inspect and change the parser configuration. Previous builder methods on Reader / NsReader was replaced by direct access to fields of config using reader.config_mut().<...>.
#684: Added a method Config::enable_all_checks to turn on or off all well-formedness checks.
#362: Added escape::minimal_escape() which escapes only & and <.
#362: Added BytesCData::minimal_escape() which escapes only & and <.
#362: Added Serializer::set_quote_level() which allow to set desired level of escaping.
#705: Added NsReader::prefixes() to list all the prefixes currently declared.
#629: Added a default case to impl_deserialize_for_internally_tagged_enum macro so that it can handle every attribute that does not match existing cases within an enum variant.
#722: Allow to pass owned strings to Writer::create_element. This is breaking change!
#275: Added ElementWriter::new_line() which enables pretty printing elements with multiple attributes.
#743: Added Deserializer::get_ref() to get XML Reader from serde Deserializer
#734: Added helper functions to resolve predefined XML and HTML5 entities:
quick_xml::escape::resolve_predefined_entity
quick_xml::escape::resolve_xml_entity
quick_xml::escape::resolve_html5_entity
#753: Added parser for processing instructions: quick_xml::reader::PiParser.
#754: Added parser for elements: quick_xml::reader::ElementParser.
Bug Fixes
#622: Fix wrong disregarding of not closed markup, such as lone <.
#684: Fix incorrect position reported for Error::IllFormed(DoubleHyphenInComment).
#684: Fix incorrect position reported for Error::IllFormed(MissingDoctypeName).
#704: Fix empty tags with attributes not being expanded when expand_empty_elements is set to true.
#683: Use local tag name when check tag name against possible names for field.
#753: Correctly determine end of processing instructions and XML declaration.
Misc Changes
#675: Minimum supported version of serde raised to 1.0.139
#675: Rework the quick_xml::Error type to provide more accurate information:
The way to configure parser is changed. Now all configuration is contained in the
Config struct and can be applied at once. When serde-types feature is enabled,
configuration is serializable.
The method of reporting positions of errors has changed - use error_position()
to get an offset of the error position. For SyntaxErrors the range
error_position()..buffer_position() also will represent a span of error.
The way of resolve entities with unescape_with are changed. Those methods no longer
resolve predefined entities.
New Features
#513: Allow to continue parsing after getting new Error::IllFormed.
#677: Added methods config() and config_mut() to inspect and change the parser
configuration. Previous builder methods on Reader / NsReader was replaced by
direct access to fields of config using reader.config_mut().<...>.
#684: Added a method Config::enable_all_checks to turn on or off all
well-formedness checks.
#362: Added escape::minimal_escape() which escapes only & and <.
#362: Added BytesCData::minimal_escape() which escapes only & and <.
#362: Added Serializer::set_quote_level() which allow to set desired level of escaping.
#705: Added NsReader::prefixes() to list all the prefixes currently declared.
#629: Added a default case to impl_deserialize_for_internally_tagged_enum macro so that
it can handle every attribute that does not match existing cases within an enum variant.
#722: Allow to pass owned strings to Writer::create_element. This is breaking change!
#275: Added ElementWriter::new_line() which enables pretty printing elements with multiple attributes.
#743: Added Deserializer::get_ref() to get XML Reader from serde Deserializer
#734: Added helper functions to resolve predefined XML and HTML5 entities:
quick_xml::escape::resolve_predefined_entity
quick_xml::escape::resolve_xml_entity
quick_xml::escape::resolve_html5_entity
#753: Added parser for processing instructions: quick_xml::reader::PiParser.
#754: Added parser for elements: quick_xml::reader::ElementParser.
Bug Fixes
#622: Fix wrong disregarding of not closed markup, such as lone <.
#684: Fix incorrect position reported for Error::IllFormed(DoubleHyphenInComment).
#684: Fix incorrect position reported for Error::IllFormed(MissingDoctypeName).
#704: Fix empty tags with attributes not being expanded when expand_empty_elements is set to true.
#683: Use local tag name when check tag name against possible names for field.
#753: Correctly determine end of processing instructions and XML declaration.
Misc Changes
#675: Minimum supported version of serde raised to 1.0.139
#675: Rework the quick_xml::Error type to provide more accurate information:
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)
Bumps quick-xml from 0.31.0 to 0.32.0.
Release notes
Sourced from quick-xml's releases.
... (truncated)
Changelog
Sourced from quick-xml's changelog.
... (truncated)
Commits
8d38e4c
Release 0.32.0e6f7be4
Add #[inline] to methods implementing XmlSource33b9dc5
Increase position outside of XmlSource::skip_one704ce89
Generalize reading methods of PI and element6f1a644
Rewrite read_element like read_pi0a6ecd6
Add reusable parser for XML element and use it internally02de8a5
Remove unnecessary block0cb09fb
Useif let
instead ofmatch
6c58bef
Implement XmlSource::read_pi like XmlSource::read_element79b2fda
Stop at the>
in PiParser which is consistent with other search functionsDependabot 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