GeezerVison is showing github.com — JSONPath/CHANGES.md at master · Satrofu/JSONPath
122 lines (100 loc) · 5.35 KB File metadata and controls122 lines (100 loc) · 5.35 KB Copy raw file Download raw file OutlineEdit and raw actions
0.16.0 (January 14, 2017)
- Breaking change: Give preference to treating special chars in a property
as special (override with backtick operator)
- Breaking feature: Add custom ` operator to allow unambiguous literal
sequences (if an initial backtick is needed, an additional one must
now be added)
- Fix:
toPathArray caching bug
- Improvements: Performance optimizations
- Dev testing: Rename test file
- Fix: Fixing support for sandbox in the case of functions
- Feature: Use
this if present for global export
- Docs: Clarify function signature
- Docs: Update testing section
- Dev testing: Add in missing test for browser testing
- Dev testing: Add remark linting to testing process (#70)
- Dev testing: Lint JS test support files
- Dev testing: Split out tests into
eslint, remark, lint, nodeunit
- Dev testing: Remove need for nodeunit build step
- Dev testing: Simplify nodeunit usage and make available
as
npm run browser-test
- Feature: Add
@scalar() type operator (in JavaScript mode, will also
include)
- Fix: Avoid double-encoding path in results
- Breaking change (from version 0.11): Silently strip
~ and ^ operators
and type operators such as @string() in JSONPath.toPathString() calls.
- Breaking change: Remove
Array.isArray polyfill as no longer
supporting IE <= 8
- Feature: Allow omission of options first argument to
JSONPath
- Feature: Add
JSONPath.toPointer() and "pointer" resultType option.
- Fix: Correctly support
callback and otherTypeCallback as numbered
arguments to JSONPath.
- Fix: Enhance Node checking to avoid issue reported with angular-mock
- Fix: Allow for
@ or other special characters in at-sign-prefixed
property names (by use of [?(@['...'])] or [(@['...'])]).
0.12.0 (Dec 12, 2015 10:39pm)
- Breaking change: Problems with upper-case letters in npm is causing
us to rename the package, so have renamed package to "jsonpath-plus"
(there are already package with lower-case "jsonpath" or "json-path").
The new name also reflects that there have been changes to the
original spec.
0.11.2 (Dec 12, 2015 10:36pm)
- Docs: Actually add the warning in the README that problems in npm
with upper-case letters is causing us to rename to "jsonpath-plus"
(next version will actually apply the change).
0.11.1 (Dec 12, 2015 10:11pm)
- Docs: Give warning in README that problems in npm with upper-case letters
is causing us to rename to "jsonpath-plus" (next version will actually
apply the change).
- Breaking change: For unwrapped results, return
undefined instead
of false upon failure to find path (to allow distinguishing of
undefined--a non-allowed JSON value--from the valid JSON values,
null or false) and return the exact value upon falsy single
results (in order to allow return of null)
- Deprecated: Use of
jsonPath.eval(); use new class-based API instead
- Feature: AMD export
- Feature: By using
self instead of window export, allow JSONPath
to be trivially imported into web workers, without breaking
compatibility in normal scenarios. See MDN on self
- Feature: Offer new class-based API and object-based arguments (with
option to run new queries via
evaluate() method without resupplying config)
- Feature: Allow new
preventEval=true and autostart=false option
- Feature: Allow new callback option to allow a callback function to execute as
each final result node is obtained
- Feature: Allow type operators: JavaScript types (
@boolean(), @number(),
@string()), other fundamental JavaScript types (@null(), @object(),
@array()), the JSONSchema-added type, @integer(), and the following
non-JSON types that can nevertheless be used with JSONPath when querying
non-JSON JavaScript objects (@undefined(), @function(), @nonFinite()).
Finally, @other() is made available in conjunction with a new callback
option, otherTypeCallback, can be used to allow user-defined type
detection (at least until JSON Schema awareness may be provided).
- Feature: Support "parent" and "parentProperty" for resultType along with
"all" (which also includes "path" and "value" together)
- Feature: Support custom
@parent, @parentProperty, @property (in
addition to custom property @path) inside evaluations
- Feature: Support a custom operator (
~) to allow grabbing of property names
- Feature: Support
$ for retrieval of root, and document this as well as
$.. behavior
- Feature: Expose cache on
JSONPath.cache for those who wish to preserve and
reuse it
- Feature: Expose class methods
toPathString for converting a path as array
into a (normalized) path as string and toPathArray for the reverse (though
accepting unnormalized strings as well as normalized)
- Fix: Allow
^ as property name
- Fix: Support
. within properties
- Fix:
@path in index/property evaluations
- Feature: Support for parent selection via
^
- Feature: Access current path via
@path in test statements
- Feature: Allowing for multi-statement evals
- Improvements: Performance
- Feature: Support a sandbox arg to eval
- Improvements: Use
vm.runInNewContext in place of eval
|