PackageTrack
Sign in Get early access

galbar/jsonpath

JSONPath implementation for querying and updating JSON objects

1.3.1 7.5M downloads/mo #1500 most downloaded on Packagist Galbar/JsonPath-PHP

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Release timing varies

gaps range from 3 weeks to 2.7 years

Most releases are documented

notes for 12 of 16 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

16 releases · first in 2015

0 releases in the last 12 months

see the full history below

Release timeline

16 releases · Sep 2015 to Mar 2023
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 16
  1. 1.3.1 19 Aug 2021
    Release notes
    • revert .length behavior to avoid breaking changes in same major version
    Open source →
    Release notes
    • Revert .length behavior to avoid breaking changes in same major version
    Open source →
  2. 0.7.3 02 Dec 2016
    Release notes

    Merge pull request #4 from Skyscanner/length_re_wrong

    Bug fix in `.length` regex. Minor code cleanup.

    Open source →
    Release notes
    • Bug fix in .length regex.
    • Minor code cleanup.
    Open source →
  3. 0.7.2 28 Nov 2016
    Release notes
    • Documentation now properly defines what a variable name is.
    • Dependencies are now properly defined for older PHP versions.
    Open source →
  4. 0.7.1 20 Oct 2015
    Release notes
    • Bug fix when accessing an array with a negative index. It now behaves as expected.
    Open source →
  5. 0.7.0 21 Sep 2015

    Nothing published for this version

  6. 0.6.0 17 Sep 2015

    Nothing published for this version

  7. 0.5.1 16 Sep 2015

    Nothing published for this version

  8. 0.5.0 16 Sep 2015

    Nothing published for this version

  9. 3.0 05 Mar 2023
    Release notes

    Breaking changes:

    • The recursive operation now works slightly different (see 5ac1783)
    • Queries with no matches will now return empty arrays, instead of false. The only exception being when using smart get and a non-divergent path, where false will still be returned.

    New features:

    • Support for child selector operation immediatly after recursive operation: $..[?(@.author == "Nigel Rees")]
    • In|Not In Array Operation (#65 by @lucasangi)
    • Added formal support for variable names starting with numbers in the dot-notation: $.2
    Open source →
    Release notes

    Breaking changes:

    • The recursive operation now works slightly different (see https://github.com/Galbar/JsonPath-PHP/commit/5ac1783ed447063357f472a080d56dbdfe5b4ee8)
    • Queries with no matches will now return empty arrays, instead of false. The only exception being when using smart get and a non-divergent path, where false will still be returned.

    New features:

    • Support for child selector operation immediatly after recursive operation: $..[?(@.author == "Nigel Rees")]
    • In|Not In Array Operation (https://github.com/Galbar/JsonPath-PHP/pull/65 by @lucasangi)
    • Added formal support for variable names starting with numbers in the dot-notation: $.2
    Open source →
  10. 2.1 18 Aug 2022
    Release notes
    • Allow filter keys with a regex match
      (#59)
    • Allow PCRE i and x modifiers in regex expressions
      (#59)
    • Fix bug causing a DivisionByZeroError when using negative indexes to access
      an empty array (#60)
    Open source →
    Release notes
    • Allow filter keys with a regex match (https://github.com/Galbar/JsonPath-PHP/pull/59)
    • Allow PCRE i and x modifiers in regex expressions (https://github.com/Galbar/JsonPath-PHP/pull/59)
    • Fix bug causing a DivisionByZeroError when using negative indexes to access an empty array (https://github.com/Galbar/JsonPath-PHP/issues/60)
    Open source →
  11. 2.0 19 Aug 2021
    Release notes

    Until now (except for version 1.3, sorry, you should go to 1.3.1 if this affects you) .length operator always behaved in the smartGet manner.

    Starting with this version, .length will behave as any other operator. That is, it will always return an array of results, even if there is just one, unless smartGet is enabled, then it'll work in the same way smartGet works for every other operation: return the result directly, if the path does not diverge, or return an array of results, if the path diverges.

    Also, fix regex so that array interval selector of the type [:3] work.

    Open source →
    Release notes

    Normalize behavior of .length operation

    Until now (except for version 1.3, sorry, you should go to 1.3.1 if this affects you) .length operator always behaved in the smartGet manner.

    Starting with this version, .length will behave as any other operator. That is, it will always return an array of results, even if there is just one, unless smartGet is enabled, then it'll work in the same way smartGet works for every other operation: return the result directly, if the path does not diverge, or return an array of results, if the path diverges.

    Also, fix regex so that array interval selector of the type [:3] work.

    Open source →
  12. 1.3 26 Jul 2021
    Release notes
    • Expose internal language parsing and querying functions as part of the public API
    Open source →
    Release notes
    • Expose internal language parsing and querying functions as part of the public API
    Open source →
  13. 1.2 07 Apr 2021
    Release notes
    • Add ! as synonym of not
    • Add && as synonym of and
    • Add || as synonym of or
    Open source →
    Release notes
    • Add ! as synonym of not
    • Add && as synonym of and
    • Add || as synonym of or
    Open source →
  14. 1.1 01 Jun 2020
    Release notes
    • Drop support for PHP 5.4 and 5.5
    • Add support for PHP 7.2 and 7.3
    • Add utf-8 support (#33)
    • Ability to use .length outside of [] (#28)
    Open source →
    Release notes
    • Drop support for PHP 5.4 and 5.5
    • Add support for PHP 7.2 and 7.3
    • Add utf-8 support (#33)
    • Ability to use .length outside of [] (#28)
    Open source →
  15. 1.0 13 Sep 2017
    Release notes
    • Drop support for PHP 5.3
    • Adding json_encode options bitmask (#7)
    Open source →
    Release notes
    • Drop support for PHP 5.3
    • Adding json_encode options bitmask (#7)
    Open source →
  16. 0.8 07 Aug 2017
    Release notes
    • Allows minus character within property name (by jaimelopez)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive