tafia/quick-xml (quick-xml)
### [`v0.36.1`](https://redirect.github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0361----2024-07-23)
[Compare Source](https://redirect.github.com/tafia/quick-xml/compare/v0.36.0...v0.36.1)
##### New Features
- [#623]: Added `Reader::stream()` that can be used to read arbitrary data
from the inner reader while track position for XML reader.
[#623]: https://redirect.github.com/tafia/quick-xml/issues/623
### [`v0.36.0`](https://redirect.github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0360----2024-07-08)
[Compare Source](https://redirect.github.com/tafia/quick-xml/compare/v0.35.0...v0.36.0)
##### Bug Fixes
- [#781]: Fix conditions to start CDATA section. Only uppercase `` readers.
##### Misc Changes
- [#760]: `Attribute::decode_and_unescape_value` and `Attribute::decode_and_unescape_value_with` now
accepts `Decoder` instead of `Reader`. Use `Reader::decoder()` to get it.
- [#760]: `Writer::write_event` now consumes event. Use `Event::borrow()` if you want to keep ownership.
- [#751]: Type of `Reader::error_position()` and `Reader::buffer_position()` changed from `usize` to `u64`.
- [#751]: Type alias `Span` changed from `Range` to `Range`.
[#751]: https://redirect.github.com/tafia/quick-xml/issues/751
[#760]: https://redirect.github.com/tafia/quick-xml/pull/760
### [`v0.33.0`](https://redirect.github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0330----2024-06-21)
[Compare Source](https://redirect.github.com/tafia/quick-xml/compare/v0.32.0...v0.33.0)
##### New Features
- [#758]: Implemented `From` for `BytesStart` and `BytesEnd`.
##### Bug Fixes
- [#755]: Fix incorrect missing of trimming all-space text events when
`trim_text_start = false` and `trim_text_end = true`.
##### Misc Changes
- [#650]: Change the type of `Event::PI` to a new dedicated `BytesPI` type.
- [#759]: Make `const` as much functions as possible:
- `resolve_html5_entity()`
- `resolve_predefined_entity()`
- `resolve_xml_entity()`
- `Attr::key()`
- `Attr::value()`
- `Attributes::html()`
- `Attributes::new()`
- `BytesDecl::from_start()`
- `Decoder::encoding()`
- `Deserializer::get_ref()`
- `IoReader::get_ref()`
- `LocalName::into_inner()`
- `Namespace::into_inner()`
- `NsReader::config()`
- `NsReader::prefixes()`
- `Prefix::into_inner()`
- `QName::into_inner()`
- `Reader::buffer_position()`
- `Reader::config()`
- `Reader::decoder()`
- `Reader::error_position()`
- `Reader::get_ref()`
- `SliceReader::get_ref()`
- `Writer::get_ref()`
- `Writer::new()`
- [#763]: Hide `quick_xml::escape::resolve_html5_entity` under `escape-html` feature again.
This function has significant influence to the compilation time (10+ seconds or 5x times)
[#650]: https://redirect.github.com/tafia/quick-xml/issues/650
[#755]: https://redirect.github.com/tafia/quick-xml/pull/755
[#758]: https://redirect.github.com/tafia/quick-xml/pull/758
[#759]: https://redirect.github.com/tafia/quick-xml/pull/759
[#763]: https://redirect.github.com/tafia/quick-xml/issues/763
### [`v0.32.0`](https://redirect.github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0320----2024-06-10)
[Compare Source](https://redirect.github.com/tafia/quick-xml/compare/v0.31.0...v0.32.0)
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 `SyntaxError`s 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:
- `Error::EndEventMismatch` replaced by `IllFormedError::MismatchedEndTag` in some cases
- `Error::EndEventMismatch` replaced by `IllFormedError::UnmatchedEndTag` in some cases
- `Error::TextNotFound` was removed because not used
- `Error::UnexpectedBang` replaced by `SyntaxError`
- `Error::UnexpectedEof` replaced by `SyntaxError` in some cases
- `Error::UnexpectedEof` replaced by `IllFormedError` in some cases
- `Error::UnexpectedToken` replaced by `IllFormedError::DoubleHyphenInComment`
- `Error::XmlDeclWithoutVersion` replaced by `IllFormedError::MissingDeclVersion` (in [#684])
- `Error::EmptyDocType` replaced by `IllFormedError::MissingDoctypeName` (in [#684])
- [#684]: Changed positions reported for `SyntaxError`s: now they are always points
to the start of markup (i. e. to the `<` character) with error. Use `error_position()`
for that.
- [#684]: Now `?>` parsed as `Event::PI` with empty content instead of raising
syntax error.
- [#684]: Now `` parsed as `Event::Decl` instead of `Event::PI`.
- [#362]: Now default quote level is `QuoteLevel::Partial` when using serde serializer.
- [#689]: `buffer_position()` now always report the position the parser last seen.
To get an error position use `error_position()`.
- [#738]: Add an example of how to deserialize XML elements into Rust enums using an
intermediate custom deserializer.
- [#748]: Implement `Clone` for [`DeEvent`][DeEvent], [`PayloadEvent`][PayloadEvent] and [`Text`][Text].
- [#734]: Rename `NoEntityResolver` to `PredefinedEntityResolver`.
- [#734]: No longer resolve predefined entities (`lt`, `gt`, `apos`, `quot`, `amp`)
in `unescape_with` family of methods. You should do that by yourself using the methods
listed above.
[#275]: https://redirect.github.com/tafia/quick-xml/issues/275
[#362]: https://redirect.github.com/tafia/quick-xml/issues/362
[#513]: https://redirect.github.com/tafia/quick-xml/issues/513
[#622]: https://redirect.github.com/tafia/quick-xml/issues/622
[#629]: https://redirect.github.com/tafia/quick-xml/issues/629
[#675]: https://redirect.github.com/tafia/quick-xml/pull/675
[#677]: https://redirect.github.com/tafia/quick-xml/pull/677
[#683]: https://redirect.github.com/tafia/quick-xml/issues/683
[#684]: https://redirect.github.com/tafia/quick-xml/pull/684
[#689]: https://redirect.github.com/tafia/quick-xml/pull/689
[#704]: https://redirect.github.com/tafia/quick-xml/pull/704
[#705]: https://redirect.github.com/tafia/quick-xml/pull/705
[#722]: https://redirect.github.com/tafia/quick-xml/pull/722
[#734]: https://redirect.github.com/tafia/quick-xml/pull/734
[#738]: https://redirect.github.com/tafia/quick-xml/pull/738
[#743]: https://redirect.github.com/tafia/quick-xml/pull/743
[#748]: https://redirect.github.com/tafia/quick-xml/pull/748
[#753]: https://redirect.github.com/tafia/quick-xml/pull/753
[#754]: https://redirect.github.com/tafia/quick-xml/pull/754
[`DeEvent`]: https://docs.rs/quick-xml/latest/quick_xml/de/enum.DeEvent.html
[`PayloadEvent`]: https://docs.rs/quick-xml/latest/quick_xml/de/enum.PayloadEvent.html
[`Text`]: https://docs.rs/quick-xml/latest/quick_xml/de/struct.Text.html
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
0.31.0
->0.36.1
Release Notes
tafia/quick-xml (quick-xml)
### [`v0.36.1`](https://redirect.github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0361----2024-07-23) [Compare Source](https://redirect.github.com/tafia/quick-xml/compare/v0.36.0...v0.36.1) ##### New Features - [#623]: Added `Reader::stream()` that can be used to read arbitrary data from the inner reader while track position for XML reader. [#623]: https://redirect.github.com/tafia/quick-xml/issues/623 ### [`v0.36.0`](https://redirect.github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0360----2024-07-08) [Compare Source](https://redirect.github.com/tafia/quick-xml/compare/v0.35.0...v0.36.0) ##### Bug Fixes - [#781]: Fix conditions to start CDATA section. Only uppercase `` readers. ##### Misc Changes - [#760]: `Attribute::decode_and_unescape_value` and `Attribute::decode_and_unescape_value_with` now accepts `Decoder` instead of `Reader`. Use `Reader::decoder()` to get it. - [#760]: `Writer::write_event` now consumes event. Use `Event::borrow()` if you want to keep ownership. - [#751]: Type of `Reader::error_position()` and `Reader::buffer_position()` changed from `usize` to `u64`. - [#751]: Type alias `Span` changed from `RangeConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.