Specification

Migrating from older drafts

Introduction

Just as your schemas evolve over time, the JSON Schema specification does as well. This guide provides useful information to make upgrading your schemas across versions of the specification a breeze.

Learn how to use our migration guides and tooling (AlterSchema) to bring your work with you.

Keywords Overview

Here is a comprehensive overview to get you going.

All KeywordsSpecificationDraft introductionRemovedChanged
$anchorCore2019-09NoNo (updated in 2020)
$commentCore07No
$idCore06NoReplaced id
$defsCore2019-09NoReplaced definitions
$dynamicAnchorCore2020-12NoReplaced $recursiveAnchor
$dynamicRefCore2020-12NoReplaced $recursiveRef
$recursiveAnchorCore2019-092020-12Replaced by $dynamicAnchor
$recursiveRefCore2019-092020-12Replaced by $dynamicRef
$ref (legacy)Core032019-09Replaced by $ref
$refCore2019-09NoReplaced $ref (legacy)
$schemaCore03NoNo
$vocabularyCore2019-09NoNo
additionalItemsCore032020-12Replaced by items
allOfCore04NoNo
anyOfCore04NoNo
constValidation06NoNo
containsCore06NoNo
contentEncodingValidation07NoNo
contentMediaTypeValidation07NoNo
contentSchemaValidation2019-09NoNo
definitionsValidation04NoReplaced by$defs
defaultValidation01NoNo
dependenciesCore03NoNo
dependentRequiredValidation2019-09NoNo
dependentSchemasCore2019-09NoReplaced dependencies
deprecatedValidation2019-09NoNo
disallowValidation03YesNo
divisibleByValidation02NoReplaced by multipleOf
elseCore07NoNo
enumValidation01NoNo
examplesValidation06NoNo
exclusiveMaximumValidation03NoReplaced maximumCanEqual
exclusiveMinimumValidation03NoReplaced minimumCanEqual
extendsValidation03YesNo
formatValidation02No-
idCore04NoReplaced by $id
ifCore07NoNo
itemsCore2019-09NoReplaced by prefixItems
maxContainsValidation2019-09NoNo
maxPropertiesValidation04NoNo
maximumCanEqualValidation02NoReplaced by exclusiveMaximum
minimumCanEqualValidation02NoReplaced by exclusiveMinimum
minContainsValidation2019-09NoNo
minPropertiesValidation04NoNo
multipleOfValidation04NoReplaced divisibleBy
notCore04NoNo
oneOfCore04NoNo
optionalValidation02NoReplaced by required
patternCore03NoNo
patternPropertiesCore03NoNo
prefixItemsCore2020-12NoReplaced items
propertyNamesCore06NoNo
readOnlyValidation01NoNo
requiredValidation03NoNo
requiresCore0103Replaced by dependencies
titleValidation01NoNo
thenCore07NoNo
typeValidation02NoNo
unevaluatedItemsCore2019-09NoNo
unevaluatedPropertiesCore2019-09NoNo
uniqueItemsAssertion02YesNo
writeOnlyValidation07NoNo

For a detailed read-through about all the changes see each Draft migration guide.

Need Help?

Did you find these docs helpful?

Help us make our docs great!

At JSON Schema, we value docs contributions as much as every other type of contribution!

Still Need Help?

Learning JSON Schema is often confusing, but don't worry, we are here to help!.