Update Rust crate quick-xml to 0.39 #8

Open
spacebot wants to merge 1 commit from renovate/quick-xml-0.x into main
Owner

This PR contains the following updates:

Package Type Update Change
quick-xml dependencies minor 0.310.39

Release Notes

tafia/quick-xml (quick-xml)

v0.39.3

Compare Source

Bug Fixes
  • #​950: Fix subtraction with overflow when parse malformed DTD in some cases.
    Note, that currently we do not check the validity of DTD, so the returned Event::DocType
    may contain the malformed DTD.

v0.39.2

Compare Source

New Features
  • #​483: Implement read_text_into() and read_text_into_async().
Bug Fixes
  • #​939: Fix parsing error of the tag from buffered reader, when the first byte <
    is the last in the BufRead internal buffer. This is the regression from #​936.

v0.39.1

Compare Source

New Features
  • #​598: Add method NamespaceResolver::set_level which may be helpful in some circumstances.
Bug Fixes
  • #​597: Fix incorrect processing of namespace scopes in NsReader::read_to_end
    NsReader::read_to_end_into, NsReader::read_to_end_into_async and NsReader::read_text.
    The scope started by a start element was not ended after that call.
  • #​936: Fix incorrect result of .read_text() when it is called after reading Text or GeneralRef event.

v0.39.0

Compare Source

Added a way to configure Writer. Now all configuration is contained in the writer::Config
struct and can be applied at once. When serde-types feature is enabled, configuration is serializable.

New Features
  • #​846: Add methods config() and config_mut() to inspect and change the writer configuration.
  • #​846: Add ability to write space before /> in self-closed tags for maximum compatibility with
    XHTML.
  • #​846: Add method empty_element_handling() as a more powerful alternative to expand_empty_elements()
    in Serializer.
  • #​929: Allow to pass list of field names to impl_deserialize_for_internally_tagged_enum! macro
    which is required if you enum variants contains $value fields.
Bug Fixes
  • #​923: Implement correct skipping of well-formed DTD.
Misc Changes
  • #​908: Increase minimal supported serde version from 1.0.139 to 1.0.180.
  • #​913: Deprecate .prefixes(), .resolve(), .resolve_attribute(), and .resolve_element()
    of NsReader. Use .resolver().bindings() and .resolver().resolve() methods instead.
  • #​913: Attributes::has_nil now accepts NamespaceResolver instead of Reader<R>.
  • #​924: (breaking change) Split SyntaxError::UnclosedPIOrXmlDecl into UnclosedPI and
    UnclosedXmlDecl for more precise error reporting.
  • #​924: (breaking change) Parser::eof_error now takes &self and content &[u8] parameters.
  • #​926: (breaking change) Split SyntaxError::UnclosedTag into UnclosedTag,
    UnclosedSingleQuotedAttributeValue and UnclosedDoubleQuotedAttributeValue for more precise error reporting.

v0.38.4

Compare Source

New Features
  • #​353: Add ability to serialize textual content as CDATA sections in Serializer.
    Everywhere where the text node may be created, a CDATA section(s) could be produced instead.
    See the new Serializer::text_format() method.
Bug Fixes
  • #​912: Fix deserialization of numbers, booleans and characters that is space-wrapped, for example
    <int> 42 </int>. That space characters are usually indent added during serialization and
    other XML serialization libraries trims them
Misc Changes
  • #​901: Fix running tests on 32-bit architecture
  • #​909: Avoid some allocations in the Serializer

v0.38.3

Compare Source

Bug Fixes
  • #​895: Fix incorrect normalization of \rX EOL sequences where X is a char which is
    UTF-8 encoded as [c2 xx], except [c2 85].
Misc Changes
  • #​895: Add new xml10_content() and xml11_content() methods which behaves the same as
    html_content() and xml_content() methods, but express intention more clearly.

v0.38.2

Compare Source

New Features
  • #​893: Implement FusedIterator for NamespaceBindingsIter.
  • #​893: Make NamespaceResolver public.
  • #​893: Add NsReader::resolver() for access to namespace resolver.
Misc Changes
  • #​893: Rename PrefixIter to NamespaceBindingsIter.

v0.38.1

Compare Source

Important changes

To get text in events according to the XML specification (normalized EOLs) use the
new methods xml_content() instead of decode(). Deserializer uses new method
automatically.

New Features
  • #​882: Add new methods to create Deserializer from existing NsReader:
    • Deserializer::borrowing
    • Deserializer::borrowing_with_resolver
    • Deserializer::buffering
    • Deserializer::buffering_with_resolver
  • #​878: Add ability to serialize structs in $value fields. The struct name will
    be used as a tag name. Previously only enums was allowed there.
  • #​806: Add BytesText::xml_content, BytesCData::xml_content and BytesRef::xml_content
    methods which returns XML EOL normalized strings.
  • #​806: Add BytesText::html_content, BytesCData::html_content and BytesRef::html_content
    methods which returns HTML EOL normalized strings.
Bug Fixes
  • #​806: Properly normalize EOL characters in Deserializer.
  • #​888: Properly split attribute values by items when deserialize attribute into
    list of values and attribute requires decoding.

v0.38.0

Compare Source

Significant changes

Now references to entities (as predefined, such as &lt;, as user-defined) reported as a new
Event::GeneralRef.
Caller can parse the content of the entity and stream events from it as it is required by the
XML specification. See the updated custom_entities example!

Implement whitespace behavior in the standard in Deserializer, which says string primitive
types should preserve whitespace, while all other primitives have collapse behavior.

New Features
  • #​863: Add Attributes::into_map_access(&str) and Attributes::into_deserializer() when serialize
    feature is enabled. This will allow do deserialize serde types right from attributes. Both methods
    returns the same type which implements serde's Deserializer and MapAccess traits.
  • #​766: Allow to parse resolved entities as XML fragments and stream events from them.
  • #​766: Added new event Event::GeneralRef with content of general entity.
  • #​766: Added new configuration option allow_dangling_amp which allows to have
    a & not followed by ; in the textual data which is required for some applications
    for compatibility reasons.
  • #​285: Add ability to quick_xml::de::Text to access text with trimmed spaces
Bug Fixes
  • #​868: Allow to have both $text and $value special fields in one struct. Previously
    any text will be recognized as $value field even when $text field is also presented.
  • #​868: Skip text events when deserialize a sequence of items overlapped with text (including CDATA).
  • #​841: Do not strip xml prefix from the attributes when map them to struct fields in Deserializer.
Misc Changes
  • #​863: Remove From<QName<'a>> for BytesStart<'a> because now BytesStart stores the
    encoding in which its data is encoded, but QName is a simple wrapper around byte slice.
  • #​766: BytesText::unescape and BytesText::unescape_with replaced by BytesText::decode.
    Now Text events does not contain escaped parts which are reported as Event::GeneralRef.

v0.37.5

Compare Source

New Features
  • #​857: Add BytesCData::decode().

v0.37.4

Compare Source

Misc Changes
  • #​852: Add Debug impl for NsReader and Reader and Clone impl for NsReader

v0.37.3

Compare Source

New Features
  • #​850: Add Attribute::as_bool() method to get an attribute value as a boolean.
  • #​850: Add Attributes::has_nil() method to check if attributes has xsi:nil attribute set to true.
  • #​497: Handle xsi:nil attribute in serde Deserializer to better process optional fields.

v0.37.2

Compare Source

New Features
  • #​836: Add se::to_utf8_io_writer() helper compatible with std::io::Write and restricted to UTF-8 encoding.

v0.37.1

Compare Source

New Features
  • #​831: Add BytesCData::escaped() fn to construct CDATA events from arbitrary user input.

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 rationale in serde-rs/serde#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, PayloadEvent and 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.

Configuration

