You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix chained predicates on a filter expression by @dastrobu in #143
Fix following:: axis in predicates by @zhengchun in #146
Fix panic on boolean operands in comparison operator by @zhengchun in #145 (security report, CWE-476)
Round substring() positions with XPath round() by @SashaMIT in #147
Clip substring() to the window after start, not to the whole string by @youdie006 in #138
Return false from matches() when the node-set argument selects nothing by @youdie006 in #141
Convert number/boolean arguments with asString in four string functions by @youdie006 in #144
Keep boolean XPath results out of node selection by @rupayon123 in (#142, fixes #133)
Unicode
Make string-length(), substring() and translate() count characters by @youdie006 in #139
All three index by character per XPath 1.0 §4.2 instead of by byte: string-length("日本語") is now 3, substring("日本語abc", 2, 2) returns "本語", and translate() no longer produces mojibake.
Performance & behavior
Skip Filter flag for non-positional predicates by @thunderkatz in #140
Optimize expression tree building by avoiding Filter node overhead for non-positional predicates during XPath compiling.
Tests
Add unit tests for core node and conversion functions [#137] by @escholtz
Add unit tests for substring function edge cases and non-matching inputs [#136] by @escholtz
Add tests for fractional number literals without leading zero [#135] by @escholtz
Add tests for invalid XPath expressions and function arguments [#134] by @escholtz