Skip to main content

CHANGELOG.md

# Changelog

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

## 0.4.0 [2026-06-09]
`JSONPath.evaluate/3` has been deprecated. Use the following new functions instead based on the previous value of the `returning` argument:
- `:values` -> `JSONPath.values/2`
- `:paths` -> `JSONPath.paths/2`
- `:values_and_paths` -> `JSONPath.value_paths/2`

Same applies for `JSONPath.evaluate!/3`

## 0.3.0 [2026-06-07]
- feat: Add optional `returning` argument to `JSONPath.evaluate` function, which can be one of the following:
    - `:values` (default) - The node values are returned, same behavior as previous versions
    - `:paths` - Normalized paths are returned instead. See [normalized paths](https://www.rfc-editor.org/info/rfc9535/#name-normalized-paths)
    - `:values_and_paths` - List of two-element tuples with format `{node_value, normalized_path}`

## 0.2.0 [2026-05-29]
- fix: `match` function returning false when a substring is also valid
- feat: Add `JSONPath.build!/1` and `JSONPath.evaluate!/2`
- internal: pre-compile regular expressions in `match` and `search` when a string is provided for better performance

## 0.1.2 [2026-05-26]
- fix: `match` function where regex contains capturing groups

## 0.1.1 [2026-05-24]
- fix: allow for any comparison in filters, including literals on both sides, for example `$[?(1 == 1)]`

## 0.1.0 [2026-05-24]
- Initial working version