Specification

Migrating from older drafts

Introduction

Migrations are like version control for your system, allowing your team to define and share the schema progressions. If you have ever had to figure out when a keyword was introduced and how it behaved, you've faced the problem that migration guides solve.

If you're moving from one Draft to another, 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)
$commentCore07Yes-
$idCore06NoUpdated from id
$defsCore2019-09NoUpdated from definitions
$dynamicAnchorCore2020-12NoUpdated from $recursiveAnchor
$dynamicRefCore2020-12NoUpdated from $recursiveRef
$recursiveAnchorCore2019-09NoUpdated to $dynamicAnchor
$recursiveRefCore2019-09NoUpdated to $dynamicRef
$refCore2019-09NoNo
$schemaCore02NoNo
$vocabualryCore2019-09NoNo
additionalItemsValidation03NoNo
allOfValidation04NoNo
anyOfValidation04NoNo
constValidation06NoNo
containsValidation06NoNo
contentEncodingValidation07NoNo
contentMediaTypeValidation07NoNo
contentSchemaContent2019-09NoNo
definitionsValidation04NoUpdated to $defs
defaultAnnotation01NoNo
dependenciesCore03NoNo
dependentRequiredValidation2019-09NoNo
dependentSchemasApplicator2019-09NoUpdated from dependencies
deprecatedAnnotation2019-09NoNo
disallowValidation03YesNo
divisibleByValidation02NoUpdated to multipleOf
elseValidation07NoNo
enumAssertion01NoNo
examplesValidation06NoNo
exclusiveMaximumValidation03NoUpdated from maximumCanEqual
exclusiveMinimumValidation03NoUpdated from minimumCanEqual
extendsValidation03YesNo
formatAnnotation02No-
idCore04NoUpdated to $id
ifValidation07NoNo
itemsApplicator2019-09NoUpdated to prefixItems
maxContainsValidation2019-09NoNo
maxPropertiesValidation04NoNo
maximumCanEqualValidation02NoUpdated to exclusiveMaximum
minimumCanEqualValidation02NoUpdated to exclusiveMinimum
minContainsValidation2019-09NoNo
minPropertiesValidation04NoNo
multipleOfValidation04NoUpdated from divisibleBy
notValidation04NoNo
oneOfValidation04NoNo
optionalValidation02NoUpdated to (required)
patternCore03NoNo
patternPropertiesValidation03NoNo
prefixItemsApplicator2020-12NoUpdated from items
propertyNamesValidation06NoNo
readOnlyValidation07NoNo
requiredValidation03NoNo
requiresValidation02Yes-
titleAnnotation01NoNo
thenValidation07NoNo
typeValidation02NoNo
unevaluatedItemsApplicator, Annotation2019-09NoNo
unevaluatedPropertiesApplicator, Annotation2019-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!.