Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SoftCreatR/JSONPath
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: PHP81
Choose a base ref
...
head repository: SoftCreatR/JSONPath
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 60 files changed
  • 1 contributor

Commits on Dec 17, 2025

  1. [Release] 0.11.0

    Signed-off-by: Sascha Greuel <github@1-2.dev>
    SoftCreatR committed Dec 17, 2025
    Configuration menu
    Copy the full SHA
    7eb2365 View commit details
    Browse the repository at this point in the history
  2. Codecov

    Signed-off-by: Sascha Greuel <github@1-2.dev>
    SoftCreatR committed Dec 17, 2025
    Configuration menu
    Copy the full SHA
    af17176 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2025

  1. [Release] 1.0.0

    - Rebuilt the test suite from scratch: removed bulky baseline fixtures and added compact unit/integration coverage for every filter (index, union, query, recursive, slice), lexer edge cases, and JSONPath core helpers. Runs reflection-free and deprecation-free.
    - Achieved and enforced 100% code coverage across AccessHelper, all filters, lexer, tokens, and JSONPath core while keeping phpstan and coding standards clean.
    - Added a lightweight manual query runner with curated examples to exercise selectors quickly without external datasets.
    - Major compatibility push toward the unofficial JSONPath standard: unions support slices/queries/wildcards, trailing commas parse correctly, negative indexes and bracket-escaped keys (quotes, brackets, wildcards, special chars) are honored, filters compare path-to-path and root references, equality/deep-equality/regex/in/nin semantics align with expectations, and null existence/value handling follows RFC behavior.
    - New feature highlights from this cycle:
      - Multi-key unions with and without quotes: `$[name,year]` and `$["name","year"]`.
      - Robust bracket notation for special/escaped keys, including `']'`, `'*'`, `$`, backslashes, and mixed punctuation.
      - Trailing comma support in unions/slices (e.g. `$..books[0,1,2,]`).
      - Negative index handling aligned with spec (short arrays return empty; -1 works where valid).
      - Filter improvements: path-to-path/root comparisons, deep equality across scalars/objects/arrays/null/empties, regex matching, `in`/`nin`/`!in`, tautological expressions, and `?@` existence behavior per RFC.
      - Unions combining slices/queries/wildcards now return complete results (e.g. `$[1:3,4]`, `$[*,1]`).
    
    This fixes #72, fixes #61, fixes #60, fixes #59, fixes #58, fixes #51, fixes #44, fixes #41, fixes #40, fixes #39, fixes #38, fixes #37, fixes #36, fixes #35, fixes #34, fixes #33, fixes #32, fixes #31, fixes #30, fixes #29, fixes #9, closes #3
    
    Signed-off-by: Sascha Greuel <github@1-2.dev>
    SoftCreatR committed Dec 18, 2025
    Configuration menu
    Copy the full SHA
    d6ccedf View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2026

  1. - Aligned the query runner and lexer with the JSONPath comparison sui…

    …te: JSON documents are now decoded as objects to preserve `{}` vs `[]`, unsupported selectors no longer abort the runner, and dot-notation now accepts quoted keys with dots/spaces/leading `@`.
    
    - Hardened filter parsing: boolean-only filters (`?(true|false|null)`), literal short-circuiting (`&& false`, `|| true`), and empty filters now return the expected collections instead of throwing.
    - Slice filters gracefully skip non-countable objects.
    
    Signed-off-by: Sascha Greuel <github@1-2.dev>
    SoftCreatR committed Jan 15, 2026
    Configuration menu
    Copy the full SHA
    23d04a3 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2026

  1. Fixed tokenizer handling for quoted bracket keys containing $ so li…

    …terals like `['[$the.size$]']` remain atomic and do not split into root tokens.
    
    Signed-off-by: Sascha Greuel <github@1-2.dev>
    SoftCreatR committed Jan 23, 2026
    Configuration menu
    Copy the full SHA
    a07f7e4 View commit details
    Browse the repository at this point in the history
Loading