Skip to content

Conversation

@NinjaRocks
Copy link
Member

Release Notes - JSONPredicate v1.1.0

Release Date

Octoder 2025

Summary

Combined release addressing critical issues while adding significant new functionality and performance improvements, all while maintaining 100% backward compatibility. This release focuses on stability improvements, new features, and performance optimization without changing existing functionality.

Fixes

  • Fixed namespace inconsistency across library components
  • Implemented thread-safe operator dictionary to prevent race conditions

New Features

  • Array indexing support in JSONPath (e.g., array[0].property)
  • New comparison operators: starts_with, ends_with, and contains

Performance Improvements

  • Direct object navigation replacing JSON serialization for path evaluation
  • Optimized expression parsing without regex
  • 50%+ faster path evaluation
  • Reduced memory allocations

Changes Included

  • T1.1: Fix Namespace Inconsistency
  • T1.2: Implement Thread-Safe Operators Dictionary
  • T2.1: Replace JSON Serialization with Direct Object Navigation
  • T2.2: Optimize Expression Parsing (Remove Regex)
  • T3.1: Add Array Indexing Support
  • T3.2: Add New Comparison Operators

Version Compatibility

  • Binary compatible with v1.0.0
  • Source compatible with v1.0.0
  • All existing code will continue to work without changes

Performance Impact

  • Significant performance improvement (50%+ faster path evaluation)
  • Reduced memory allocations
  • Faster expression parsing
  • Thread safety improvement in multi-threaded scenarios

Upgrade Instructions

  • Simply replace the old library version with this one
  • No code changes required for existing functionality
  • New features are available for use but not required
  • Recommended for all users due to stability and performance improvements

@NinjaRocks NinjaRocks requested a review from Nshai October 12, 2025 12:59
@NinjaRocks NinjaRocks merged commit 183114c into master Oct 12, 2025
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants