1.11.4
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.
1.11.3
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.
1.11.2
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.
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.
pugixml-1.11 is out. This is a maintenance release that fixes some
compatibility issues and introduces several new APIs (read the
changelog for details).
Highlights for this release include:
* 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
Maintenance release. Changes:
Specification changes:
xml_document::load(const char*) (deprecated in 1.5) now has deprecated attribute; use xml_document::load_string instead
xml_node::select_single_node (deprecated in 1.5) now has deprecated attribute; use xml_node::select_node instead
New features:
Add move semantics support for xml_document and improve move semantics support for other objects
CMake build now exports include directories
CMake build with BUILD_SHARED_LIBS=ON now uses dllexport attribute for MSVC
XPath improvements:
Rework parser/evaluator to not rely on exceptional control flow; longjmp is no longer used when exceptions are disabled
Improve error messages for certain invalid expressions such as .[1] or (1
Minor performance improvements
Compatibility improvements:
Fix Texas Instruments compiler warnings
Fix compilation issues with limits.h for some versions of gcc
Fix compilation issues with Clang/C2
Fix implicit fallthrough warnings in gcc 7
Fix unknown attribute directive warnings in gcc 8
Fix cray++ compiler errors
Fix unsigned integer overflow errors with -fsanitize=integer
Fix undefined behavior sanitizer issues in compact mode
1.8.1
This is a re-release of v1.8 with fixed timestamps for files in .tar.gz
1.8
Maintenance release.
Release highlights:
Added parse_embed_pcdata parsing mode to reduce memory consumption for some documents
Added Latin-1 auto-detection support
When printing empty elements, a space is no longer added before / in format_raw mode
Fix compilation issues for Borland C++ 5.4 and some distributions of MinGW 3.8
pugixml is a light-weight C++ XML processing library. It features:
* DOM-like interface with rich traversal/modification capabilities
* Extremely fast non-validating XML parser which constructs the DOM
tree from an XML file/buffer
* XPath 1.0 implementation for complex data-driven tree queries
* Full Unicode support with Unicode interface variants and automatic
encoding conversions
The library is extremely portable and easy to integrate and use.