unstale

npm / json-schema-typed

json-schema-typed

What changed in json-schema-typed 9, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

6 breaking12 new APIs and options1 behavior and defaults9 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

json-schema-typed 928 changes

Breaking changes 6

  • In 2019-09 and 2020-12, reading schema.contentEncoding yields string instead of the closed RFC 2045 union; draft-07 retains the union.

    9.0.0release notes

  • Deno publishing is retired; Deno users can consume the npm package directly with npm:json-schema-typed.

    9.0.0release notes

  • No longer includes plain string or its method types; the unconstrained JSONSchema still accepts arbitrary strings for type.

    9.0.0release notes

  • In 2020-12, prefixItems must be an array of schemas; a bare schema is no longer accepted.

    9.0.0release notes

  • In-place applicators, contains, and contentSchema no longer inherit the parent schema's type; nested schemas may declare any type.

    9.0.0release notes

  • In 2019-09 and 2020-12, $vocabulary is typed as Record<string, boolean> instead of Record<string, string>, matching the meta-schema.

    9.0.0release notes

New APIs and options 12

  • Adds ContentEncoding.Base16 for 2019-09 and 2020-12.

    9.0.0release notes

  • Adds ContentEncoding.Base32 for 2019-09 and 2020-12.

    9.0.0release notes

  • Adds ContentEncoding.Base32Hex for 2019-09 and 2020-12.

    9.0.0release notes

  • Adds ContentEncoding.Base64URL for 2019-09 and 2020-12.

    9.0.0release notes

  • Adds the canonical import path for the 2019-09 module; the draft-prefixed path remains an alias re-exporting the same module.

    9.0.0release notes

  • Adds the canonical import path for the 2020-12 module; the draft-prefixed path remains an alias re-exporting the same module.

    9.0.0release notes

  • Adds a moving alias for the newest in-progress specification, currently the same module as v1.

    9.0.0release notes

  • Adds the unreleased JSON Schema v1 working specification module, which may change until the specification's first release; the main export remains on 2020-12.

    9.0.0release notes

  • Takes a third type parameter, Sub, for the type of nested schemas.

    9.0.0release notes

  • Exports the type utility used to build JSONSchema.String, JSONSchema.Object, and related types.

    9.0.0release notes

  • Exports the type utility used to build JSONSchema.String, JSONSchema.Object, and related types.

    9.0.0release notes

  • Exports keyword names grouped by the type they apply to from every module.

    9.0.0release notes

Behavior and default changes 1

  • In draft-07, format is permitted on every type, not only strings.

    9.0.0release notes

Fixes and other changes 9

  • Changes the package license from BSD-2-Clause to BSD-3-Clause, adding the standard non-endorsement clause.

    9.0.0release notes

  • Adds default: false to match the meta-schema.

    9.0.0release notes

  • In v1, $dynamicRef is typed as a plain anchor name rather than a URI reference, matching the v1 meta-schema.

    9.0.0release notes

  • For union Value types, type is constrained to the corresponding schema type names, including the list form.

    9.0.0release notes

  • Adds minimum: 0 to match the meta-schema.

    9.0.0release notes

  • Adds minimum: 0 to match the meta-schema.

    9.0.0release notes

  • Adds the deprecated $recursiveAnchor keyword to draft 2020-12 because its meta-schema still lists it.

    9.0.0release notes

  • Adds default: false to match the meta-schema.

    9.0.0release notes

  • Adds the deprecated $recursiveRef keyword to draft 2020-12 because its meta-schema still lists it.

    9.0.0release notes