Skip to content

Releases: zeux/pugixml

v1.14

01 Oct 16:14
Compare
Choose a tag to compare

Improvements:

  • xml_attribute::set_name and xml_node::set_name now have overloads that accept pointer to non-null-terminated string and size
  • Implement parse_merge_pcdata parsing mode in which PCDATA contents is merged into a single node when original document had comments that were skipped during parsing
  • xml_document::load_file now returns a more consistent error status when given a path to a folder

Bug fixes:

  • Fix assertion in XPath number→string conversion when using non-English locales
  • Fix PUGIXML_STATIC_CRT CMake option to correctly select static CRT when using MSVC and recent CMake

Compatibility improvements:

  • Fix GCC 2.95/3.3 builds
  • Fix CMake 3.27 deprecation warnings
  • Fix XCode 14 sprintf deprecation warning when compiling in C++03 mode
  • Fix clang/gcc warnings -Wweak-vtables, -Wreserved-macro-identifier

Thanks to @DavidKorczynski, @jiangqucheng, @SoapGentoo, @asmaloney, @ArchXUser, @stefanroellin and @vineethkuttan for contributions!

v1.13

02 Nov 14:51
a0e0643
Compare
Choose a tag to compare

Maintenance release.

Release highlights:

  • xml_attribute::set_value, xml_node::set_value and xml_text::set now have overloads that accept pointer to non-null-terminated string and size
  • Fix error handling in xml_document::save_file that could result in the function succeeding while running out of disk space
  • Fix memory leak during error handling of some out-of-memory conditions during xml_document::load

Read full changelog

v1.12.1

16 Feb 03:16
Compare
Choose a tag to compare

Patch release.

This is identical to v1.12 except that it updates PUGIXML_VERSION macro to 1.12. It can be used in applications where PUGIXML_VERSION is needed, but this update is not critical otherwise.

v1.12

09 Feb 06:37
Compare
Choose a tag to compare

Maintenance release.

Release highlights:

  • Fix xml_document move construction (for C++11) and xml_node iterator signatures (for C++20)
  • Add support for VS2022
  • Reorganize CMake settings to have PUGIXML_ prefix and allow more configuration via CMake options, like choosing compact/wchar_t modes.

Read full changelog

v1.11.4

22 Dec 16:43
08b3433
Compare
Choose a tag to compare

Patch release.

This patch reintroduces pugixml target for CMake when find_package is used, which was accidentally removed from v1.11.
It's recommended that pugixml::pugixml target is used instead, but this patch restores pugixml target for existing applications / libraries that depend on it.

The previous patch, v1.11.3, did not handle repeated attempts to call find_package; this patch fixes that particular corner case.

v1.11.3

18 Dec 17:54
0e3f169
Compare
Choose a tag to compare
v1.11.3 Pre-release
Pre-release

Patch release.

This patch reintroduces pugixml target for CMake when find_package is used, which was accidentally removed from v1.11.
It's recommended that pugixml::pugixml target is used instead, but this patch restores pugixml target for existing applications / libraries that depend on it.

The previous patch, v1.11.2, was not compatible with CMake 3.10; this patch restores compatibility with earlier CMake versions when using imported targets.

v1.11.2

15 Dec 03:51
9079552
Compare
Choose a tag to compare
v1.11.2 Pre-release
Pre-release

Patch release.

This patch reintroduces pugixml target for CMake when find_package is used, which was accidentally removed from v1.11.
It's recommended that pugixml::pugixml target is used instead, but this patch restores pugixml target for existing applications / libraries that depend on it.

The previous patch, v1.11.1, was only compatible with CMake 3.18 and up; this patch restores compatibility with earlier CMake versions when using imported targets.

v1.11.1

05 Dec 00:39
Compare
Choose a tag to compare
v1.11.1 Pre-release
Pre-release

Patch release.

This patch reintroduces pugixml target for CMake when find_package is used, which was accidentally removed from v1.11.
It's recommended that pugixml::pugixml target is used instead, but this patch restores pugixml target for existing applications / libraries that depend on it.

v1.11

26 Nov 17:50
Compare
Choose a tag to compare

Maintenance release.

Release highlights:

  • Add xml_node::remove_attributes and xml_node::remove_children
  • Add a way to customize floating point precision via xml_attribute::set and xml_text::set overloads
  • XPath parser now limits recursion depth which prevents stack overflow on malicious queries
  • Exported CMake target name changed to pugixml::pugixml; see subsequent patch releases

Read full changelog

v1.10

16 Sep 00:40
Compare
Choose a tag to compare

Maintenance release.

Release highlights:

  • XPath union operation now is ~2x faster to compute and results in a stable order that doesn't depend on pointer order
  • Add format_skip_control_chars formatting flag to skip non-printable ASCII characters
  • Add format_attribute_single_quote formatting flag to use single quotes for attribute values
  • Add Visual Studio .natvis files to improve debugging experience

Read full changelog