1- # <img src =" https://github.com/CodeShayk/JSONPredicate/blob/master/Images/ninja-icon-16.png " alt =" ninja " style =" width :30px ;" /> JSONPredicate v1.1 .0
1+ # <img src =" https://github.com/CodeShayk/JSONPredicate/blob/master/Images/ninja-icon-16.png " alt =" ninja " style =" width :30px ;" /> JSONPredicate v1.2 .0
22[ ![ NuGet version] ( https://badge.fury.io/nu/JSONPredicate.svg )] ( https://badge.fury.io/nu/JSONPredicate ) [ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://github.com/CodeShayk/JSONPredicate/blob/master/LICENSE.md )
33[ ![ GitHub Release] ( https://img.shields.io/github/v/release/CodeShayk/JSONPredicate?logo=github&sort=semver )] ( https://github.com/CodeShayk/JSONPredicate/releases/latest )
44[ ![ master-build] ( https://github.com/CodeShayk/JSONPredicate/actions/workflows/Master-Build.yml/badge.svg )] ( https://github.com/CodeShayk/JSONPredicate/actions/workflows/Master-Build.yml )
1818- ** Multiple Operators** : ` eq ` (equal), ` in ` (contains), ` not ` (not equal), ` gt ` (greater than), ` gte ` (greater than or equal), ` lt ` (less than), ` lte ` (less than or equal)
1919- ** Logical Operators** : ` and ` , ` or ` with proper precedence handling
2020- ** Array Handling** : Evaluate conditions on ` arrays ` and ` collections ` . Support array ` indexing ` (Available from v1.1.0)
21- - ** String Operations** : ` starts_with ` , ` ends_with ` , ` contains ` (Available from v1.1 .0)
21+ - ** String Operations** : ` starts_with ` , ` ends_with ` , ` contains ` (Available from v1.2 .0)
2222- ** Type Safety** : ` Automatic ` type conversion and validation
2323- ** Complex Expressions** : ` Parentheses ` grouping and ` nested ` operations
2424- ** Lightweight** : ` Minimal ` dependencies, ` fast ` evaluation
@@ -38,7 +38,7 @@ The expression syntax is ([JSONPath] [Comparison Operator] [Value]) [Logical Ope
3838#### ii. Supported Operators
3939- Comparison Operators - ` eq ` , ` in ` , ` gt ` , ` gte ` , ` lt ` , ` lte ` & ` Not `
4040- Logical Operators - ` and ` & ` or `
41- - String Operators - ` starts_with ` , ` ends_with ` , ` contains ` (Available from v1.1 .0)
41+ - String Operators - ` starts_with ` , ` ends_with ` , ` contains ` (Available from v1.2 .0)
4242### Example
4343```
4444var customer = new {
@@ -66,13 +66,13 @@ bool result2 = JSONPredicate.Evaluate("client.address.postcode eq `e113et` and c
6666bool result3 = JSONPredicate.Evaluate("client.tags in [`vip`, `standard`]", customer);
6767bool
6868```
69- #### iv. String operators (Available from v1.1 .0)
69+ #### iv. String operators (Available from v1.2 .0)
7070```
7171bool result4 = JSONPredicate.Evaluate("client.address.postcode starts_with `e11`", customer);
7272bool result5 = JSONPredicate.Evaluate("client.address.postcode ends_with `3et`", customer);
7373bool result6 = JSONPredicate.Evaluate("client.address.postcode contains `13`", customer);
7474```
75- #### v. Deep Array Indexing (Available from v1.1 .0)
75+ #### v. Deep Array Indexing (Available from v1.2 .0)
7676```
7777bool result7 = JSONPredicate.Evaluate("client.tags[1] eq `premium`", customer);
7878```
@@ -86,7 +86,7 @@ This section provides the summary of planned releases with key details about eac
8686| Version | Release Date | Type | Key Improvements | Backward Compatible |
8787| ---------| --------------| ------| ------------------| -------------------|
8888| v1.0.0 | August 2025 | Major | Initial release with core predicate evaluation | N/A |
89- | v1.1 .0 | October 2025 | Minor | Namespace consistency, thread safety, 50%+ performance improvement, array indexing, new operators (` starts_with ` , ` ends_with ` , ` contains ` ) | Yes |
89+ | v1.2 .0 | October 2025 | Minor | Namespace consistency, thread safety, 50%+ performance improvement, array indexing, new operators (` starts_with ` , ` ends_with ` , ` contains ` ), comprehensive unit tests | Yes |
9090| v2.0.0 | TBC | Major | Comprehensive validation, performance benchmarking, thread safety verification, complete documentation | Mostly* |
9191
9292* Note: v2.0.0 marked as "Mostly" backward compatible due to major internal changes that may affect some advanced usage patterns.
0 commit comments