Releases: zeux/pugixml
v1.14
Improvements:
xml_attribute::set_name
andxml_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
Maintenance release.
Release highlights:
xml_attribute::set_value
,xml_node::set_value
andxml_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
v1.12.1
v1.12
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.
v1.11.4
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
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
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
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
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
v1.10
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