All Versions
10
Latest Version
Avg Release Cycle
153 days
Latest Release
1066 days ago

Changelog History

  • v2.4.0

    July 05, 2017
  • v2.3.0

    June 26, 2017

    🛠 Bugfixes and improvements

  • v2.2.0

    February 29, 2016
    • ⬆️ Upgraded dependency versions
    • 👍 Hamcrest-matcher support in json-path-assert
    • 🐛 Bug fixes and improvements
  • v2.1.0

    November 22, 2015
    • ⬆️ Upgraded dependency versions
    • Introduced Cache SPI
    • Introduced path functions
    • Introduced JsonOrgJsonProvider
    • OSGI improvements
    • 🏗 Inline filters supports same operators as Filter builders
    • 👌 Improved filter evaluation
    • Internal makeovers
    • 🆕 New write operations : map(...) and renameKey(...)
  • v2.0.0

    March 19, 2015
    • ⬆️ Upgraded dependency versions
    • Moved JsonProvider and MappingProvider implementations out of the interal package OSGi
    • ✂ Removed HTTP provider and methods
    • Add an unwrap(Object) method to JsonProvider, use it when extracting values for Criteria evaluation breaks JsonProvider SPI
    • 🛠 Fixed issue #71 - esacpe character in inline predicates JsonPath.read(json, "$.logs[?(@.message == 'it\\'s here')].message");
    • 🆕 New method jsonString() added to ReadContext and WriteContext to extract json model as a string
    • Path does not have to be definite in filter API filter(where("authors[*].lastName").contains("Waugh"))
  • v1.2.0

    November 11, 2014
    • ➕ Added EvaluationListener interface that allows abortion of evaluation if criteria is fulfilled. this makes it possible to limit the number of results to fetch when a document is scanned. Also added utility method to limit results JsonPath.parse(json).limit(1).read("$..title", List.class);
    • ➕ Added support for OR in inline filters [?(@.foo == 'bar' || @.foo == 'baz')]
    • ⬆️ Upgrade json-smart to 2.1.0
    • Support for Update and Delete by path. breaks JsonProvider SPI parse(JSON_DOCUMENT).set("$.store.book[*].display-price", 1) parse(JSON_DOCUMENT).put("$.store.book[1]", "new-key", "new-val") parse(JSON_DOCUMENT).add("$.store.book", newBook) parse(JSON_DOCUMENT).delete("$.store.book[1].display-price")
    • 👌 Support regex in inline filters (ruby syntax) parse(JSON_DOCUMENT).read("$.store.book[?(@.category =~ /reference/)].author") parse(JSON_DOCUMENT).read("$.store.book[?(@.category =~ /REFERENCE/i)].author")
    • Inline filter does not require path statement on left side of operator
      parse(JSON_DOCUMENT).read("$.store.book[?(@.category == 'reference')].author")
      parse(JSON_DOCUMENT).read("$.store.book[?('reference' == @.category)].author")
    • Negate exist checks in inline filters (not defined or null) parse(JSON_DOCUMENT).read("$.store.book[?(!@.isbn)]")
    • 👌 Improved object mapping with Jackson and Gson (now handles generic types)
    • 👍 JacksonJsonNodeJsonProvider supporting path operations on com.fasterxml.jackson.databind.JsonNode
    • Exceptions thrown by JsonPath.compile are now wrapped in an InvalidPathException
    • 🛠 Fixed Deep scanning issue (#60)
  • v1.1.0

    October 01, 2014
    • Reintroduced method JsonProvider.createMap(). This should never have been removed. NOTE: This is a breaking change if you implemented your own JsonProvider based on the 1.0.0 API
    • 👻 Filters threw exception if an item being filtered did not contain the path being filtered upon.
    • Multi-property selects works as it did in 0.9. e.g. $[*]['category', 'price']
    • Cache results when predicates refer to path in document e.g. $[*][?(@.price <= $.max-price)] will only evaluate $.max-price once.
  • v1.0.0

    September 26, 2014
    • Complete rewrite of internals. Major API changes.
    • 👍 Better compliance with the Goessner implementation

    🚀 Release history

    • 0.9.0 (2013-09-26)
    • 0.8.1 (2012-04-16)
    • 0.8.0 (2012-03-08)
    • 0.5.6 (2012-02-09)
    • 0.5.5 (2011-07-15)
    • 0.5.4 (2011-06-26)
    • 0.5.3 (2011-02-18)
    • 0.5.2 (2011-02-08)
  • v0.9.1

    October 24, 2013
  • v0.9.0

    September 27, 2013