All Versions
13
Latest Version
Avg Release Cycle
75 days
Latest Release
1442 days ago

Changelog History
Page 1

  • v0.1.11 Changes

    December 02, 2020

    ๐Ÿš€ 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.

  • v0.1.11-beta Changes

    August 18, 2020

    ๐Ÿš€ 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.

  • v0.1.10 Changes

    June 21, 2020

    ๐Ÿš€ 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:

    • ๐Ÿ“œ The parse-url function has been added, designed and implemented by @ecerulm
    • ๐Ÿ“œ A bug in the parsing of escape sequences inside strings was fixed by @biochimia
  • v0.1.9 Changes

    March 05, 2020

    Language changes:

    • ๐Ÿ†• New functions min() and max() added
    • ๐Ÿ†• New function hash-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)
    • ๐Ÿ”ง Made it possible to configure encoding on resolvers

    ๐Ÿ› Bug fixes:

    • ๐Ÿ‘Œ Support leading zeroes in strings passed to number() (issue #112)
    • ๐Ÿ‘Œ Support Cyrillic characters in string literals (issue #115)
    • ๐Ÿ”’ Upgraded to Jackson 2.10.3 (security fixes)
    • ๐Ÿ– Handle null being returned from Java extension functions
    • Avoid NullPointerException when statically wrapped method does not exist
  • v0.1.8 Changes

    June 01, 2019

    ๐Ÿš€ Not so many changes in this version, which is being released because of the bug fix:

    • ๐Ÿ› Bug fix for issue #70: variable optimization issue in for loops
    • ๐Ÿ‘ Allow trailing commas in objects and arrays (thanks to @ecerulm for this change (see #72))
    • โฌ†๏ธ Upgraded to Jackson 2.9.9
  • v0.1.7 Changes

    April 06, 2019

    The following extensions have been made:

    • ๐Ÿ”ง Which values are included in JSON objects is now configurable (by default keys = null are omitted),
    • The replace function was added
    • The trim function was added

    ๐Ÿ›  The following bugs have been fixed:

    • Made JSLT work on JDK 11 by removing javax.* dependency
    • ๐Ÿ›  Fixed a bug with variable references and array slicers
  • v0.1.6 Changes

    January 28, 2019

    Some language improvements:

    • it used to be impossible to declare global variables in modules and then refer to them from functions. This now works.
    • JSLT now forbids object literals that contain the same key twice.
    • JSLT now depends on Jackson 2.9.8.

    One function has been added:

    • mod(a, b) to compute a modulo b. (Thank you to @ecerulm for work on this!)

    โšก๏ธ This version has been optimized in several ways:

    • โšก๏ธ variables that are used only once, or that have constant values, are now optimized away completely
    • operations involving two literals are now performed at compile-time,
    • the internal representation of variables is now much faster, and
    • โšก๏ธ if 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.
  • v0.1.5 Changes

    December 03, 2018

    Functions added:

    ๐Ÿ› Bugs fixed:

    • number(<input>, <fallback>) now handles the input not being a string or a number,
    • issue #41: NullpointerException in object matcher, and
    • issue #9: Make operators left-associative instead of right-associative
  • v0.1.4 Changes

    October 08, 2018

    Language extensions:

    • โž• Added the experimental module, with the group-by macro
    • โž• Added the is-decimal and is-integer functions (PR #27 by @ecerulm)

    API extensions:

    • ๐Ÿ‘Œ Support for named modules

    ๐Ÿ› Bug fixes:

  • v0.1.3 Changes

    August 14, 2018

    ๐Ÿš€ This release sees one language extension, a new function, one optimization, and bug fixes. Huge thanks to @vectro for contributions.

    Language changes:

    • โž• Added if filters in array and object comprehensions
    • The flatten() function was added

    Optimizations:

    • Tiny optimization in object comprehensions

    ๐Ÿ› Bug fixes:

    • Implemented let inside object comprehensions
    • ๐Ÿ›  Fix round-tripping bug in date parsing/formatting (resolved #8), thanks to @vectro
    • ๐Ÿ› Bug fix and improvement to the number() function, thanks to @vectro
    • ๐Ÿ› Bug fix in date parsing/formatting (2 milliseconds off), thanks to @vectro