Skip to content

Releases: jsonata-js/jsonata

1.6.1 Milestone Release

17 Dec 12:16
Compare
Choose a tag to compare
  • New date/time formatting and parsing capability (issue #166)
  • Support for comments in expressions (issue #75)
  • Higher-order extension functions (issue #259)
  • Allow Boolean to be cast to a number (issue #257)
  • New functions
    • $eval - parse/evaluate the contexts of a JSON/JSONata string (issue #134)
    • $formatInteger - format an integer to a string using picture string definition
    • $parseInteger - parse an integer from a string using picture string definition
  • Non-functional enhancements:
    • Split codebase into multiple files; fixed multiple issues with ES5 generated library
    • Multiple conformance tests in a single file
    • Documentation moved to main jsonata repo; generated using docusaurus.io
    • Minimum node.js runtime v6 (dropped support for v4)
  • Numerous bug fixes (#236, #179, #261, #236, #245, #246, #233, #250, #247, #242, #249)

Note v1.6.0 was not released

1.5.4 Maintenance Release

24 May 09:23
Compare
Choose a tag to compare
  • Fully test and fix bugs in async mode (PR #219)
  • Publish Typescript definition file (issue #182)
  • Numeric precision should be 15 decimal digits, not 13 (issue 194)
  • Defining functions for use with $match etc. (issue #213)
  • Fix regression in $substring for negative start position & length (issue #204)
  • Fix for 'sort' syntax error (issue #210)
  • Various code optimizations (issues #184, #205, #164)
  • Add support for node 10.x (PR #228)

1.5.3 Maintenance Release

28 Mar 21:06
Compare
Choose a tag to compare
  • $formatNumber should use zero-digit character for padding (issue #161)
  • Handle undefined inputs in $formatNumber (issue #165)
  • Handle surrogate pairs as single char in string functions (issue #156)
  • Throw error if multiple group-by expressions evaluate to same key (issue #163)

1.5.2 Maintenance Release

16 Feb 10:37
Compare
Choose a tag to compare
  • Enforce consistent syntax error when attempting to use unquoted numeric property names (issue #147)
  • Invalid token on LHS of binding operator is now a syntax error rather than dynamic (runtime) error (issue #148)
  • Fix corruption of predicated function calls within lambda functions (PR 149)

1.5.1 Maintenance Release

05 Feb 10:57
ee0d8b1
Compare
Choose a tag to compare
  • Update $toMillis() to allow more complete range of ISO 8601 compatible dates (issue #140)
  • Fix $append() so that it doesn't mutate the first argument (issue #139)

1.5.0 Milestone Release

22 Jan 13:38
Compare
Choose a tag to compare
  • Restructured the entire test suite to be implementation language agnostic (PR #122)
  • Provide es5 as main entry point, es6 as module entry point (PR #106)
  • Added Typescript definitions to package (PR #114)
  • Changes to how 'singleton sequences' are handled (issue #93)
  • Unary negation of undefined (no match) should return undefined (issue #99)

1.4.1 Maintenance Release

14 Nov 08:32
Compare
Choose a tag to compare
  • Object transformation syntax should work with arrays of objects as well as objects (issue #94)

1.4.0 Milestone Release

08 Nov 10:04
f696f68
Compare
Choose a tag to compare
  • New object transformation syntax ~> |...|...| (issue #70)
  • New functions
    • $formatNumber - formats a decimal number to a string using a picture specification defined in XPath F&O spec (issue #54)
    • $formatBase - converts a number to a string in a specified radix
    • $pad - pads a string to a minimum width with leading or trailing padding characters
    • $toMillis - converts an ISO 8601 formatted date/time string to number of milliseconds since the epoch (issue #55)
    • $fromMillis - converts the number of milliseconds since the epoch to an ISO 8601 formatted date/time string (issue #55)
    • $clone - returns a deep copy of an object - used internally by the object transform syntax; overridable by custom implementation. Do not use directly in expressions. (issue #70)

1.3.3 Maintenance Release

30 Oct 14:05
1d4cb9a
Compare
Choose a tag to compare
  • $lookup() function throws an error when the property has a null value (issue #85)

1.3.2 Maintenance Release

30 Oct 10:18
Compare
Choose a tag to compare
  • Support extension functions that mix sync/async behaviours (issue #77)