v1.0.1
A performance + robustness release. No public API changes.
Performance
- Node-set predicates (a location path, filter, or union — e.g.
self::input | self::textarea | self::select) are now evaluated by
existence: their truth is decided by short-circuit without materializing a
node-set. Aself::a | self::b | self::cpredicate collapses to an OR of
per-arm name tests on the context node. The union-in-predicate query is ~2×
faster and the field-by-label query ~1.5×; scaling stays linear.
Correctness
- A malformed union predicate with a non-node-set arm (e.g.
a | count(b))
again raises the XPath type error it should, instead of being silently coerced
to a boolean by the existence optimization.
Maintenance
- Add Dependabot for the GitHub Actions workflows; bump
actions/setup-nodeand
actions/checkoutto v6.
Full Changelog: v1.0.0...v1.0.1