# What changed in lossless-json

> 23 changes in lossless-json 2 from its official release notes, upgrade guides and advisories: 5 breaking, 16 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/npm/lossless-json/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## lossless-json 2

### Breaking changes

- Support for circular references has been dropped; circular data structures should be prevented. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- The constructor now accepts only a string; use toLosslessNumber to safely convert a number. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- The undocumented .type property was dropped; use .isLosslessNumber instead. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- Official support for Node.js 12 has been dropped. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- parse now throws an error when it encounters a duplicate key. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)

### New APIs and options

- Built-in support for bigint was added. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- Built-in Date support was added and is turned off by default; see reviveDate. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- The library now exports ES modules, allowing developers to import only the functions they need instead of pulling in the full bundle. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- getUnsafeNumberReason was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- isInteger was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- isLosslessNumber was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- isNumber was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- isSafeNumber was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- A new option makes serialization of numeric values customizable, supporting integration with BigNumber libraries or custom conversion logic. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- parseLosslessNumber was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- A new option makes serialization of numeric values customizable, supporting integration with BigNumber libraries or custom conversion logic. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- parseNumberAndBigInt was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- The release adds reviveDate for built-in Date support, which is turned off by default. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- toLosslessNumber was added as an exported utility function for safely converting a number into a LosslessNumber. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- toSafeNumberOrThrow was added as an exported utility function. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
- The library now exports a UMD bundle. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)

### Performance

- Performance of both parse and stringify has been improved. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)

### Tooling

- The library now comes with TypeScript definitions. (2.0.0) — [release notes](https://github.com/josdejong/lossless-json/blob/HEAD/CHANGELOG.md)
