PackageTrack
Sign in Get early access

mtdowling/jmespath.php

Declaratively specify how to extract elements from a JSON document

2.9.2 526M downloads/mo #111 most downloaded on composer jmespath/jmespath.php

What this package is like to depend on

Last release 1 months ago

06 Jul 2026

Release timing varies

gaps range from 4 weeks to 3.1 years

Most releases are documented

notes for 15 of 20 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

20 releases · first in 2014

3 releases in the last 12 months

see the full history below

Release timeline

20 releases · Feb 2014 to Jul 2026
2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 20
  1. 2.9.2 06 Jul 2026
    Release notes
    • Pass explicit trim characters ahead of the PHP 8.6 trim default change.
    Open source →
    Release notes
    • Pass explicit trim characters ahead of the PHP 8.6 trim default change.
    Open source →
  2. 2.9.1 11 Jun 2026
    Release notes
    • Fixed the compiled runtime to emit function names as string literals, preventing arbitrary code execution.
    • Fixed the parser to reject non-identifier function callees, such as literal and raw string callees.
    Open source →
    Release notes
    • Fixed the compiled runtime to emit function names as string literals, preventing arbitrary code execution.
    • Fixed the parser to reject non-identifier function callees, such as literal and raw string callees.
    Open source →
  3. 2.9.0 10 Jun 2026
    Release notes
    • Added PHP 8.5 support.
    • Fixed to_number() to parse number strings using the JSON number grammar.
    • Fixed reverse() and string slicing to operate on UTF-8 characters rather than bytes.
    • Fixed slicing of array-like (ArrayAccess + Countable) values.
    • Fixed equality and contains() to use JSON semantics, e.g. 1 == 1.0 is now true.
    • Fixed multi-select hashes to end projections, so following tokens apply to the projected list.
    • Fixed sort() and sort_by() to compare numbers numerically.
    • Changed sort(), sort_by(), max(), min(), max_by() and min_by() to order strings by code point.
    • Fixed max_by() and min_by() to error on mixed-type keys instead of returning arbitrary elements.
    • Fixed max() returning null or erroring when the first array element is falsy, e.g. max([0, 1]).
    • Fixed sum() and join() to return 0 and an empty string respectively for empty arrays.
    • Fixed 0.0 to be truthy in filters and logical operators, like every other number.
    • Fixed the compiled runtime to apply JMESPath truthiness to || and &&.
    • Fixed @(foo), foo[-] and oversized index literals to throw syntax errors.
    • Fixed PHP warnings emitted while parsing certain invalid expressions.
    • Fixed the caret position in syntax error messages for errors at the end of an expression.
    • Fixed map() to error on non-array second arguments instead of returning [].
    • Fixed Env::cleanCompileDir() when JP_PHP_COMPILE=on.
    Open source →
    Release notes
    • Added PHP 8.5 support.
    • Fixed to_number() to parse number strings using the JSON number grammar.
    • Fixed reverse() and string slicing to operate on UTF-8 characters rather than bytes.
    • Fixed slicing of array-like (ArrayAccess + Countable) values.
    • Fixed equality and contains() to use JSON semantics, e.g. 1 == 1.0 is now true.
    • Fixed multi-select hashes to end projections, so following tokens apply to the projected list.
    • Fixed sort() and sort_by() to compare numbers numerically.
    • Changed sort(), sort_by(), max(), min(), max_by() and min_by() to order strings by code point.
    • Fixed max_by() and min_by() to error on mixed-type keys instead of returning arbitrary elements.
    • Fixed max() returning null or erroring when the first array element is falsy, e.g. max([0, 1]).
    • Fixed sum() and join() to return 0 and an empty string respectively for empty arrays.
    • Fixed 0.0 to be truthy in filters and logical operators, like every other number.
    • Fixed the compiled runtime to apply JMESPath truthiness to || and &&.
    • Fixed @(foo), foo[-] and oversized index literals to throw syntax errors.
    • Fixed PHP warnings emitted while parsing certain invalid expressions.
    • Fixed the caret position in syntax error messages for errors at the end of an expression.
    • Fixed map() to error on non-array second arguments instead of returning [].
    • Fixed Env::cleanCompileDir() when JP_PHP_COMPILE=on.
    Open source →
  4. 2.8.0 04 Sep 2024
    Release notes
    • Add support for PHP 8.4.
    Open source →
    Release notes
    • Add support for PHP 8.4.
    Open source →
  5. 2.7.0 25 Aug 2023
    Release notes
    • Fixed flattening in arrays starting with null.
    • Drop support for HHVM and PHP earlier than 7.2.5.
    • Add support for PHP 8.1, 8.2, and 8.3.
    Open source →
    Release notes
    • Fixed flattening in arrays starting with null.
    • Drop support for HHVM and PHP earlier than 7.2.5.
    • Add support for PHP 8.1, 8.2, and 8.3.
    Open source →
  6. 2.6.1 14 Jun 2021
    Release notes
    • Fixed edge case crash on PHP 8.0.
    Open source →
  7. 2.6.0 31 Jul 2020
    Release notes
    • Support for PHP 8.0.
    Open source →
    Release notes
    • Support for PHP 8.0.
    Open source →
  8. 2.5.0 30 Dec 2019
    Release notes
    • Full support for PHP 7.0-7.4.
    • Fixed autoloading when run from within vendor folder.
    • Full multibyte (UTF-8) string support.
    Open source →
    Release notes
    • Full support for PHP 7.0-7.4.
    • Fixed autoloading when run from within vendor folder.
    • Full multibyte (UTF-8) string support.
    Open source →
  9. 2.4.0 03 Dec 2016
    Release notes
    • Added support for floats when interpreting data.
    • Added a function_exists check to work around redeclaration issues.
    Open source →
    Release notes
    • Added support for floats when interpreting data.
    • Added a function_exists check to work around redeclaration issues.
    Open source →
  10. 2.3.0 05 Jan 2016
    Release notes
    • Added support for JEP-9,
      including unary filter expressions, and && filter expressions.
    • Fixed various parsing issues, including not removing escaped single quotes
      from raw string literals.
    • Added support for the map function.
    • Fixed several issues with code generation.
    Open source →
    Release notes
    • Added support for JEP-9, including unary filter expressions, and && filter expressions.
    • Fixed various parsing issues, including not removing escaped single quotes from raw string literals.
    • Added support for the map function.
    • Fixed several issues with code generation.
    Open source →
  11. 2.2.0 27 May 2015
    Release notes
    • Added support for JEP-12 and raw string literals (e.g., 'foo').
    Open source →
  12. 2.1.0 13 Jan 2015
    Release notes
    • Added JmesPath\Env::cleanCompileDir() to delete any previously compiled JMESPath expressions.
    Open source →
  13. 2.0.0 12 Jan 2015
    Release notes
    • Moving to a flattened namespace structure.
    • Runtimes are now only PHP callables.
    • Fixed an error in the way empty JSON literals are parsed so that they now return an empty string to match the Python and JavaScript implementations.
    • Removed functions from runtimes. Instead there is now a function dispatcher class, FnDispatcher, that provides function implementations behind a single dispatch function.
    • Removed ExprNode in lieu of just using a PHP callable with bound variables.
    • Removed debug methods from runtimes and instead into a new Debugger class.
    • Heavily cleaned up function argument validation.
    • Slice syntax is now properly validated (i.e., colons are followed by the appropriate value).
    • Lots of code cleanup and performance improvements.
    • Added a convenient JmesPath\search() function.
    • IMPORTANT: Relocating the project to https://github.com/jmespath/jmespath.php
    Open source →
  14. 1.1.1 08 Oct 2014
    Release notes
    • Added support for using ArrayAccess and Countable as arrays and objects.
    Open source →
  15. 1.1.0 06 Aug 2014
    Release notes
    • Added the ability to search data returned from json_decode() where JSON objects are returned as stdClass objects.
    Open source →
  16. 1.0.0 19 Jun 2014

    Nothing published for this version

  17. 0.4.0 17 Jun 2014

    Nothing published for this version

  18. 0.3.0 17 Jun 2014

    Nothing published for this version

  19. 0.2.0 23 Apr 2014

    Nothing published for this version

  20. 0.1.0 19 Feb 2014

    Nothing published for this version

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