📅 Schedule: (UTC)

  • 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 has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [quick-xml](https://github.com/tafia/quick-xml) | dependencies | minor | `0.31` → `0.39` | --- ### Release Notes <details> <summary>tafia/quick-xml (quick-xml)</summary> ### [`v0.39.3`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0393----2026-05-04) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.39.2...v0.39.3) ##### Bug Fixes - [#&#8203;950]: Fix subtraction with overflow when parse malformed DTD in some cases. Note, that currently we do not check the validity of DTD, so the returned `Event::DocType` may contain the malformed DTD. [#&#8203;950]: https://github.com/tafia/quick-xml/issues/950 ### [`v0.39.2`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0392----2026-02-20) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.39.1...v0.39.2) ##### New Features - [#&#8203;483]: Implement `read_text_into()` and `read_text_into_async()`. ##### Bug Fixes - [#&#8203;939]: Fix parsing error of the tag from buffered reader, when the first byte `<` is the last in the `BufRead` internal buffer. This is the regression from [#&#8203;936]. [#&#8203;483]: https://github.com/tafia/quick-xml/issues/483 [#&#8203;936]: https://github.com/tafia/quick-xml/pull/936 [#&#8203;939]: https://github.com/tafia/quick-xml/issues/939 ### [`v0.39.1`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0391----2026-02-15) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.39.0...v0.39.1) ##### New Features - [#&#8203;598]: Add method `NamespaceResolver::set_level` which may be helpful in some circumstances. ##### Bug Fixes - [#&#8203;597]: Fix incorrect processing of namespace scopes in `NsReader::read_to_end` `NsReader::read_to_end_into`, `NsReader::read_to_end_into_async` and `NsReader::read_text`. The scope started by a start element was not ended after that call. - [#&#8203;936]: Fix incorrect result of `.read_text()` when it is called after reading `Text` or `GeneralRef` event. [#&#8203;597]: https://github.com/tafia/quick-xml/issues/597 [#&#8203;598]: https://github.com/tafia/quick-xml/pull/598 [#&#8203;936]: https://github.com/tafia/quick-xml/pull/936 ### [`v0.39.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0390----2026-01-11) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.38.4...v0.39.0) Added a way to configure `Writer`. Now all configuration is contained in the `writer::Config` struct and can be applied at once. When `serde-types` feature is enabled, configuration is serializable. ##### New Features - [#&#8203;846]: Add methods `config()` and `config_mut()` to inspect and change the writer configuration. - [#&#8203;846]: Add ability to write space before `/>` in self-closed tags for maximum compatibility with XHTML. - [#&#8203;846]: Add method `empty_element_handling()` as a more powerful alternative to `expand_empty_elements()` in `Serializer`. - [#&#8203;929]: Allow to pass list of field names to `impl_deserialize_for_internally_tagged_enum!` macro which is required if you enum variants contains `$value` fields. ##### Bug Fixes - [#&#8203;923]: Implement correct skipping of well-formed DTD. ##### Misc Changes - [#&#8203;908]: Increase minimal supported `serde` version from 1.0.139 to 1.0.180. - [#&#8203;913]: Deprecate `.prefixes()`, `.resolve()`, `.resolve_attribute()`, and `.resolve_element()` of `NsReader`. Use `.resolver().bindings()` and `.resolver().resolve()` methods instead. - [#&#8203;913]: `Attributes::has_nil` now accepts `NamespaceResolver` instead of `Reader<R>`. - [#&#8203;924]: (breaking change) Split `SyntaxError::UnclosedPIOrXmlDecl` into `UnclosedPI` and `UnclosedXmlDecl` for more precise error reporting. - [#&#8203;924]: (breaking change) `Parser::eof_error` now takes `&self` and content `&[u8]` parameters. - [#&#8203;926]: (breaking change) Split `SyntaxError::UnclosedTag` into `UnclosedTag`, `UnclosedSingleQuotedAttributeValue` and `UnclosedDoubleQuotedAttributeValue` for more precise error reporting. [#&#8203;846]: https://github.com/tafia/quick-xml/issues/846 [#&#8203;908]: https://github.com/tafia/quick-xml/pull/908 [#&#8203;913]: https://github.com/tafia/quick-xml/pull/913 [#&#8203;923]: https://github.com/tafia/quick-xml/issues/923 [#&#8203;924]: https://github.com/tafia/quick-xml/pull/924 [#&#8203;926]: https://github.com/tafia/quick-xml/issues/926 [#&#8203;929]: https://github.com/tafia/quick-xml/pull/929 ### [`v0.38.4`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0384----2025-11-11) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.38.3...v0.38.4) ##### New Features - [#&#8203;353]: Add ability to serialize textual content as CDATA sections in `Serializer`. Everywhere where the text node may be created, a CDATA section(s) could be produced instead. See the new [`Serializer::text_format()`] method. ##### Bug Fixes - [#&#8203;912]: Fix deserialization of numbers, booleans and characters that is space-wrapped, for example `<int> 42 </int>`. That space characters are usually indent added during serialization and other XML serialization libraries trims them ##### Misc Changes - [#&#8203;901]: Fix running tests on 32-bit architecture - [#&#8203;909]: Avoid some allocations in the `Serializer` [#&#8203;353]: https://github.com/tafia/quick-xml/issues/353 [#&#8203;901]: https://github.com/tafia/quick-xml/pull/901 [#&#8203;909]: https://github.com/tafia/quick-xml/pull/909 [#&#8203;912]: https://github.com/tafia/quick-xml/pull/912 [`Serializer::text_format()`]: https://docs.rs/quick-xml/0.38.4/quick_xml/se/struct.Serializer.html#method.text_format ### [`v0.38.3`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0383----2025-08-24) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.38.2...v0.38.3) ##### Bug Fixes - [#&#8203;895]: Fix incorrect normalization of `\rX` EOL sequences where `X` is a char which is UTF-8 encoded as \[c2 xx], except \[c2 85]. ##### Misc Changes - [#&#8203;895]: Add new `xml10_content()` and `xml11_content()` methods which behaves the same as `html_content()` and `xml_content()` methods, but express intention more clearly. [#&#8203;895]: https://github.com/tafia/quick-xml/pull/895 ### [`v0.38.2`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0382----2025-08-19) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.38.1...v0.38.2) ##### New Features - [#&#8203;893]: Implement `FusedIterator` for `NamespaceBindingsIter`. - [#&#8203;893]: Make `NamespaceResolver` public. - [#&#8203;893]: Add `NsReader::resolver()` for access to namespace resolver. ##### Misc Changes - [#&#8203;893]: Rename `PrefixIter` to `NamespaceBindingsIter`. [#&#8203;893]: https://github.com/tafia/quick-xml/pull/893 ### [`v0.38.1`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0381----2025-08-03) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.38.0...v0.38.1) ##### Important changes To get text in events according to the XML specification (normalized EOLs) use the new methods `xml_content()` instead of `decode()`. `Deserializer` uses new method automatically. ##### New Features - [#&#8203;882]: Add new methods to create `Deserializer` from existing `NsReader`: - `Deserializer::borrowing` - `Deserializer::borrowing_with_resolver` - `Deserializer::buffering` - `Deserializer::buffering_with_resolver` - [#&#8203;878]: Add ability to serialize structs in `$value` fields. The struct name will be used as a tag name. Previously only enums was allowed there. - [#&#8203;806]: Add `BytesText::xml_content`, `BytesCData::xml_content` and `BytesRef::xml_content` methods which returns XML EOL normalized strings. - [#&#8203;806]: Add `BytesText::html_content`, `BytesCData::html_content` and `BytesRef::html_content` methods which returns HTML EOL normalized strings. ##### Bug Fixes - [#&#8203;806]: Properly normalize EOL characters in `Deserializer`. - [#&#8203;888]: Properly split attribute values by items when deserialize attribute into list of values and attribute requires decoding. [#&#8203;806]: https://github.com/tafia/quick-xml/issues/806 [#&#8203;878]: https://github.com/tafia/quick-xml/pull/878 [#&#8203;882]: https://github.com/tafia/quick-xml/pull/882 [#&#8203;888]: https://github.com/tafia/quick-xml/pull/888 ### [`v0.38.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0380----2025-06-28) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.37.5...v0.38.0) ##### Significant changes Now references to entities (as predefined, such as `&lt;`, as user-defined) reported as a new `Event::GeneralRef`. Caller can parse the content of the entity and stream events from it as it is required by the XML specification. See the updated `custom_entities` example! Implement whitespace behavior in the standard in `Deserializer`, which says string primitive types should preserve whitespace, while all other primitives have collapse behavior. ##### New Features - [#&#8203;863]: Add `Attributes::into_map_access(&str)` and `Attributes::into_deserializer()` when `serialize` feature is enabled. This will allow do deserialize serde types right from attributes. Both methods returns the same type which implements serde's `Deserializer` and `MapAccess` traits. - [#&#8203;766]: Allow to parse resolved entities as XML fragments and stream events from them. - [#&#8203;766]: Added new event `Event::GeneralRef` with content of [general entity]. - [#&#8203;766]: Added new configuration option `allow_dangling_amp` which allows to have a `&` not followed by `;` in the textual data which is required for some applications for compatibility reasons. - [#&#8203;285]: Add ability to `quick_xml::de::Text` to access text with trimmed spaces ##### Bug Fixes - [#&#8203;868]: Allow to have both `$text` and `$value` special fields in one struct. Previously any text will be recognized as `$value` field even when `$text` field is also presented. - [#&#8203;868]: Skip text events when deserialize a sequence of items overlapped with text (including CDATA). - [#&#8203;841]: Do not strip `xml` prefix from the attributes when map them to struct fields in `Deserializer`. ##### Misc Changes - [#&#8203;863]: Remove `From<QName<'a>> for BytesStart<'a>` because now `BytesStart` stores the encoding in which its data is encoded, but `QName` is a simple wrapper around byte slice. - [#&#8203;766]: `BytesText::unescape` and `BytesText::unescape_with` replaced by `BytesText::decode`. Now Text events does not contain escaped parts which are reported as `Event::GeneralRef`. [#&#8203;285]: https://github.com/tafia/quick-xml/issues/285 [#&#8203;766]: https://github.com/tafia/quick-xml/pull/766 [#&#8203;841]: https://github.com/tafia/quick-xml/issues/841 [#&#8203;863]: https://github.com/tafia/quick-xml/pull/863 [#&#8203;868]: https://github.com/tafia/quick-xml/pull/868 [general entity]: https://www.w3.org/TR/xml11/#gen-entity ### [`v0.37.5`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0375----2025-04-27) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.37.4...v0.37.5) ##### New Features - [#&#8203;857]: Add `BytesCData::decode()`. [#&#8203;857]: https://github.com/tafia/quick-xml/pull/857 ### [`v0.37.4`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0374----2025-04-01) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.37.3...v0.37.4) ##### Misc Changes - [#&#8203;852]: Add `Debug` impl for `NsReader` and `Reader` and `Clone` impl for `NsReader` [#&#8203;852]: https://github.com/tafia/quick-xml/pull/852 ### [`v0.37.3`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0373----2025-03-25) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.37.2...v0.37.3) ##### New Features - [#&#8203;850]: Add `Attribute::as_bool()` method to get an attribute value as a boolean. - [#&#8203;850]: Add `Attributes::has_nil()` method to check if attributes has `xsi:nil` attribute set to `true`. - [#&#8203;497]: Handle `xsi:nil` attribute in serde Deserializer to better process optional fields. [#&#8203;497]: https://github.com/tafia/quick-xml/issues/497 [#&#8203;850]: https://github.com/tafia/quick-xml/pull/850 ### [`v0.37.2`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0372----2024-12-29) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.37.1...v0.37.2) ##### New Features - [#&#8203;836]: Add `se::to_utf8_io_writer()` helper compatible with `std::io::Write` and restricted to UTF-8 encoding. [#&#8203;836]: https://github.com/tafia/quick-xml/pull/836 ### [`v0.37.1`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0371----2024-11-17) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.37.0...v0.37.1) ##### New Features - [#&#8203;831]: Add `BytesCData::escaped()` fn to construct CDATA events from arbitrary user input. [#&#8203;831]: https://github.com/tafia/quick-xml/issues/831 ### [`v0.37.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0370----2024-10-27) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.36.2...v0.37.0) ##### New Features - [#&#8203;826]: Implement `From<String>` and `From<Cow<str>>` for `quick_xml::de::Text`. - [#&#8203;826]: Make `SimpleTypeDeserializer` and `SimpleTypeSerializer` public. - [#&#8203;826]: Implement `IntoDeserializer` for `&mut Deserializer`. ##### Bug Fixes - [#&#8203;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`). - [#&#8203;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 - [#&#8203;227]: Split `SeError` from `DeError` in the `serialize` feature. Serialize functions and methods now return `SeError`. - [#&#8203;810]: Return `std::io::Error` from `Writer` methods. - [#&#8203;811]: Split `NamespaceError` and `EncodingError` from `Error`. - [#&#8203;811]: Renamed `Error::EscapeError` to `Error::Escape` to match other variants. - [#&#8203;811]: Narrow down error return type from `Error` where only one variant is ever returned: attribute related methods on `BytesStart` and `BytesDecl` returns `AttrError` - [#&#8203;820]: Classify output of the `Serializer` by returning an enumeration with kind of written data - [#&#8203;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 - [#&#8203;827]: Make `escape` and it variants take a `impl Into<Cow<str>>` argument and implement `From<(&'a str, Cow<'a, str>)>` on `Attribute` - [#&#8203;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](https://github.com/serde-rs/serde/pull/2811) [#&#8203;227]: https://github.com/tafia/quick-xml/issues/227 [#&#8203;655]: https://github.com/tafia/quick-xml/issues/655 [#&#8203;810]: https://github.com/tafia/quick-xml/pull/810 [#&#8203;811]: https://github.com/tafia/quick-xml/pull/811 [#&#8203;820]: https://github.com/tafia/quick-xml/pull/820 [#&#8203;823]: https://github.com/tafia/quick-xml/pull/823 [#&#8203;826]: https://github.com/tafia/quick-xml/pull/826 [#&#8203;827]: https://github.com/tafia/quick-xml/pull/827 [Xml Schema]: https://www.w3.org/TR/xmlschema11-2/#boolean ### [`v0.36.2`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0362----2024-09-20) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.36.1...v0.36.2) ##### Bug Fixes - [#&#8203;533]: Fix incorrect DocType closing bracket detection when parsing with buffered reader [#&#8203;533]: https://github.com/tafia/quick-xml/issues/533 ### [`v0.36.1`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0361----2024-07-23) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.36.0...v0.36.1) ##### New Features - [#&#8203;623]: Added `Reader::stream()` that can be used to read arbitrary data from the inner reader while track position for XML reader. [#&#8203;623]: https://github.com/tafia/quick-xml/issues/623 ### [`v0.36.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0360----2024-07-08) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.35.0...v0.36.0) ##### Bug Fixes - [#&#8203;781]: Fix conditions to start CDATA section. Only uppercase `<![CDATA[` can start it. Previously any case was allowed. - [#&#8203;780]: Fixed incorrect `.error_position()` when encountering syntax error for open or self-closed tag. ##### Misc Changes - [#&#8203;780]: `reader::Parser`, `reader::ElementParser` and `reader::PiParser` moved to the new module `parser`. - [#&#8203;776]: Allow to have attributes in the end tag for compatibility reasons with Adobe Flash XML parser. [#&#8203;776]: https://github.com/tafia/quick-xml/issues/776 [#&#8203;780]: https://github.com/tafia/quick-xml/pull/780 [#&#8203;781]: https://github.com/tafia/quick-xml/pull/781 ### [`v0.35.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0350----2024-06-29) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.34.0...v0.35.0) ##### New Features - [#&#8203;772]: Add `reader::Config::allow_unmatched_ends` to permit dangling end tags ##### Bug Fixes - [#&#8203;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. - [#&#8203;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` - [#&#8203;771]: Fixed `Attribute::unescape_value` which does not unescape predefined values since 0.32.0. - [#&#8203;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 - [#&#8203;771]: `EscapeError::UnrecognizedSymbol` renamed to `EscapeError::UnrecognizedEntity`. - [#&#8203;771]: Implemented `PartialEq` for `EscapeError`. - [#&#8203;771]: Replace the following variants of `EscapeError` by `InvalidCharRef` variant with a new `ParseCharRefError` inside: - `EntityWithNull` - `InvalidDecimal` - `InvalidHexadecimal` - `InvalidCodepoint` [#&#8203;771]: https://github.com/tafia/quick-xml/pull/771 [#&#8203;772]: https://github.com/tafia/quick-xml/pull/772 [#&#8203;773]: https://github.com/tafia/quick-xml/pull/773 [#&#8203;774]: https://github.com/tafia/quick-xml/issues/774 ### [`v0.34.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0340----2024-06-25) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.33.0...v0.34.0) ##### Bug Fixes - [#&#8203;751]: Fix internal overflow when read 4GB+ files on 32-bit targets using `Reader<impl BufRead>` readers. ##### Misc Changes - [#&#8203;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. - [#&#8203;760]: `Writer::write_event` now consumes event. Use `Event::borrow()` if you want to keep ownership. - [#&#8203;751]: Type of `Reader::error_position()` and `Reader::buffer_position()` changed from `usize` to `u64`. - [#&#8203;751]: Type alias `Span` changed from `Range<usize>` to `Range<u64>`. [#&#8203;751]: https://github.com/tafia/quick-xml/issues/751 [#&#8203;760]: https://github.com/tafia/quick-xml/pull/760 ### [`v0.33.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0330----2024-06-21) [Compare Source](https://github.com/tafia/quick-xml/compare/v0.32.0...v0.33.0) ##### New Features - [#&#8203;758]: Implemented `From<QName>` for `BytesStart` and `BytesEnd`. ##### Bug Fixes - [#&#8203;755]: Fix incorrect missing of trimming all-space text events when `trim_text_start = false` and `trim_text_end = true`. ##### Misc Changes - [#&#8203;650]: Change the type of `Event::PI` to a new dedicated `BytesPI` type. - [#&#8203;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()` - [#&#8203;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) [#&#8203;650]: https://github.com/tafia/quick-xml/issues/650 [#&#8203;755]: https://github.com/tafia/quick-xml/pull/755 [#&#8203;758]: https://github.com/tafia/quick-xml/pull/758 [#&#8203;759]: https://github.com/tafia/quick-xml/pull/759 [#&#8203;763]: https://github.com/tafia/quick-xml/issues/763 ### [`v0.32.0`](https://github.com/tafia/quick-xml/blob/HEAD/Changelog.md#0320----2024-06-10) [Compare Source](https://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 - [#&#8203;513]: Allow to continue parsing after getting new `Error::IllFormed`. - [#&#8203;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().<...>`. - [#&#8203;684]: Added a method `Config::enable_all_checks` to turn on or off all well-formedness checks. - [#&#8203;362]: Added `escape::minimal_escape()` which escapes only `&` and `<`. - [#&#8203;362]: Added `BytesCData::minimal_escape()` which escapes only `&` and `<`. - [#&#8203;362]: Added `Serializer::set_quote_level()` which allow to set desired level of escaping. - [#&#8203;705]: Added `NsReader::prefixes()` to list all the prefixes currently declared. - [#&#8203;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. - [#&#8203;722]: Allow to pass owned strings to `Writer::create_element`. This is breaking change! - [#&#8203;275]: Added `ElementWriter::new_line()` which enables pretty printing elements with multiple attributes. - [#&#8203;743]: Added `Deserializer::get_ref()` to get XML Reader from serde Deserializer - [#&#8203;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` - [#&#8203;753]: Added parser for processing instructions: `quick_xml::reader::PiParser`. - [#&#8203;754]: Added parser for elements: `quick_xml::reader::ElementParser`. ##### Bug Fixes - [#&#8203;622]: Fix wrong disregarding of not closed markup, such as lone `<`. - [#&#8203;684]: Fix incorrect position reported for `Error::IllFormed(DoubleHyphenInComment)`. - [#&#8203;684]: Fix incorrect position reported for `Error::IllFormed(MissingDoctypeName)`. - [#&#8203;704]: Fix empty tags with attributes not being expanded when `expand_empty_elements` is set to true. - [#&#8203;683]: Use local tag name when check tag name against possible names for field. - [#&#8203;753]: Correctly determine end of processing instructions and XML declaration. ##### Misc Changes - [#&#8203;675]: Minimum supported version of serde raised to 1.0.139 - [#&#8203;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 [#&#8203;684]) - `Error::EmptyDocType` replaced by `IllFormedError::MissingDoctypeName` (in [#&#8203;684]) - [#&#8203;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. - [#&#8203;684]: Now `<??>` parsed as `Event::PI` with empty content instead of raising syntax error. - [#&#8203;684]: Now `<?xml?>` parsed as `Event::Decl` instead of `Event::PI`. - [#&#8203;362]: Now default quote level is `QuoteLevel::Partial` when using serde serializer. - [#&#8203;689]: `buffer_position()` now always report the position the parser last seen. To get an error position use `error_position()`. - [#&#8203;738]: Add an example of how to deserialize XML elements into Rust enums using an intermediate custom deserializer. - [#&#8203;748]: Implement `Clone` for [`DeEvent`], [`PayloadEvent`] and [`Text`]. - [#&#8203;734]: Rename `NoEntityResolver` to `PredefinedEntityResolver`. - [#&#8203;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. [#&#8203;275]: https://github.com/tafia/quick-xml/issues/275 [#&#8203;362]: https://github.com/tafia/quick-xml/issues/362 [#&#8203;513]: https://github.com/tafia/quick-xml/issues/513 [#&#8203;622]: https://github.com/tafia/quick-xml/issues/622 [#&#8203;629]: https://github.com/tafia/quick-xml/issues/629 [#&#8203;675]: https://github.com/tafia/quick-xml/pull/675 [#&#8203;677]: https://github.com/tafia/quick-xml/pull/677 [#&#8203;683]: https://github.com/tafia/quick-xml/issues/683 [#&#8203;684]: https://github.com/tafia/quick-xml/pull/684 [#&#8203;689]: https://github.com/tafia/quick-xml/pull/689 [#&#8203;704]: https://github.com/tafia/quick-xml/pull/704 [#&#8203;705]: https://github.com/tafia/quick-xml/pull/705 [#&#8203;722]: https://github.com/tafia/quick-xml/pull/722 [#&#8203;734]: https://github.com/tafia/quick-xml/pull/734 [#&#8203;738]: https://github.com/tafia/quick-xml/pull/738 [#&#8203;743]: https://github.com/tafia/quick-xml/pull/743 [#&#8203;748]: https://github.com/tafia/quick-xml/pull/748 [#&#8203;753]: https://github.com/tafia/quick-xml/pull/753 [#&#8203;754]: https://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 </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE1MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
spacebot force-pushed renovate/quick-xml-0.x from bc458bc266 to e9be963d13
Some checks failed
Build and Test / cache-mii (push) Failing after 16s
Build and Test / cache-mii (pull_request) Failing after 18s
2026-05-02 21:46:42 +02:00
Compare
Some checks failed
Build and Test / cache-mii (push) Failing after 16s
Build and Test / cache-mii (pull_request) Failing after 18s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/quick-xml-0.x:renovate/quick-xml-0.x
git switch renovate/quick-xml-0.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/quick-xml-0.x
git switch renovate/quick-xml-0.x
git rebase main
git switch main
git merge --ff-only renovate/quick-xml-0.x
git switch renovate/quick-xml-0.x
git rebase main
git switch main
git merge --no-ff renovate/quick-xml-0.x
git switch main
git merge --squash renovate/quick-xml-0.x
git switch main
git merge --ff-only renovate/quick-xml-0.x
git switch main
git merge renovate/quick-xml-0.x
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
spacebar/rust-boss!8
No description provided.