@stoplight/json provides useful JavaScript functions for working with JSON, including parsing and safe parsing/stringifying, handling circular references, and converting between JSON paths and JSON pointers. It is useful when you need structured JSON traversal or need to map between source positions and JSON path locations, including line and character information via parseWithPointers.
Project status
- Maintenance status: The repository (stoplightio/json) shows upstream activity with a last push on 2024-12-09, but there are no listed updates after late 2024, so as of 2026-08-13 the source appears quiet and likely in maintenance mode rather than actively evolving.
- Update cadence: In mid to late 2024, updates clustered around v3.21.3 to v3.21.7 (July to September), but after that there is a long gap until the most recent upstream push in December 2024 and no evidence of further updates.
AI summary generated
Recent updates
v3.21.7
Release v3.21.7 is labeled as a bug fix, described in the notes as a revert of changes related to stop-184. The code diff shows a behavioral change in the core decycling logic that is not described in the release notes.
v3.21.6
Release v3.21.6 is described as a build related bug fix. The code diff shows a refactor in src/decycle.ts that adjusts how the decycle helper builds internal paths and how the exported decycle function is declared.
v3.21.5
v3.21.5 contains a small code change in src/decycle.ts under the heading of a performance optimization. The release notes only mention an optimization, but the diff shows a change to how repeated object references are tracked and when $ref entries are emitted.
v3.21.4
Release v3.21.4 is documented only as a build fix. The actual diff shows broader changes, including a test framework switch (Vitest to Jest), dependency version changes, CI configuration changes, and at least one behavior change in the library (decycle).
Breakingv3.21.3
Release v3.21.3 is described as a build-related bug fix. The code diff primarily shows TypeScript annotation cleanup and development dependency changes, with no obvious runtime/API behavior modifications.
v3.21.1
v3.21.1 contains a single documented bug fix related to "dereference" handling circular references for delete objects. The code diff, however, shows broader internal changes including a functional behavior change in pointer/decycling logic and a major test/tooling migration (Jest to Vitest).
v3.21.0
v3.21.0 introduces URI-fragment-aware JSON pointer encoding, adding encodePointerUriFragment and switching pathToPointer to use it. The diff also adds new pointer-related helper exports and updates decoding plumbing, plus it bumps a few transitive dependencies in yarn.lock.
BreakingFeaturesv3.20.3
v3.20.3 contains a targeted bug fix for resolveInlineRef related to pointer classification, specifically ensuring that invalid local pointers are not mistakenly treated as external references. The patch also adjusts reference decoding behavior and adds tests covering encoded and unencoded characters in $ref JSON pointers.
v3.20.2
Release v3.20.2 includes a bug fix to make `bundleTarget` handle root JSON pointer references (`$ref: '#'`) without producing cycles or failing. The code changes also introduce a new internal utility to remap `$ref` values and add test coverage for bundling when the source document contains root references.
v3.20.1
v3.20.1 contains a targeted fix to bundleTarget's handling of local $ref relationships, especially cases involving the bundle root and circular indirect reference graphs. The accompanying test updates add coverage for rewriting $refs that target the bundle root itself and for preserving circular indirect $refs without breaking the bundled structure.