npm / @apidevtools/json-schema-ref-parser
@apidevtools/json-schema-ref-parser
What changed in @apidevtools/json-schema-ref-parser 15 to 16, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.
4 breaking5 security3 new APIs and options1 tooling19 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@apidevtools/json-schema-ref-parser 168 changes
Breaking changes 1
Node.js versions before 22.19.0 are no longer supported.
Security 2
Pinned HTTP requests are hardened when undici is not available.
Reference handling was hardened.
Fixes and other changes 5
Bounded decompression is restored.
Encoded pointer identity is preserved.
HTTP handling now supports upgrades.
Reference scopes are preserved.
Paths are excluded before references are resolved.
@apidevtools/json-schema-ref-parser 1524 changes
Breaking changes 3
Support for 2020-12 anchors and ref siblings was reverted.
The package now uses ESM output, affecting how applications load it.
URL encoding now uses strict RFC 6901, which may change how references are interpreted.
Security 3
Reference resolution and HTTP safety were hardened, which may affect how references and HTTP requests are handled.
Unsafe pointer set tokens are blocked.
The safe URL resolver is hardened.
New APIs and options 3
The HTTP resolver is now available from the package root exports.
The canRead callback now receives additional parameters, allowing callback implementations to use them.
A new dereference option, mergeKeys, is available.
Tooling 1
Enables npm OIDC trusted publishing with provenance.
Fixes and other changes 14
Decodes %3F back to ? in filesystem paths.
Cyclic reference chains are now handled safely.
Bundling now preserves compound schema refs.
Fixes some edge cases in the parser.
Support for 2020-12 anchors was added.
Support for ref siblings was added.
Ref handling now passes the original ref.
Fixes multiple issues with dereferencing and bundling.
The onCircular callback is now called for all occurrences of circular $refs.
When a timeout is set, resolution now checks whether an abort controller exists.
Node imports were removed to fix the browser bundle.
Replaces win32 usages with custom functions in path handling.
The main property was added back to package.json, restoring the package entry point for consumers.
Stops overriding the port.