Releases: FontoXML/fontoxpath
Releases · FontoXML/fontoxpath
3.21.0
New functionality
- The
fn:replace
function is now available! Thanks a lot to @rrthomas! This is currently using JavaScript regular expressions, but we pass the vast majority of the QT3 tests! - The
fn:error
function is now available! Again, thanks a lot to @rrthomas!
Fixed issues
- Nodes inserted by XQUF are now always properly cloned excluding its ancestry.
3.20.3
Fixed issues
Fixed attribute name tests without a prefix in code gen that were behaving like they were matching elements
3.20.0
New functionality
- String literals and simple comparisons are now supported in the code generation flow. This supported queries run up to six times as fast. See the (experimental, beta) API at src/jsCodegen/compileXPathToJavaScript.ts
Other improvements
- Typos in documentation and comments are fixed. Thanks @rrthomas for the help!
- The Fuzzer now also supports the JavaScript Code Generation API and has been improved a lot.
3.19.0
New functionality
- Variables in modules are now exposed to other modules that depend on them. This fixes #381.
- Annotate ASTs with types of sub expressions. This can improve performance in some cases!
- Properly export some enumerations from the esm bundle
Fixed bugs
- Regexp errors have the correct error code
- Errors that refer to types are stringified correctly again. This was introduced in 3.18.0.
Other improvements
- Move away from using PEG JS as our parser generator to Peggy, which is a fork that is better maintained.
3.18.1
Fixed issues
The d.ts file generated by the TypeScript compiler no longer includes an odd dynamic import
3.18.0
New Features
Generate JavaScript code for your XPaths!!!!
🎉 All credits go to @jarivm, who is graduating his bachelor IT in a few weeks and will start at @FontoXML/fonto this fall! 🎉
Check the README and the API documentation on compileXPathToJavaScript
and executeJavaScriptCompiledXPath
for more information on how to use this.
Fixed bugs
- Better handling of error cases where path expressions and axis steps are use illegally
Other improvements
- Turn off implicit any in the codebase. Will prevent a lot of bugs.
3.17.4
Improvements
- Significantly improve performance by removing many string comparisons when doing typechecks. Thanks @HectorPeeters @maanpalle @mtesseracttech @FBroy and @yuanzexiong!
- Inline the generated XPath parser, remove uglifyJS and the odd
new Function
we had somewhere
3.17.3
Fixed issues
- Restore compatibility with some Symbol polyfills that are required to make FontoXPath work in old browsers. Thanks @ymor!
- Fix Array lookups being compiled wrong in some cases
- Improve error readability when returning arrays and maps that can not be nicely expressed in JSON
- Fix documentation example of parseScript
Other changes
- Remove asyncness from FontoXPath. It was a feature no one uses but it only increased mental overhead and bundle size.
3.17.2
Fixed issue
Preserve the JS call stack for errors thrown in a custom XPath function.
3.17.1
Fixed issue
Improved error messages of fontoxpath:evaluate
to also contain the actual failing query.