Releases: KWARC/rust-libxml
Releases · KWARC/rust-libxml
v0.3.14
v0.3.12
Linkage state machine + set_rust_owned for orphan ownership
adjust vcpkg build's directory includes
improved bindgen config for c14n
This release contains configuration patches for bindgen, particularly for the c14n feature.
See PR #182
c14n and more bindgen headers
[0.3.6] (2025-13-07)
Added
- c14n, thanks to @saks and @tstenner
- add
canonicalizemethod forNodeandDocument - see
tests/c14n.rsfor examples
- add
- Utility node methods, thanks to @saks (nokogiri inspired)
- add
Node::ancestorsmethod - add
Node::at_xpathmethod. Similar tofindnodesbut nokogiri inspired.
- add
This work still hasn't been extended to RoNode, contributions welcome.
Changes
- Added more low-level headers from bindgen for wrapper uses interested in unsafe low-level libxml2 calls.
The bindgen coverage has been in flux since the v0.3.4 release, as we stabilize the new build approach.
Stabilize bindgen-at-build on more platforms
[0.3.5] (2025-28-04)
This release stabilizes the new "bindgen during build" approach of v0.3.4 to more platforms.
Support for newer libxml2 versions has been improved.
- CI support for v2.12.9, v2.13.8, v2.14.1
Thanks go to @wetneb, @charmitro and @TreyE for contributing.
Added
- cargo build: expose libxml2 version to main build script;
- creating a new
Parsernow initializes viabindings::xmlInitParser, called at most once.
Changes
- cargo build: mark
max_align_tas opaque to fix i386 build failure - cfg: adapt mutability of error pointer depending on libxml version
- change the return type of
xmlGetNodeTypefromu32to the more portablebindings::xmlElementType - change the argument type of
NodeType::from_intfromu32to the more portablebindings::xmlElementType - protect
Schemainitialization to be closer to thread-safe (note that this wrapper is NOT thread-safe in general)
Removed
- The use of
SchemaParserContextandSchemaValidationContextis currently NOT thread safe.
Hence, Theschema_testhas been weakened to run in a single thread (future improvements welcome).
Improved installation and no_ns methods
Thanks go to @wetneb, @anwaralameddin, @rudolphfroger, @jcamiel, @imcsk8 for contributions to this release.
Added
- Node methods:
get_property_no_ns(alias:get_attribute_no_ns),get_properties_ns(alias:get_attributes_ns),has_property_no_ns(alias:has_attribute_no_ns),remove_property_no_ns(alias:remove_attribute_no_ns),get_property_node_ns(alias:get_attribute_node_ns),get_property_node_no_ns(alias:get_attribute_node_no_ns) - Added implementations of
Hash,PartialEqandEqtraits forNamespace
Changed
- Call bindgen at build time on Unix platforms (thanks @wetneb)
Improved error reporting for schema validation
This release contains the improvements from PR #116 , as well as some minor hygiene maintenance.