All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Minor performance improvements
0.7.4 - 2024-08-03
- CTS updated
- Uppercase "E" was not acceptable in floating point numbers
- A digit before the decimal point was not enforced for floating point numbers
- Integer literal bounds were not enforced
0.7.3 - 2024-08-01
- Updated CTS
- Invalid escape sequences were allowed in child selectors. See jsonpath-standard/jsonpath-compliance-test-suite#87
0.7.2 - 2024-05-30
- New functions:
key()
andindex()
0.7.1 - 2024-03-02
- Bumped the CTS to the latest
0.7.0 - 2023-12-29
- Renamed
Nodes
toNodeList
- Bumped the CTS to the latest version
0.6.6 - 2023-09-23
- Logical expressions should be allowed in function arguments
0.6.5 - 2023-09-11
- Certain numbers were not parsed correctly
0.6.4 - 2023-08-26
- Bump dependencies versions
0.6.3 - 2023-08-26
- Allow whitespaces after
?
in expressions
0.6.2 - 2023-07-21
- Disallow comparison of non-singular queries
0.6.1 - 2023-07-17
- Allow whitespace in between selector segments
0.6.0 - 2023-05-27
- Bump SDK version to 3.0.0
- Disallow whitespace between the function name and the parentheses
- Disallow whitespace between the expression and the brackets
search()
andmatch()
now strictly follow the I-Regexp convention. Expressions not conforming to I-Regexp will yieldfalse
regardless of the value
0.5.3 - 2023-04-29 [YANKED]
search()
andmatch()
now strictly follow the I-Regexp convention. Expressions not conforming to I-Regexp will yieldfalse
regardless of the value
0.5.2 - 2023-04-05
- Improved IRegex support
0.5.1 - 2023-03-28
- Better support for Normalized Paths
0.5.0 - 2023-03-23
- Full support of some built-in functions:
length()
,size()
,search()
,match()
,value()
. - Basic support of custom user-defined functions.
- BC-BREAKING! The package is now following the IETF JSON Path spec which means a lot of internal and BC-breaking changes. Please refer to the tests and examples.
- BC-BREAKING! Support of the callback filters has been dropped. Use custom functions instead.
0.4.4 - 2023-03-18
- Reverted changes from 0.4.3 as they caused dependency issues.
0.4.3 - 2023-03-18
- Deprecation warnings from petitparser.
0.4.2 - 2022-08-03
- Expressions enhancements: float literals, negation, parenthesis.
0.4.1 - 2022-06-14
- Lower case hex support
- Updated CTS to latest
0.4.0 - 2022-03-21
- Dart 2.16
- Dependency bump: petitparser 5.0.0
0.3.1 - 2021-12-18
- Filtering expressions
- Require dart 2.15
0.3.0 - 2021-02-18
JsonPathMatch.context
contains the matching context. It is intended to be used in named filters.JsonPathMatch.parent
contains the parent match.JsonPathMatch.pointer
contains the RFC 6901 JSON Pointer to the match.- Very basic support for evaluated expressions
- Named filters argument renamed from
filter
tofilters
- Named filters can now be passed to the
read()
method. - Named filters callback now accepts the entire
JsonPathMatch
object, not just the value.
- The
set()
method. Use thepointer
property instead.
0.2.0 - 2020-09-07
- Ability to create arrays and set adjacent indices
- List union sorts the keys
- Improved union parsing stability
0.1.2 - 2020-09-06
- When JsonPath.set() is called on a path with non-existing property, the property will be created. Previously, no modification would be made and no errors/exceptions thrown.
- When JsonPath.set() is called on a path with non-existing index, a
RangeError
will be thrown. Previously, no modification would be made and no errors/exceptions thrown.
0.1.1 - 2020-09-05
- Fixed example code in the readme
0.1.0 - 2020-09-05
- JsonPath.set() method to alter the JSON object in a non-destructive way
- BREAKING!
Result
renamed toJsonPathMatch
- BREAKING!
JsonPath.filter()
renamed toread()
0.0.2 - 2020-09-01
- Last element of array would not get selected (regression #1)
0.0.1 - 2020-08-03
- Filters
0.0.0+dev.7 - 2020-08-02
- Tokenized and AST refactoring
0.0.0+dev.6 - 2020-08-01
- Unions
0.0.0+dev.5 - 2020-07-31
- Slice expression
0.0.0+dev.4 - 2020-07-29
- Bracket field notation support
0.0.0+dev.3 - 2020-07-28
- Partial implementation of bracket field notation
0.0.0+dev.2 - 2020-07-28
- Recursive selector
- Wildcard selector
0.0.0+dev.1 - 2020-07-27
- Tokenizer and AST
- All-in-array selector
- Basic design draft