Skip to content

Commit 2ad5520

Browse files
committed
Release version 0.10.0 [skip ci]
1 parent e133edf commit 2ad5520

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

CHANGELOG.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Python JSONPath Change Log
22

3-
## Version 0.10.0 (unreleased)
3+
## Version 0.10.0
44

55
**Breaking Changes**
66

7-
- We now enforce JSONPath filter expression "well-typedness" by default. That is, filter expressions are checked at compile time according to the [IETF JSONPath Draft function extension type system](https://datatracker.ietf.org/doc/html/draft-ietf-jsonpath-base-21#section-2.4.1) and rules regarding non-singular query usage. If an expression is deemed to not be well-typed, a `JSONPathTypeError` is raised. This can be disabled in Python JSONPath by setting the `well_typed` argument to `JSONPathEnvironment` to `False`, or using `--no-type-checks` on the command line.
7+
- We now enforce JSONPath filter expression "well-typedness" by default. That is, filter expressions are checked at compile time according to the [IETF JSONPath Draft function extension type system](https://datatracker.ietf.org/doc/html/draft-ietf-jsonpath-base-21#section-2.4.1) and rules regarding non-singular query usage. If an expression is deemed to not be well-typed, a `JSONPathTypeError` is raised. This can be disabled in Python JSONPath by setting the `well_typed` argument to `JSONPathEnvironment` to `False`, or using `--no-type-checks` on the command line. See [#33](https://github.com/jg-rp/python-jsonpath/issues/33).
88
- The JSONPath lexer and parser have been refactored to accommodate [#30](https://github.com/jg-rp/python-jsonpath/issues/30). As a result, the tokens generated by the lexer and the ATS built by the parser have changed significantly. In the unlikely event that anyone is customizing the lexer or parser through subclassing, please [open an issue](https://github.com/jg-rp/python-jsonpath/issues) and I'll provide more details.
99
- Changed the normalized representation of JSONPath string literals to use double quotes instead of single quotes.
1010
- Changed the normalized representation of JSONPath filter expressions to not include parentheses unless the expression includes one or more logical operators.
@@ -13,7 +13,7 @@
1313

1414
**Fixes**
1515

16-
- We no longer silently ignore invalid escape sequences in JSONPath string literals. For example, `$['\"']` used to be OK, it now raises a `JSONPathSyntaxError`.
16+
- We no longer silently ignore invalid escape sequences in JSONPath string literals. For example, `$['\"']` used to be OK, it now raises a `JSONPathSyntaxError`. See [#31](https://github.com/jg-rp/python-jsonpath/issues/31).
1717
- Fixed parsing of JSONPath integer literals that use scientific notation. Previously we raised a `JSONPathSyntaxError` for literals such as `1e2`.
1818
- Fixed parsing of JSONPath comparison and logical expressions as filter function arguments. Previously we raised a `JSONPathSyntaxError` if a comparison or logical expression appeared as a filter function argument. Note that none of the built-in, standard filter functions accept arguments of `LogicalType`.
1919
- Fixed parsing of nested JSONPath filter functions, where a function is used as an argument to another.

docs/syntax.md

+1
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ And this is a list of areas where we deviate from the [IETF JSONPath draft](http
193193
- We don't require property names to be quoted inside a bracketed selection, unless the name contains reserved characters.
194194
- We don't require the recursive descent segment to have a selector. `$..` is equivalent to `$..*`.
195195
- We support explicit comparisons to `undefined` as well as implicit existence tests.
196+
- Float literals without a fractional digit are OK. `1.` is equivalent to `1.0`.
196197

197198
And this is a list of features that are uncommon or unique to Python JSONPath.
198199

jsonpath/__about__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# SPDX-FileCopyrightText: 2023-present James Prior <[email protected]>
22
#
33
# SPDX-License-Identifier: MIT
4-
__version__ = "0.9.0"
4+
__version__ = "0.10.0"

0 commit comments

Comments
 (0)