Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Rust crate quick-xml to 0.37.0 #188

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 23, 2023

This PR contains the following updates:

Package Type Update Change
quick-xml dependencies minor 0.30.0 -> 0.37.0

Release Notes

tafia/quick-xml (quick-xml)

v0.37.0

Compare Source

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.
  • #​810: Return std::io::Error from Writer methods.
  • #​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 ratiohttps://github.com/serde-rs/serde/pull/2811ull/2811

v0.36.2

Compare Source

Bug Fixes
  • #​533: Fix incorrect DocType closing bracket detection when parsing with buffered reader

v0.36.1

Compare Source

New Features
  • #​623: Added Reader::stream() that can be used to read arbitrary data
    from the inner reader while track position for XML reader.

v0.36.0

Compare Source

Bug Fixes
  • #​781: Fix conditions to start CDATA section. Only uppercase <![CDATA[ can start it.
    Previously any case was allowed.
  • #​780: Fixed incorrect .error_position() when encountering syntax error for open or self-closed tag.
Misc Changes
  • #​780: reader::Parser, reader::ElementParser and reader::PiParser moved to the new module parser.
  • #​776: Allow to have attributes in the end tag for compatibility reasons with Adobe Flash XML parser.

v0.35.0

Compare Source

New Features
  • #​772: Add reader::Config::allow_unmatched_ends to permit dangling end tags
Bug Fixes
  • #​773: Fixed reporting incorrect end position in Reader::read_to_end family
    of methods and trimming of the trailing spaces in Reader::read_text when
    trim_text_start is set and the last event is not a Text event.
  • #​771: Character references now allow any number of leading zeroes as it should.
    As a result, the following variants of quick_xml::escape::EscapeError are removed:
    • TooLongDecimal
    • TooLongHexadecimal
  • #​771: Fixed Attribute::unescape_value which does not unescape predefined values since 0.32.0.
  • #​774: Fixed regression since 0.33.0: Text event may be skipped in read_event_into()
    and read_event_into_async() in some circumstances.
Misc Changes
  • #​771: EscapeError::UnrecognizedSymbol renamed to EscapeError::UnrecognizedEntity.
  • #​771: Implemented PartialEq for EscapeError.
  • #​771: Replace the following variants of EscapeError by InvalidCharRef variant
    with a new ParseCharRefError inside:
    • EntityWithNull
    • InvalidDecimal
    • InvalidHexadecimal
    • InvalidCodepoint

v0.34.0

Compare Source

Bug Fixes
  • #​751: Fix internal overflow when read 4GB+ files on 32-bit targets using Reader<impl BufRead> 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<usize> to Range<u64>.

v0.33.0

Compare Source

New Features
  • #​758: Implemented From<QName> 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)

v0.32.0

Compare Source

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:
    • 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 SyntaxErrors: 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 <?xml?> 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.

v0.31.0

Compare Source

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.
  • #​643: Adopted Rust 2021 edition.
  • #​545: Added new Error variant -- Error::InvalidPrefixBind.
  • #​651: Relax requirement for version of arbitrary dependency -- we're actually
    compatible with version 1.0.0 and up.
  • #​649: Make features linkable and reference them in the docs.
  • #​619: Allow to raise application errors in ElementWriter::write_inner_content
    (and newly added ElementWriter::write_inner_content_async of course).
  • #​662: Get rid of some allocations during serde deserialization.
  • #​665: Improve serialization of xs:lists when some elements serialized to an empty string.
  • #​630: Fixed compatibility with serde >= 1.0.181

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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from 02ecc82 to 6538c3d Compare December 16, 2023 04:15
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch 2 times, most recently from bc12ad2 to 59ccdee Compare December 31, 2023 07:34
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from 59ccdee to 550c9bc Compare January 2, 2024 12:38
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from 550c9bc to 3bddbe4 Compare February 12, 2024 00:03
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from 3bddbe4 to 35b2f55 Compare March 12, 2024 12:52
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from 35b2f55 to 96528ea Compare April 21, 2024 00:57
@renovate renovate bot changed the title Update Rust crate quick-xml to 0.31.0 Update Rust crate quick-xml to 0.32.0 Jun 10, 2024
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from 96528ea to ebbdba6 Compare June 10, 2024 16:13
@renovate renovate bot changed the title Update Rust crate quick-xml to 0.32.0 Update Rust crate quick-xml to 0.33.0 Jun 21, 2024
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch 2 times, most recently from 41ad649 to d395022 Compare June 24, 2024 23:07
@renovate renovate bot changed the title Update Rust crate quick-xml to 0.33.0 Update Rust crate quick-xml to 0.34.0 Jun 24, 2024
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from d395022 to f102b0b Compare June 29, 2024 19:43
@renovate renovate bot changed the title Update Rust crate quick-xml to 0.34.0 Update Rust crate quick-xml to 0.35.0 Jun 29, 2024
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from f102b0b to 3e2c548 Compare July 8, 2024 22:14
@renovate renovate bot changed the title Update Rust crate quick-xml to 0.35.0 Update Rust crate quick-xml to 0.36.0 Jul 8, 2024
@renovate renovate bot changed the title Update Rust crate quick-xml to 0.36.0 Update Rust crate quick-xml to 0.37.0 Oct 28, 2024
@renovate renovate bot force-pushed the renovate/quick-xml-0.x branch from 3e2c548 to 8642303 Compare October 28, 2024 00:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants