Releases: mikhail-barg/jsonata.net.native
v3.0.0
This is a new major release of Jsonata.Net.Native that boasts (alsmost) 100% compatibility with the reference JSONata-JS. For the first time all the languiage features are supported, including binding operators (@ and #), tail recursion optimizations, etc.
- Check this note for a list of C#-specific incompatibilities.
This release introduces some breaking changes from v2 branch, most fo those in the DOM handling. So please pay attention when updating.
v2.12.0
What's new:
- supporting JToken.FromObject for DateTime/DateTimeOffset/TimeSpan (thanks to @davidvanelk)
v3.0.0-pre2
This is the first (pre-)release of new v3 version of Jsonata.Net.Native.
This version is aimed to be maximally compilant with original jsonata-js, in terms of language features. Currenly 1365 out of 1655 tests in jsonata test suite are passing and remainig 290 are acknowledged as acceptable differences (eg. we still use C# formatting strings, etc.). So all the language features, operators, etc are implemented! This is a highest compartibility level for Jsonata.Net.Native up to date!
Please note that v3 branch is not expected to be 100% backwards compartible with v2. While I was hoping to not make unnecessary changes, keeping 100% compartibility was not the main goal here, so some things has been changed.
This release is an early version preview of v3 branch, so tehre are some known issues:
- query introspection api is not working (will be restored later, but with different classes — also a breaking change)
- classes and namespaces names are not final, (but this is mostly applicable to internals, not affercting users)
v2.11.0
v2.10.0
What's new:
- Improved
JsonataExtensions.ToSystemTextJsonNode— now it is able to create a JsonNode for anundefinedtoken instead of throwing exeption. See discussion here. The node itself is not very useful, but at least it could be checked for it's kind like this. - Exposed
Eval.BuiltinFunctionsclass to provide for re-using standard functions when implementing custom ones. See #39 - Exposed
Eval.FunctionTokenandEval.EvalProcessor.InvokeFunction()to provide for custom functions accepting other functions as arguments. - Improved JsonataExerciser app: added ability to process output json with Json.Net or System.Text.Json conversion (actually results should be the same, but it seems to be handy):
v2.9.0
What's new:
- improved behaviour of
toMillis()function:- better defaults when no
picturestring is provided. UsingTryParseinstead ofTryParseExactallowed for parsing date-time strings that are not strictly match ISO format (like missing time parts, etc). See #30 - supports propagating
undefined
- better defaults when no
- improved behaviour of
fromMillisfunction:- displaying
Zas timezone for UTC (instead of +00:00)
- displaying
Please note that these changes are breaking (strictly speaking), but are directed towards better conforming to original JSONata-js specification.
v2.8.1
What's new:
- added synchroneous version of Json validation (see
JToken.Validate())
v2.8.0
What's new:
- Added asynchroneous JSON parsing API (see
JToken.ParseAsync()) - Added ability to vaildate JSON without actually creating JToken DOM objects in memory (see
JToken.VaildateAsync())
Breaking Changes:
- Switched from
net6.0tonet8.0as a minimal .net version (net47andnetstandard2.0are still supported)
v2.7.0
Added Query DOM API. See here: https://github.com/mikhail-barg/jsonata.net.native?tab=readme-ov-file#query-dom-introspection-and-query-creation-via-dom
v2.6.1
- Fix for serialization of keys with quotes
