Releases: kshetline/json-z
Releases · kshetline/json-z
v6.0.0
- Added
maxIndent
,noIndent
, andpropertyFilter
stringification options. - Added
context
callback parameter for both replacers and revivers withcontext.holder
andcontext.stack
values. - 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.EXCISE
return 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
minimist
dependency. (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-decimal
package 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.