Download Latest Version v0.38.0 - Better support of references (_..._) source code.zip (1.5 MB)
Email in envelope

Get an email when there's a new version of quick-xml

Home / v0.38.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-06-28 3.1 kB
v0.38.0 - Better support of references (_..._) source code.tar.gz 2025-06-28 1.5 MB
v0.38.0 - Better support of references (_..._) source code.zip 2025-06-28 1.5 MB
Totals: 3 Items   3.0 MB 1

What's Changed

Significant changes

Now references to entities (as predefined, such as <, 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.

New Contributors

Full Changelog: https://github.com/tafia/quick-xml/compare/v0.37.5...v0.38.0

Source: README.md, updated 2025-06-28