rsonpath-syntax 0.4.1

A JSONPath parser.
Documentation
# Changelog

All notable changes to this project will be documented in this file.

## [0.4.1] - 2026-02-16

### Features

- Removed the `arbitrary` feature and the `Arbitrary` implementations.

### Bug Fixes

- Error messages blowing up on long inputs. ([#842]https://github.com/V0ldek/rsonpath/issues/842, [#749]https://github.com/V0ldek/rsonpath/issues/749)
  - Previously, when displaying a ParseError every underlying
    SyntaxError would be printed with the full query input as context.
    If the density of errors in the input was high this would effectively
    cause a quadratic blowup during printing.
  - It's probably unlikely inputs like this would be given by a user,
    but they do happen during fuzzing (when we're throwing long strings
    of essentially random characters at the parser) and could potentially
    be used as a DoS attack vector (intentionally supplying nonsensical
    large queries and forcing error messages to be sent back).
  - Additionally fixed an invalid error message given when a side of
    a comparison operator was a non-singular query.

### Reliability

- The structural fuzzer now correctly runs on a nightly basis. ([#749]https://github.com/V0ldek/rsonpath/issues/749)

### Dependencies

- Update `nom` from 7.1.3 to 8.0.0
- Update `owo-colors` from 4.1.0 to 4.2.3
- Update `serde` from 1.0.217 to 1.0.228
- Update `thiserror` from 2.0.9 to 2.0.18
- Update `unicode-width` from 0.2.0 to 0.2.2
- Remove `arbitrary` from dependencies

## [0.4.0] - 2024-12-31

### Features

- Serde support for `JsonPathQuery` and all the constutent types.
  - Implemented `serde::Serialize` and `serde::Deserialize` for
    `JsonPathQuery` and all its substructures, including `JsonString`
    and the numeric types. The `serde` dependency is guarded behind the optional `serde` feature.
  - Also added snapshot tests for serialization based on `insta`.

### Dependencies

- `serde` (1.0.217) is now an optional dependency

## [0.3.2] - 2024-12-22

### Dependencies

- Bump arbitrary from 1.3.1 to 1.3.2
- Bump owo-colors from 4.0.0 to 4.1.0
- Bump thiserror from 1.0.57 to 2.0.9 (#617). ([#617]https://github.com/V0ldek/rsonpath/issues/617)
- Bump unicode-width from 0.1.11 to 0.2.0

## [0.3.1] - 2024-03-28

### Features

- Added the [`Step::is_forward`]https://docs.rs/rsonpath-syntax/0.3.1/rsonpath_syntax/enum.Step.html#method.is_forward and [`Step::is_backward`]https://docs.rs/rsonpath-syntax/0.3.1/rsonpath_syntax/enum.Step.html#method.is_backward methods.
- Added `From<JsonUInt> for i64`.

## [0.3.0] - 2024-02-29

### Features

- [**breaking**] Parsing `Filter` selectors.
  - Added the `Selector::Filter` variant and related parsing.

### Dependencies

- Bump thiserror from 1.0.56 to 1.0.57

## [0.2.0] - 2024-01-15

### Features

- [**breaking**] Parsing `Slice` selectors.
  - Added the `Selector::Slice` variant and related parsing.

### Bug Fixes

- U+001A-U+001F in name selectors.
  - Characters U+001A through U+001F were erroneously accepted unescaped.
    This is now a hard error.

### Reliability

- Added jsonpath cts.
  - Parser is now tested with the official
[JSONPath Compliance Test Suite]https://github.com/jsonpath-standard/jsonpath-compliance-test-suite

## [0.1.0] - 2024-01-10

### Features

- Parsing of name, index, and wildcard selectors.
- Robust error handling, messages, and suggestions.