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.