- Change: Lower Android
minSdkfrom 30 to 21
- Add: structural equality check for
NormalizedJsonPathandNormalizedJsonPathSegment
- Fix: Validates whether the whole string has been consumed
- BREAKING CHANGES:
- Removed template type from
JsonPathFunctionExtension JsonPathQueryis no longer an interface
- Removed template type from
- DEPRECATIONS
- Moved dependency management from
JsonPathDependencyManagertoJsonPath.Companion - Renamed
JsonPathFunctionExtension.evaluatetoJsonPathFunctionExtension.invoke
- Moved dependency management from
- Change:
JsonPathQuerynow exposes the compiled selectors - Add:
JsonPathQuery.isSingularQuery - Add:
NormalizedJsonPath.plusfor simplified api - Add:
NormalizedJsonPath.toShorthandNameSegmentNotationfor shorthand representation of name segments - Add:
NormalizedJsonPathSegment.NameSegment.toShorthandNotationfor shorthand representation
- Introduce dedicated Android artefact targeting JDK 1.8
- Kotlin 2.1.0
- ANTLR 1.0.0 Stable
- Kotest Snapshot to get iOS tests working again
- Rename token and expression names to avoid collisions with keywords
- Kotlin 2.0.20 (binary-incompatible change, makes iOS Tests fail too)
- Serialization 1.7.2
- Antlr-Kotlin 1.0.0-RC5
- add tests
- auto-generate Kotlin sources from Antlr-files on every Gradle invocation
- Rebranding to JsonPath4K
- change Maven coordinates to
at.asitplus:jsonpath4k - publish relocation POM for Version 2.0.0
- change Maven coordinates to
- Dependency Updates
- Update to Kotlin 2.0.0
- Update to Kotest 5.9.1
- Update to kotlinx-serialization 1.7.1
- Gradle 8.9
- Antlr-Kotlin 1.0.0-RC4
- Add: Serialization for
NormalizedJsonPathSegment,NormalizedJsonPathandNodeListEntry
- BREAKING CHANGE to
JsonPathFunctionExtension: breaks specification syntax for function extensions, but provides simpler definition syntax.- The function extensions no longer hold a name. A name must only be provided when adding a function extension to a repository
- The function extension classes are no longer inheritable. Instances must be created from constructors.
- BREAKING CHANGE to
JsonPathFunctionExtensionRepository:- Changed
addExtension:- Takes an additional parameter for the function extension name
- The function extension is now constructed only when necessary, which has been changed mostly because the definition syntax now feels cleaner.
- Changed
- BREAKING CHANGE to
JsonPathCompiler:- Changed
compile: Takes the function extension retriever as second argument now
- Changed
- Add
JsonPath: JsonPath compiler and query functionality - Add
JsonPathDependencyManager: Dependency manager for the library - Add
JsonPathFunctionExtensionRepository: Give users a way to add custom function extensions