Releases: kshetline/json-z
Releases · kshetline/json-z
v6.0.0
- Added
maxIndent,noIndent, andpropertyFilterstringification options. - Added
contextcallback parameter for both replacers and revivers withcontext.holderandcontext.stackvalues. - The above results in a breaking change from 5.x versions of JSON-Z, where the third parameter of a replacer/reviver callback might be expected, depending on context, to be a holder object. This change results in a more consistent callback paradigm.
v5.2.0
- Added
JSON.EXCISEreturn value for replacers and revivers, allowing array items to be conveniently deleted along with their slot in an array. - Smarter array item deletion via replacers and revivers if those functions manipulate parent array sizes.
- Correct line counting with mixed line ending formats (relevant for how the locations of errors are reported).
v5.1.0
- Approximately 3–4 times faster parsing than 5.0.x versions.
- JSON-Z will now honor an object’s
toJSON5()method, if present, at higher priority thantoJSON(), and lower priority thantoJSONZ(). - Updated the allowed CLI arguments to match the latest JSON5 CLI.
v5.0.1
- Eliminated
minimistdependency. (Package is now dependency-free.)
Changes from 5.0.0:
- JSON-Z can now be used as an ESM module. There are no functional changes, but a possible breaking change with how the package is imported:
import JSONZ from 'json-z'; instead of import * as JSONZ from 'json-z';
- Updated grammar documentation.
v5.0.0
v4.2.6
v4.2.0
v4.1.1
v4.1.0
v4.0.1
Changes from v3.2.1:
- Added complete grammar documentation.
- Support for older versions of JavaScript which do not handle BigInt dropped.
- Related API for setting an external BigInt handler removed.
- Fixed-precision decimal numbers are now explicitly IEEE 754 Decimal128 numbers.
- Nomenclature to distinguish between fixed-precision and arbitrary-precision decimals has changed. It's now simply Decimal or BigDecimal rather than FixedBigDecimal or BigDecimal.
- Replaced tap testing with mocha/chai test suite.
- Testing for fixed-precision decimals is now done using
proposal-decimalpackage from ECMA TC39 JavaScript Decimal proposal. - Backtick-quoted strings must escape the
{character when it follows the$to prevent confusion with template literals (`${` ➜ `$\{`).
Changes from v4.0.0:
- Minor documentation tweak.