Description
What Docs changes are you proposing?
Description
This issue relates to restructuring the Specification docs on the JSON Schema Website. It resolves the b part of checklist 1 for Release 4 of the Execute the documentation strategy #158 .
Specification navigation menu
Intro or Overview
Versions
- 2020-12
- 2019-09
- Draft 07
- Draft 06
- Draft 05
Specification Links
Migration
Release Notes
JSON Hyperschema
Draft Template
- Header
- Introduction
- Links
- Release notes
Sample
Specification: https://json-schema.org/draft/2020-12/json-schema-core.html
Authors:
- Austin Wright
- Henry Andrews
- Ben Hutton
- Greg Dennis
Published: 16 June 2022
Metaschema: https://json-schema.org/draft/2020-12/schema
Implementations: https://bowtie.report/#/dialects/draft2020-12
Status: Stable
Introduction
[Add texts here]
Access all data connected to draft 2020-12
- Specifications
- Core: draft-bhutton-json-schema-01 (changes)
- Validation: draft-bhutton-json-schema-validation-01 (changes)
- Relative JSON Pointer: draft-bhutton-relative-json-pointer-00 (changes)
- Published: 16-June-2022
- General use meta-schemas
- JSON Schema meta-schema
- JSON Hyper-Schema meta-schema (2019-09 Hyper-Schema with 2020-12 Validation)
- JSON Hyper-Schema Link Description Object meta-schema
- Individual vocabulary meta-schemas
- Output schemas
- Output examples
Obsolete Draft 2020-12 Documents
These were updated without changing functionality or meta-schemas due to a few errors and unclear sections.
- Core: draft-bhutton-json-schema-00 (changes)
- Validation: draft-bhutton-json-schema-validation-00 (changes)
Release Notes
2020-12 Release Notes
The previous draft (2019-09) introduced a lot of new concepts including $recursiveRef
/$recursiveAnchor
, unevaluatedProperties
/unevaluatedItems
, vocabularies, and more. Since then, these new features have seen multiple implementations and usage in real schemas. This draft is mostly dedicated to changes related to applying the lessons we've learned about implementing and using these new features in the wild.
This document attempts to put information most useful to schema authors toward the top and information for implementation authors toward the bottom.
Changes to items and additionalItems
The keywords used for defining arrays and tuples have been redesigned to help lower the learning curve for JSON Schema. Since the items
keyword was used for both types, we would often see people mistakenly defining a tuple when they meant to define an array and not understand why only the first item in the array was validating.
The items
and additionalItems
keywords have been replaced with prefixItems
and items
where prefixItems
has the same functionality as the array-of-schemas for of the old items
and the new items
keyword has the same functionality as the old additionalItems
keyword.
Although the meaning of items
has changed, the syntax for defining arrays remains the same. Only the syntax for defining tuples has changed. The idea is that an array has items (items
) and optionally has some positionally defined items that come before the normal items (prefixItems
).
The above sample illustrates the changes for the draft template.
Resolves: #801
This PR fix will be sent in two separate PRs.
- PR 1 - Specification navigation menu
- PR 2 - Draft template
Are you working on this?
Yes
Code of Conduct
- I agree to follow this project's Code of Conduct