JSON query and transformation language
Issue #160 was fixed in this release, solving a relatively serious bug, so upgrading is recommended.
The Jackson dependencies were also upgraded, to avoid versions with known vulnerabilities.
This version was released to fix a threading issue in the sha256-hex
function (issue #261).
In addition, it also removes usage of some deprecated Jackson APIs.
There are no other changes.
This release adds the uuid()
built-in function, and a couple of minor improvements. Parsing of decimal numbers in the number()
function has been improved to handle larger decimals. Also, syntax errors in regular expressions are now detected at compile time when possible.
Thanks to @fuchsst for the design and implementation of the uuid()
function!
This release fixes a serious bug in the number()
function that
returned wrong results when converting strings into negative decimal
numbers (issue #160).
Other than that, what is new in this release compared to 0.1.10 is what was added in the 0.1.11-beta:
When creating objects for output the key can now be computed with a JSLT expression.
Three functions have been added:
zip-with-index
zip
index-of
And, finally, the JSLT implementation has been made fully thread-safe by making the regular expression cache thread-safe.
This beta release adds one language extension, three functions, and fixes one bug.
When creating objects for output the key can now be computed with a JSLT expression.
Three functions have been added:
zip-with-index
zip
index-of
And, finally, the JSLT implementation has been made fully thread-safe by making the regular expression cache thread-safe.
The main change in this release is the new pipe operator |
, which allows you to set the context node explicitly. The most obvious use case for it is to select a source JSON object to do object matching, but it can be used for many other things, too. Many thanks to @ecerulm for contributing the implementation!
Other changes:
parse-url
function has been added, designed and implemented by @ecerulmLanguage changes:
min()
and max()
addedhash-int
added (thanks to @ecerulm)null
+ object now produces the object (not null
)null
+ array now produces the array (not null
)API changes:
FileSystemResourceResolver
added (thanks to @ngsoftwaredev)Bug fixes:
number()
(issue #112)null
being returned from Java extension functionsNullPointerException
when statically wrapped method does not existNot so many changes in this version, which is being released because of the bug fix:
The following extensions have been made:
null
are omitted),replace
function was addedtrim
function was addedThe following bugs have been fixed:
Some language improvements:
One function has been added:
This version has been optimized in several ways:
b
in contains(a, b)
is a large array literal, the optimizer now replaces this with a hashset lookup, instead of doing a linear search.