Skip to content

Releases: zeux/pugixml

v1.15

10 Jan 19:19
Compare
Choose a tag to compare

Improvements:

  • Many xml_attribute:: and xml_node:: functions now transparently support std::string_view and std::string when C++17 support is detected.

CMake improvements:

  • Improve pkg-config file generation for NixOS
  • PUGIXML_BUILD_APPLE_FRAMEWORK CMake option can be used to build pugixml as .xcframework
  • PUGIXML_INSTALL CMake option can be used to disable installation targets

Compatibility improvements:

  • Fix clang/gcc warnings -Wzero-as-null-pointer-constant, -Wuseless-cast, -Wshorten-64-to-32
  • Fix unreferenced function warnings in PUGIXML_NO_STL configuration
  • Fix CMake 3.31 deprecation warnings
  • Stop using deprecated throw() when noexcept is available

Note: due to a packaging issue, release archives below contain quickstart guide with version "1.14"; this is a minor error that does not affect the contents of the package or guide otherwise. An updated version is live on pugixml.org.

Thanks to @richardapeters, @ilya-lavrenov, @PhilipBotha, @nathaniel-brough, @SoapGentoo, @kmilos, @aral-matrix, @dantargz, @r-barnes, @hughsie and @Treata11 for contributions!

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