From fd4f35af2860d5c6fc96b7f70294b5a703c90176 Mon Sep 17 00:00:00 2001 From: Relequestual Date: Fri, 29 Jan 2021 22:55:32 +0000 Subject: [PATCH 01/11] Add submodule for 2020-12 --- .gitmodules | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitmodules b/.gitmodules index f975f8f1..3ac879c1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -26,3 +26,7 @@ [submodule "_includes/draft/2019-09"] path = _includes/draft/2019-09 url = https://github.com/json-schema-org/json-schema-spec.git +[submodule "_includes/draft/2020-12"] + path = _includes/draft/2020-12 + url = https://github.com/json-schema-org/json-schema-spec.git + branch = 2020-12 From 148196eef18b4c14691df8e54693df582eec3d4c Mon Sep 17 00:00:00 2001 From: Relequestual Date: Fri, 29 Jan 2021 22:57:11 +0000 Subject: [PATCH 02/11] Add documents for draft 2020-12 --- Gemfile.lock | 2 +- .../json-schema-core.html} | 114 ++++++++++-------- .../json-schema-validation.html} | 21 ++-- draft/2020-12/meta/applicator | 1 + draft/2020-12/meta/content | 1 + draft/2020-12/meta/core | 1 + draft/2020-12/meta/format | 1 + draft/2020-12/meta/format-annotation | 1 + draft/2020-12/meta/format-assertion | 1 + draft/2020-12/meta/meta-data | 1 + draft/2020-12/meta/unevaluated | 1 + draft/2020-12/meta/validation | 1 + draft/2020-12/output/schema | 1 + draft/2020-12/output/verbose-example | 1 + .../relative-json-pointer.html | 15 ++- draft/2020-12/release-notes.md | 8 ++ draft/2020-12/schema | 1 + draft/2020-12/vocab/applicator.md | 4 + draft/2020-12/vocab/content.md | 4 + draft/2020-12/vocab/core.md | 4 + draft/2020-12/vocab/format-annotation.md | 4 + draft/2020-12/vocab/format-assertion.md | 4 + draft/2020-12/vocab/meta-data.md | 4 + draft/2020-12/vocab/unevaluated.md | 4 + draft/2020-12/vocab/validation.md | 4 + work-in-progress/index.md | 15 +-- 26 files changed, 133 insertions(+), 86 deletions(-) rename draft/{preview/2020-12-rc-1/jsonschema-core.html => 2020-12/json-schema-core.html} (97%) rename draft/{preview/2020-12-rc-1/jsonschema-validation.html => 2020-12/json-schema-validation.html} (98%) create mode 100644 draft/2020-12/meta/applicator create mode 100644 draft/2020-12/meta/content create mode 100644 draft/2020-12/meta/core create mode 100644 draft/2020-12/meta/format create mode 100644 draft/2020-12/meta/format-annotation create mode 100644 draft/2020-12/meta/format-assertion create mode 100644 draft/2020-12/meta/meta-data create mode 100644 draft/2020-12/meta/unevaluated create mode 100644 draft/2020-12/meta/validation create mode 100644 draft/2020-12/output/schema create mode 100644 draft/2020-12/output/verbose-example rename draft/{preview/2020-12-rc-1 => 2020-12}/relative-json-pointer.html (97%) create mode 100644 draft/2020-12/release-notes.md create mode 100644 draft/2020-12/schema create mode 100644 draft/2020-12/vocab/applicator.md create mode 100644 draft/2020-12/vocab/content.md create mode 100644 draft/2020-12/vocab/core.md create mode 100644 draft/2020-12/vocab/format-annotation.md create mode 100644 draft/2020-12/vocab/format-assertion.md create mode 100644 draft/2020-12/vocab/meta-data.md create mode 100644 draft/2020-12/vocab/unevaluated.md create mode 100644 draft/2020-12/vocab/validation.md diff --git a/Gemfile.lock b/Gemfile.lock index 5802c946..3e8e182a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -247,4 +247,4 @@ DEPENDENCIES github-pages BUNDLED WITH - 1.16.1 + 2.2.7 diff --git a/draft/preview/2020-12-rc-1/jsonschema-core.html b/draft/2020-12/json-schema-core.html similarity index 97% rename from draft/preview/2020-12-rc-1/jsonschema-core.html rename to draft/2020-12/json-schema-core.html index 9efd5fe4..3feb6057 100644 --- a/draft/preview/2020-12-rc-1/jsonschema-core.html +++ b/draft/2020-12/json-schema-core.html @@ -445,8 +445,9 @@ - - + + + @@ -488,7 +489,7 @@ - + @@ -512,7 +513,7 @@ H. Andrews, Ed. -Expires: June 4, 2021 +Expires: August 1, 2021 @@ -529,7 +530,7 @@ -December 1, 2020 +January 28, 2020 @@ -542,7 +543,6 @@

Abstract

JSON Schema defines the media type "application/schema+json", a JSON-based format for describing the structure of JSON data. JSON Schema asserts what a JSON document must look like, ways to extract information from it, and how to interact with it. The "application/schema-instance+json" media type provides additional feature-rich integration with "application/schema+json" beyond what can be offered for "application/json" documents.

Note to Readers

-

This document a pre-release identified as JSON Schema draft 2020-12-rc-1.

The issues list for this draft can be found at <https://github.com/json-schema-org/json-schema-spec/issues>.

For additional information, see <https://json-schema.org/>.

To provide feedback, use this issue tracker, the communication methods listed on the homepage, or email the document editors.

@@ -550,7 +550,7 @@

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

-

This Internet-Draft will expire on June 4, 2021.

+

This Internet-Draft will expire on August 1, 2021.

Copyright Notice

Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

@@ -702,9 +702,11 @@

Table of Contents

  • 11. A Vocabulary for Unevaluated Locations
  • -

    diff --git a/draft/preview/2020-12-rc-1/jsonschema-validation.html b/draft/2020-12/json-schema-validation.html similarity index 98% rename from draft/preview/2020-12-rc-1/jsonschema-validation.html rename to draft/2020-12/json-schema-validation.html index f203d3ec..e573655f 100644 --- a/draft/preview/2020-12-rc-1/jsonschema-validation.html +++ b/draft/2020-12/json-schema-validation.html @@ -451,7 +451,7 @@ - + @@ -475,7 +475,7 @@ H. Andrews, Ed. -Expires: June 4, 2021 +Expires: August 1, 2021 @@ -484,7 +484,7 @@ -December 1, 2020 +January 28, 2020 @@ -497,7 +497,6 @@

    Abstract

    JSON Schema (application/schema+json) has several purposes, one of which is JSON instance validation. This document specifies a vocabulary for JSON Schema to describe the meaning of JSON documents, provide hints for user interfaces working with JSON data, and to make assertions about what a valid document must look like.

    Note to Readers

    -

    This document a pre-release identified as JSON Schema draft 2020-12-rc-1.

    The issues list for this draft can be found at <https://github.com/json-schema-org/json-schema-spec/issues>.

    For additional information, see <https://json-schema.org/>.

    To provide feedback, use this issue tracker, the communication methods listed on the homepage, or email the document editors.

    @@ -505,7 +504,7 @@

    Status of This Memo

    This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

    Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

    Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

    -

    This Internet-Draft will expire on June 4, 2021.

    +

    This Internet-Draft will expire on August 1, 2021.

    Copyright Notice

    Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.

    This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

    @@ -777,12 +776,12 @@

    6.4.4. maxContains

    The value of this keyword MUST be a non-negative integer.

    If "contains" is not present within the same schema object, then this keyword has no effect.

    -

    An array instance is valid against "maxContains" if its value is less than or equal to, the array length of the annotation result from an adjacent "contains" keyword where the annotation is an array, or the length of the instance array where the annotation is "true".

    +

    An instance array is valid against "maxContains" in two ways, depending on the form of the annotation result of an adjacent "contains" keyword. The first way is if the annotation result is an array and the length of that array is less than or equal to the "maxContains" value. The second way is if the annotation result is a boolean "true" and the instance array length is less than or equal to the "maxContains" value.

    6.4.5. minContains

    The value of this keyword MUST be a non-negative integer.

    If "contains" is not present within the same schema object, then this keyword has no effect.

    -

    An array instance is valid against "minContains" if its value is greater than or equal to, the array length of the annotation result from an adjacent "contains" keyword where the annotation is an array, or the length of the instance array where the annotation is "true".

    +

    An instance array is valid against "minContains" in two ways, depending on the form of the annotation result of an adjacent "contains" keyword. The first way is if the annotation result is an array and the length of that array is greater than or equal to the "minContains" value. The second way is if the annotation result is a boolean "true" and the instance array length is greater than or equal to the "minContains" value.

    A value of 0 is allowed, but is only useful for setting a range of occurrences from 0 to the value of "maxContains". A value of 0 with no "maxContains" causes "contains" to always pass validation.

    Omitting this keyword has the same behavior as a value of 1.

    @@ -1228,13 +1227,7 @@

  • Clarified the set and meaning of "contentEncoding" values
  • Reference ECMA-262, 11th edition for regular expression support
  • Split "format" into an annotation only vocabulary and an assertion vocabulary
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • +
  • Clarify "deprecated" when applicable to arrays
  • diff --git a/draft/2020-12/meta/applicator b/draft/2020-12/meta/applicator new file mode 100644 index 00000000..8fd44f54 --- /dev/null +++ b/draft/2020-12/meta/applicator @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/applicator.json \ No newline at end of file diff --git a/draft/2020-12/meta/content b/draft/2020-12/meta/content new file mode 100644 index 00000000..784c2c5e --- /dev/null +++ b/draft/2020-12/meta/content @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/content.json \ No newline at end of file diff --git a/draft/2020-12/meta/core b/draft/2020-12/meta/core new file mode 100644 index 00000000..acdf0634 --- /dev/null +++ b/draft/2020-12/meta/core @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/core.json \ No newline at end of file diff --git a/draft/2020-12/meta/format b/draft/2020-12/meta/format new file mode 100644 index 00000000..fa372ff7 --- /dev/null +++ b/draft/2020-12/meta/format @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/format.json \ No newline at end of file diff --git a/draft/2020-12/meta/format-annotation b/draft/2020-12/meta/format-annotation new file mode 100644 index 00000000..9470a37e --- /dev/null +++ b/draft/2020-12/meta/format-annotation @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/format-annotaion.json \ No newline at end of file diff --git a/draft/2020-12/meta/format-assertion b/draft/2020-12/meta/format-assertion new file mode 100644 index 00000000..b31c612b --- /dev/null +++ b/draft/2020-12/meta/format-assertion @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/format-assertion.json \ No newline at end of file diff --git a/draft/2020-12/meta/meta-data b/draft/2020-12/meta/meta-data new file mode 100644 index 00000000..49e5296e --- /dev/null +++ b/draft/2020-12/meta/meta-data @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/meta-data.json \ No newline at end of file diff --git a/draft/2020-12/meta/unevaluated b/draft/2020-12/meta/unevaluated new file mode 100644 index 00000000..fbd3c938 --- /dev/null +++ b/draft/2020-12/meta/unevaluated @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/unevaluated.json \ No newline at end of file diff --git a/draft/2020-12/meta/validation b/draft/2020-12/meta/validation new file mode 100644 index 00000000..90f062f1 --- /dev/null +++ b/draft/2020-12/meta/validation @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/validation.json \ No newline at end of file diff --git a/draft/2020-12/output/schema b/draft/2020-12/output/schema new file mode 100644 index 00000000..efe176a0 --- /dev/null +++ b/draft/2020-12/output/schema @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/output/schema.json \ No newline at end of file diff --git a/draft/2020-12/output/verbose-example b/draft/2020-12/output/verbose-example new file mode 100644 index 00000000..38f31932 --- /dev/null +++ b/draft/2020-12/output/verbose-example @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/output/verbose-example.json \ No newline at end of file diff --git a/draft/preview/2020-12-rc-1/relative-json-pointer.html b/draft/2020-12/relative-json-pointer.html similarity index 97% rename from draft/preview/2020-12-rc-1/relative-json-pointer.html rename to draft/2020-12/relative-json-pointer.html index d1fd75de..fe44bd8a 100644 --- a/draft/preview/2020-12-rc-1/relative-json-pointer.html +++ b/draft/2020-12/relative-json-pointer.html @@ -397,7 +397,7 @@ - + @@ -421,7 +421,7 @@ H. Andrews, Ed. -Expires: June 4, 2021 +Expires: August 1, 2021 @@ -430,7 +430,7 @@ -December 1, 2020 +January 28, 2020 @@ -446,7 +446,7 @@

    Status of This Memo

    This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

    Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

    Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

    -

    This Internet-Draft will expire on June 4, 2021.

    +

    This Internet-Draft will expire on August 1, 2021.

    Copyright Notice

    Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.

    This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

    @@ -505,8 +505,9 @@

    The ABNF syntax of a Relative JSON Pointer is:

     
    -   relative-json-pointer =  non-negative-integer <json-pointer>
    +   relative-json-pointer =  non-negative-integer [index-manipulation] <json-pointer>
        relative-json-pointer =/ non-negative-integer "#"
    +   index-manipulation    =  ("+" / "-") non-negative-integer
        non-negative-integer      =  %x30 / %x31-39 *( %x30-39 )
                ; "0", or digits without a leading "0"
     
    @@ -566,8 +567,10 @@ 

    "0" "baz" "1/0" "bar" + "0-1" "bar" "2/highly/nested/objects" true "0#" 1 + "0-1#" 0 "1#" "foo"

    @@ -629,7 +632,7 @@

    -
    draft-handrews-relative-json-pointer-03
    +
    draft-bhutton-relative-json-pointer-00
    • Add array forward and backward index manipulation

    diff --git a/draft/2020-12/release-notes.md b/draft/2020-12/release-notes.md new file mode 100644 index 00000000..ed8cfc6e --- /dev/null +++ b/draft/2020-12/release-notes.md @@ -0,0 +1,8 @@ +--- +title: JSON Schema 2020-12 Release Notes +layout: page +--- + +_NOTE: This page is still being written._ + +You can find a minimal changelog at the end of the specification documents themselves. \ No newline at end of file diff --git a/draft/2020-12/schema b/draft/2020-12/schema new file mode 100644 index 00000000..70e58e37 --- /dev/null +++ b/draft/2020-12/schema @@ -0,0 +1 @@ +../../_includes/draft/2020-12/schema.json \ No newline at end of file diff --git a/draft/2020-12/vocab/applicator.md b/draft/2020-12/vocab/applicator.md new file mode 100644 index 00000000..93c75bcb --- /dev/null +++ b/draft/2020-12/vocab/applicator.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-core.html#rfc.section.10 +title: A Vocabulary for Applying Subschemas +--- diff --git a/draft/2020-12/vocab/content.md b/draft/2020-12/vocab/content.md new file mode 100644 index 00000000..b60a25c4 --- /dev/null +++ b/draft/2020-12/vocab/content.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-validation.html#rfc.section.8 +title: A Vocabulary for the Contents of String-Encoded Data +--- diff --git a/draft/2020-12/vocab/core.md b/draft/2020-12/vocab/core.md new file mode 100644 index 00000000..dca0cbed --- /dev/null +++ b/draft/2020-12/vocab/core.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-core.html#rfc.section.8 +title: The JSON Schema Core Vocabulary +--- diff --git a/draft/2020-12/vocab/format-annotation.md b/draft/2020-12/vocab/format-annotation.md new file mode 100644 index 00000000..ff0e1aa8 --- /dev/null +++ b/draft/2020-12/vocab/format-annotation.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-validation.html#rfc.section.7 +title: A Vocabulary for Semantic Content with "format" as annotations +--- diff --git a/draft/2020-12/vocab/format-assertion.md b/draft/2020-12/vocab/format-assertion.md new file mode 100644 index 00000000..fe9640eb --- /dev/null +++ b/draft/2020-12/vocab/format-assertion.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-validation.html#rfc.section.7 +title: A Vocabulary for Semantic Content with "format" as assertions +--- diff --git a/draft/2020-12/vocab/meta-data.md b/draft/2020-12/vocab/meta-data.md new file mode 100644 index 00000000..0fb58ffa --- /dev/null +++ b/draft/2020-12/vocab/meta-data.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-validation.html#rfc.section.9 +title: A Vocabulary for Basic Meta-Data Annotations +--- diff --git a/draft/2020-12/vocab/unevaluated.md b/draft/2020-12/vocab/unevaluated.md new file mode 100644 index 00000000..0ff02bc1 --- /dev/null +++ b/draft/2020-12/vocab/unevaluated.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-core.html#rfc.section.11 +title: A Vocabulary for Unevaluated Locations +--- diff --git a/draft/2020-12/vocab/validation.md b/draft/2020-12/vocab/validation.md new file mode 100644 index 00000000..e03833e4 --- /dev/null +++ b/draft/2020-12/vocab/validation.md @@ -0,0 +1,4 @@ +--- +redirect_to: /draft/2020-12/json-schema-validation.html#rfc.section.6 +title: A Vocabulary for Structural Validation +--- diff --git a/work-in-progress/index.md b/work-in-progress/index.md index 27bf8014..f2cf1e87 100644 --- a/work-in-progress/index.md +++ b/work-in-progress/index.md @@ -7,19 +7,6 @@ permalink: /work-in-progress * TOC {:toc} -Draft 2020-12 is in the final review period. -Publication is scheduled for 2020-12-08. - -At this point, the specification is feature locked, but please do file any issues via Github or reach us immediatly on the JSON Schema Slack. - -Spec preview documents: - -Core: [https://json-schema.org/draft/preview/2020-12-rc-1/jsonschema-core.html](https://json-schema.org/draft/preview/2020-12-rc-1/jsonschema-core.html) - -Validation: [https://json-schema.org/draft/preview/2020-12-rc-1/jsonschema-validation.html](https://json-schema.org/draft/preview/2020-12-rc-1/jsonschema-validation.html) - -Relative JSON Pointer: [https://json-schema.org/draft/preview/2020-12-rc-1/relative-json-pointer.html](https://json-schema.org/draft/preview/2020-12-rc-1/relative-json-pointer.html) - -HyperSchema is not included in this upcoming draft and is on hiatus. +We're working towards draft 2021-NN. See the [GitHub repository](https://github.com/json-schema-org/json-schema-spec) for ongoing spec work. From 9f02305ed06c88f8f66d610d07b5579eeae4408a Mon Sep 17 00:00:00 2001 From: Relequestual Date: Fri, 29 Jan 2021 22:59:01 +0000 Subject: [PATCH 03/11] Add updated submodule for 2020-12 --- _includes/draft/2020-12 | 1 + 1 file changed, 1 insertion(+) create mode 160000 _includes/draft/2020-12 diff --git a/_includes/draft/2020-12 b/_includes/draft/2020-12 new file mode 160000 index 00000000..0e08f035 --- /dev/null +++ b/_includes/draft/2020-12 @@ -0,0 +1 @@ +Subproject commit 0e08f03573753bebe2841023dd6fcc822490ea07 From 43a571a3a611f2827953c23037ee318d75e003f5 Mon Sep 17 00:00:00 2001 From: Relequestual Date: Wed, 3 Feb 2021 23:36:18 +0000 Subject: [PATCH 04/11] Updated all pages for draft 2020-12 --- README.md | 30 ++++++++++++++- hyper-schema.md | 3 -- index.md | 63 +++++++++++++++++++++----------- latest/json-schema-core.md | 2 +- latest/json-schema-hypermedia.md | 4 -- latest/json-schema-validation.md | 2 +- latest/relative-json-pointer.md | 2 +- specification-links.md | 56 +++++++++++++++++++++++----- specification.md | 55 ++++++++++++++-------------- 9 files changed, 147 insertions(+), 70 deletions(-) delete mode 100644 hyper-schema.md delete mode 100644 latest/json-schema-hypermedia.md diff --git a/README.md b/README.md index d15bb072..72766976 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,36 @@ For the current status of issues and pull requests, please see the following bad [![Available](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Status:%20Available.svg?color=brightgreen)](https://github.com/json-schema-org/json-schema-org.github.io/issues?q=is%3Aopen+is%3Aissue+label%3A%22Status%3A+Available%22) [![In Progress](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Status:%20In%20Progress.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Status:%20In%20Progress) [![Review Needed](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Status:%20Review%20Needed.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Status%3A%20Review%20Needed) [![Critical](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Critical.svg?color=critical -)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Critical) [![High](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20High.svg?color=important)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20High) [![Medium](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Medium.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Medium) [![Low](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Low.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Low) +)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Critical) [![High](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20High.svg?color=important)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20High) [![Medium](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Medium.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Medium) [![Low](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Low.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Low) Labels are assigned based on [Sensible Github Labels](https://github.com/Relequestual/sensible-github-labels). +## Compile and run locally + +This site runs via github pages, with automatically building PR previews via netlify. +If you wish to compile and run this site locally, you will need to have ruby installed. + +If you're not familiar with ruby, consider using `rvm` (https://rvm.io/). +Once you have Ruby installed, follow these instructions while in the project directory + +> Instructions +> +> 1. Install the jekyll and bundler gems. +> +> `gem install jekyll bundler` +> +> 2. Create a new Jekyll site at ./myblog. +> +> ... +> +> 3. Build the site and make it available on a local server. +> +> `bundle exec jekyll serve` +> +> 4. Browse to http://localhost:4000 + +Adapted from https://jekyllrb.com/docs/ + ## License -The source material in this repository is licensed under the AFL or BSD license. +The source material in this repository is licensed under the AFL or BSD license. diff --git a/hyper-schema.md b/hyper-schema.md deleted file mode 100644 index d57e3c3f..00000000 --- a/hyper-schema.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -redirect_to: /draft/2019-09/hyper-schema ---- diff --git a/index.md b/index.md index c7128a8b..0ad7c151 100644 --- a/index.md +++ b/index.md @@ -8,11 +8,9 @@ permalink: / **JSON Schema** is a vocabulary that allows you to **annotate** and **validate** JSON documents. -## Advantages +## Benefits -
    - -### JSON Schema +
    * Describes your existing data format(s). * Provides clear human- and machine- readable documentation. @@ -22,43 +20,56 @@ permalink: /
    -
    +## New to JSON Schema? -### JSON Hyper-Schema +Learning a new specification can be daunting. -* Make any JSON format a hypermedia format with no constraints on document structure -* Allows use of [URI Templates](https://tools.ietf.org/html/rfc6570) with instance data -* Describe client data for use with links using JSON Schema. -* Recognizes collections and collection items. +Luckily, we created this [getting started guide](/learn/getting-started-step-by-step)! -
    +After that, you could check out all our [learning resources](/learn). + +### Got questions? + +We're here to help! + +At any point, feel free to join our Slack server using the link in the menu. + +We also monitor the `jsonschema` tag on StackOverflow. ## Project Status -16 September 2019: Draft 2019-09 (formerly known as draft-08) has been published! +2021-02-01: Draft 2020-12 has been published! -The IETF document IDs are of the form `draft-handrews-*-02`. We are now using dates -for meta-schemas, which are what implementations should use to determine behavior, -so we will usually refer to `2019-09` (without the word "draft") on this web site. +The IETF document IDs are of the form `draft-bhutton-*-00`. + +We are using dates for meta-schemas, which are what implementations should use to determine behavior, +so we will usually refer to `2020-12` (without the word "draft") on this web site. See the [Specification page](specification.html) for details about naming and numbering. + ### The Path to Standardization -The JSON Schema project intends to shepherd all four draft series to RFC status. Currently, we are continuing to improve our self-published Internet-Drafts. The next step will be to get the drafts adopted by an IETF Working Group. We are actively investigating how to accomplish this. +The JSON Schema project intends to shepherd all three draft series to either: RFC status, the equivilent within another standards body, or join a foundation and establish self publication rules. -If you have experience with such things and would like to help, please contact us! +
    +Read more + +Currently, we are continuing to improve our self-published Internet-Drafts. We are not activly pursuing joining a standards organisation. + +We have a few contacts related to each potential path, but if you have experience with such things and would like to help, please still contact us! In the meantime, publication of Internet-Draft documents can be tracked through the IETF: -* [JSON Schema (core)](https://datatracker.ietf.org/doc/draft-handrews-json-schema/) -* [JSON Schema Validation](https://datatracker.ietf.org/doc/draft-handrews-json-schema-validation/) -* [JSON Hyper-Schema](https://datatracker.ietf.org/doc/draft-handrews-json-schema-hyperschema/) -* [Relative JSON Pointers](https://datatracker.ietf.org/doc/draft-handrews-relative-json-pointer/) +* [JSON Schema (core)](https://datatracker.ietf.org/doc/draft-bhutton-json-schema/) +* [JSON Schema Validation](https://datatracker.ietf.org/doc/draft-bhutton-json-schema-validation/) +* [Relative JSON Pointers](https://datatracker.ietf.org/doc/draft-bhutton-relative-json-pointer/) Internet-Drafts expire after six months, so our goal is to publish often enough to always have a set of unexpired drafts available. There may be brief gaps as we wrap up each draft and finalize the text. The intention, particularly for vocabularies such as validation which have been widely implemented, is to remain as compatible as possible from draft to draft. However, these are still drafts, and given a clear enough need validated with the user community, major changes can occur. +
    + ## Quickstart The JSON document being validated or described we call the *instance*, and the document containing the description is called the *schema*. @@ -77,6 +88,14 @@ You can apply constraints on an instance by adding validation keywords to the sc JSON Schema is hypermedia ready, and ideal for annotating your existing JSON-based HTTP API. JSON Schema documents are identified by URIs, which can be used in HTTP Link headers, and inside JSON Schema documents to allow recursive definitions. +## JSON Hyper-Schema + +JSON Hyper-Schema is on hiatus / not currently maintained as of 2021. + +This allows the team to focus the little time they do donate on JSON Schema core and validation. + +We may revisit JSON Hyper-Schema at a later date. + ## More Interested? Check out: @@ -86,7 +105,7 @@ Interested? Check out: * [Learning resources](./learn/index.md) * the growing list of [JSON (Hyper-)Schema software](./implementations.md) -We encourage updating to the latest specification, as described by the draft-07 meta-schemas. +We encourage updating to the latest specification where possible, which is 2020-12. Questions? Feeling helpful? Get involved on: diff --git a/latest/json-schema-core.md b/latest/json-schema-core.md index 600039c6..921902a6 100644 --- a/latest/json-schema-core.md +++ b/latest/json-schema-core.md @@ -1,5 +1,5 @@ --- -redirect_to: "/draft/2019-09/json-schema-core.html" +redirect_to: "/draft/2020-12/json-schema-core.html" title: "JSON Schema: A Media Type for Describing JSON Documents" --- diff --git a/latest/json-schema-hypermedia.md b/latest/json-schema-hypermedia.md deleted file mode 100644 index 7935b0df..00000000 --- a/latest/json-schema-hypermedia.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -redirect_to: "/draft/2019-09/json-schema-hypermedia.html" -title: "JSON Hyper-Schema: A Vocabulary for Hypermedia Annotation of JSON" ---- diff --git a/latest/json-schema-validation.md b/latest/json-schema-validation.md index 16e6414a..c285f6df 100644 --- a/latest/json-schema-validation.md +++ b/latest/json-schema-validation.md @@ -1,4 +1,4 @@ --- -redirect_to: "/draft/2019-09/json-schema-validation.html" +redirect_to: "/draft/2020-12/json-schema-validation.html" title: "JSON Schema Validation: A Vocabulary for Structural Validation of JSON" --- diff --git a/latest/relative-json-pointer.md b/latest/relative-json-pointer.md index a49854a4..5b5de6c4 100644 --- a/latest/relative-json-pointer.md +++ b/latest/relative-json-pointer.md @@ -1,4 +1,4 @@ --- -redirect_to: "/draft/2019-09/relative-json-pointer.html" +redirect_to: "/draft/2020-12/relative-json-pointer.html" title: "Relative JSON Pointers" --- diff --git a/specification-links.md b/specification-links.md index 7f4253ed..6f3de025 100644 --- a/specification-links.md +++ b/specification-links.md @@ -225,11 +225,11 @@ For links to the somewhat more readably formatted versions on this web site, and draft‑handrews‑relative‑json‑pointer‑02
    - + 2019‑09 - - Draft 8 + + Draft 2019-09 Milestone: @@ -239,14 +239,28 @@ For links to the somewhat more readably formatted versions on this web site, and - (TBD, probably only a subset of the documents) + + draft‑bhutton‑json‑schema‑00 +
    + + draft‑bhutton‑json‑schema‑validation‑00 +
    + + draft‑bhutton‑relative‑json‑pointer‑00 +
    + + + 2020‑12 + + + Draft 2020-12 - bugfixes and/or clarifications, no functional changes -
    Milestone: draft-08-patch-1 +
    + Changes and fixes as a result of discussion with the OpenAPI community. (Includes breaking changes.)
    @@ -258,23 +272,47 @@ For links to the somewhat more readably formatted versions on this web site, and (TBD) - Draft 9 + Draft 2021-NN Milestone: - draft-09 + Draft 2021-NN - + ## Published Drafts +### 2020-12 + +- Specifications + - Core: [draft-bhutton-json-schema-00](https://tools.ietf.org/html/draft-bhutton-json-schema-00) ([changes](https://tools.ietf.org/html/draft-bhutton-json-schema-00#appendix-G)) + - Validation: [draft-bhutton-json-schema-validation-00](https://tools.ietf.org/html/draft-bhutton-json-schema-validation-00) ([changes](https://tools.ietf.org/html/draft-bhutton-json-schema-validation-00#appendix-C)) + - Relative JSON Pointer: [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) ([changes](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00#appendix-A)) +- General use meta-schemas + - [JSON Schema meta-schema](draft/2020-12/schema) +- Individual vocablary meta-schemas + - [Core Vocabulary meta-schema](draft/2020-12/meta/core) + - [Applicator Vocabulary meta-schema](draft/2020-12/meta/applicator) + - [Validation Vocabulary meta-schema](draft/2020-12/meta/validation) + - [Unevaluated Vocabulary meta-schema](draft/2020-12/meta/unevaluated) + - [Format Annotation Vocabulary meta-schema](draft/2020-12/meta/format-annotation) + - [Format Assertion Vocabulary meta-schema](draft/2020-12/meta/format-assertion) + - [Content Vocabulary meta-schema](draft/2020-12/meta/content) + - [Meta-Data Vocabulary meta-schema](draft/2020-12/meta/meta-data) +- Output schemas + - [JSON Schema recommended output schema](draft/2020-12/output/schema) +- Output examples + - [JSON Schema verbose output example](draft/2020-12/output/verbose-example) + ### 2019-09 (formerly known as Draft 8) _**NOTE:** All meta-schema URIs now use `https://`. While currently also available over plain HTTP due to the limitations of GitHub pages and the need to keep prior drafts available over HTTP, only the HTTPS URIs should be used._ +### Draft 2019-09 + - Specifications - Core: [draft-handrews-json-schema-02](https://tools.ietf.org/html/draft-handrews-json-schema-02) ([changes](https://tools.ietf.org/html/draft-handrews-json-schema-02#appendix-G)) - Validation: [draft-handrews-json-schema-validation-02](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02) ([changes](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#appendix-C)) diff --git a/specification.md b/specification.md index 7edd5d0c..3516579e 100644 --- a/specification.md +++ b/specification.md @@ -5,60 +5,59 @@ permalink: /specification.html title: Specification --- -The current version is *2019-09*! +The current version is *2020-12*! +The previous version was 2019-09. Specification documents ----------------------- -See also the [release notes / change log](draft/2019-09/release-notes.html). +See also the release notes / change log (Work in progress). -The specification is split into three parts, Core, Validation, and Hyper-Schema, along with a related specification, Relative JSON Pointers: +The specification is split into two parts, Core and Validation, along with a related specification, Relative JSON Pointers: |--------------------------------------------------------------|-------------------------------------------------------| -| [JSON Schema Core](draft/2019-09/json-schema-core.html) | defines the basic foundation of JSON Schema | -| [JSON Schema Validation](draft/2019-09/json-schema-validation.html) | defines the validation keywords of JSON Schema | -| [JSON Hyper-Schema](draft/2019-09/json-schema-hypermedia.html) | defines the hyper-media keywords of JSON Schema | -| [Relative JSON Pointers](draft/2019-09/relative-json-pointer.html) | extends the JSON Pointer syntax for relative pointers | +| [JSON Schema Core](draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | +| [JSON Schema Validation](draft/2020-12/json-schema-validation.html) | defines the validation keywords of JSON Schema | +| [Relative JSON Pointers](draft/2020-12/relative-json-pointer.html) | extends the JSON Pointer syntax for relative pointers | They are also available on the IETF main site: -* [draft-handrews-json-schema-02 (core)](https://tools.ietf.org/html/draft-handrews-json-schema-02) -* [draft-handrews-json-schema-validation-02](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02) -* [draft-handrews-json-schema-hyperschema-02](https://tools.ietf.org/html/draft-handrews-json-schema-hyperschema-02) -* [draft-handrews-relative-json-pointer-02](https://tools.ietf.org/html/draft-handrews-relative-json-pointer-02) +* [draft-bhutton-json-schema-00 (core)](https://tools.ietf.org/html/draft-bhutton-json-schema-00) +* [draft-bhutton-json-schema-validation-00](https://tools.ietf.org/html/draft-bhutton-json-schema-validation-00) +* [draft-bhutton-relative-json-pointer-00](https://tools.ietf.org/html/draft-bhutton-relative-json-pointer-00) Meta-schemas ------------ -The meta-schemas are schemas against which other schemas can be validated. They are self-descriptive: the JSON Schema meta-schema validates itself, while the JSON Hyper-Schema meta-schema both validates itself and defines its own "self" link. +The meta-schemas are schemas against which other schemas can be validated.It is self-descriptive: the JSON Schema meta-schema validates itself. -The latest meta-schema is **2019-09**. For an explanation of the change to date-based identifiers, see the [Specification Links](specification-links.html) page. +The latest meta-schema is **2020-12**. For an explanation of the change to date-based identifiers, see the [Specification Links](specification-links.html) page. _If you are accessing these JSON document links **from a web browser**, you will need to **save the file** then open it as a JSON document. This is due to limitations with GitHub Pages._ -## General-purpose meta-schemas +## General-purpose meta-schema -These serve the same function as the analogous meta-schemas from past drafts, although note that the core and validation schema is no longer self-contained. +Please note, additional vocabulary specific schema files are needed to fully construct and use the Core/Validation Dialect meta-schema. |--------------------------------------------------------------|------------------------------------------------------------| -| [Core/Validation meta-schema](draft/2019-09/schema) | Used for schemas written for pure validation. | -| [Hyper meta-schema](draft/2019-09/hyper-schema) | Used for schemas written for validation and hyper-linking. | +| [Core/Validation Dialect meta-schema](draft/2020-12/schema) | Used for schemas written for pure validation. | +| [Recommended Output meta-schema](draft/2020-12/output/schema)| Recommended output structure of the application process. | ## Single-vocabulary meta-schemas These are relevant primarily to people who want to write their own meta-schemas that build on specific parts of the existing specification. -- [Core Vocabulary meta-schema](draft/2019-09/meta/core) -- [Applicator Vocabulary meta-schema](draft/2019-09/meta/applicator) -- [Validation Vocabulary meta-schema](draft/2019-09/meta/validation) -- [Format Vocabulary meta-schema](draft/2019-09/meta/format) -- [Content Vocabulary meta-schema](draft/2019-09/meta/content) -- [Meta-Data Vocabulary meta-schema](draft/2019-09/meta/meta-data) -- [Hyper-Schema Vocabulary meta-schema](draft/2019-09/meta/hyper-schema) +- [Core Vocabulary meta-schema](draft/2020-12/meta/core) +- [Applicator Vocabulary meta-schema](draft/2020-12/meta/applicator) +- [Validation Vocabulary meta-schema](draft/2020-12/meta/validation) +- [Unevaluated Vocabulary meta-schema](draft/2020-12/meta/unevaluated) +- [Format Annotation Vocabulary meta-schema](draft/2020-12/meta/format-annotation) +- [Format Assertion Vocabulary meta-schema](draft/2020-12/meta/format-assertion) +- [Content Vocabulary meta-schema](draft/2020-12/meta/content) +- [Meta-Data Vocabulary meta-schema](draft/2020-12/meta/meta-data) ## Output schemas and examples -- [JSON Schema recommended output schema](draft/2019-09/output/schema) -- [JSON Hyper-Schema recommended output schema](draft/2019-09/output/hyper-schema) -- [JSON Schema verbose output example](draft/2019-09/output/verbose-example) +- [JSON Schema recommended output schema](draft/2020-12/output/schema) +- [JSON Schema verbose output example](draft/2020-12/output/verbose-example) Migrating from older drafts ------------- @@ -66,10 +65,12 @@ Migrating from older drafts The release notes discuss the changes impacting users and implementers: - JSON Schema Core and Validation + - 2019-09 to 2020-12 (Work in progress - 2021-02-01) - [Draft-07 to 2019-09](draft/2019-09/release-notes.html) - [Draft-06 to Draft-07](draft-07/json-schema-release-notes.html) - [Draft-04 to Draft-06](draft-06/json-schema-release-notes.html) - JSON Hyper-Schema + - There was no JSON Hyper-Schema draft for 2020-12 releases. - [Draft-07 to 2019-09](draft/2019-09/release-notes.html#hyper-schema-vocabulary) - [Draft-04 to Draft-07](draft-07/json-hyper-schema-release-notes.html) - [Draft-04 to Draft-06](draft-06/json-hyper-schema-release-notes.html) From 988a6fcf6e8f06e1d5cb80a21245e02bac4f525a Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Thu, 11 Feb 2021 11:37:47 +0000 Subject: [PATCH 05/11] Actually use symlinks for things (2020-12 files) that should be symlinked --- draft/2020-12/meta/applicator | 0 draft/2020-12/meta/content | 0 draft/2020-12/meta/core | 0 draft/2020-12/meta/format | 0 draft/2020-12/meta/format-annotation | 0 draft/2020-12/meta/format-assertion | 0 draft/2020-12/meta/meta-data | 0 draft/2020-12/meta/unevaluated | 0 draft/2020-12/meta/validation | 0 draft/2020-12/output/schema | 0 draft/2020-12/output/verbose-example | 0 draft/2020-12/schema | 0 12 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 120000 draft/2020-12/meta/applicator mode change 100644 => 120000 draft/2020-12/meta/content mode change 100644 => 120000 draft/2020-12/meta/core mode change 100644 => 120000 draft/2020-12/meta/format mode change 100644 => 120000 draft/2020-12/meta/format-annotation mode change 100644 => 120000 draft/2020-12/meta/format-assertion mode change 100644 => 120000 draft/2020-12/meta/meta-data mode change 100644 => 120000 draft/2020-12/meta/unevaluated mode change 100644 => 120000 draft/2020-12/meta/validation mode change 100644 => 120000 draft/2020-12/output/schema mode change 100644 => 120000 draft/2020-12/output/verbose-example mode change 100644 => 120000 draft/2020-12/schema diff --git a/draft/2020-12/meta/applicator b/draft/2020-12/meta/applicator deleted file mode 100644 index 8fd44f54..00000000 --- a/draft/2020-12/meta/applicator +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/applicator.json \ No newline at end of file diff --git a/draft/2020-12/meta/applicator b/draft/2020-12/meta/applicator new file mode 120000 index 00000000..8fd44f54 --- /dev/null +++ b/draft/2020-12/meta/applicator @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/applicator.json \ No newline at end of file diff --git a/draft/2020-12/meta/content b/draft/2020-12/meta/content deleted file mode 100644 index 784c2c5e..00000000 --- a/draft/2020-12/meta/content +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/content.json \ No newline at end of file diff --git a/draft/2020-12/meta/content b/draft/2020-12/meta/content new file mode 120000 index 00000000..784c2c5e --- /dev/null +++ b/draft/2020-12/meta/content @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/content.json \ No newline at end of file diff --git a/draft/2020-12/meta/core b/draft/2020-12/meta/core deleted file mode 100644 index acdf0634..00000000 --- a/draft/2020-12/meta/core +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/core.json \ No newline at end of file diff --git a/draft/2020-12/meta/core b/draft/2020-12/meta/core new file mode 120000 index 00000000..acdf0634 --- /dev/null +++ b/draft/2020-12/meta/core @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/core.json \ No newline at end of file diff --git a/draft/2020-12/meta/format b/draft/2020-12/meta/format deleted file mode 100644 index fa372ff7..00000000 --- a/draft/2020-12/meta/format +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/format.json \ No newline at end of file diff --git a/draft/2020-12/meta/format b/draft/2020-12/meta/format new file mode 120000 index 00000000..fa372ff7 --- /dev/null +++ b/draft/2020-12/meta/format @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/format.json \ No newline at end of file diff --git a/draft/2020-12/meta/format-annotation b/draft/2020-12/meta/format-annotation deleted file mode 100644 index 9470a37e..00000000 --- a/draft/2020-12/meta/format-annotation +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/format-annotaion.json \ No newline at end of file diff --git a/draft/2020-12/meta/format-annotation b/draft/2020-12/meta/format-annotation new file mode 120000 index 00000000..9470a37e --- /dev/null +++ b/draft/2020-12/meta/format-annotation @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/format-annotaion.json \ No newline at end of file diff --git a/draft/2020-12/meta/format-assertion b/draft/2020-12/meta/format-assertion deleted file mode 100644 index b31c612b..00000000 --- a/draft/2020-12/meta/format-assertion +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/format-assertion.json \ No newline at end of file diff --git a/draft/2020-12/meta/format-assertion b/draft/2020-12/meta/format-assertion new file mode 120000 index 00000000..b31c612b --- /dev/null +++ b/draft/2020-12/meta/format-assertion @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/format-assertion.json \ No newline at end of file diff --git a/draft/2020-12/meta/meta-data b/draft/2020-12/meta/meta-data deleted file mode 100644 index 49e5296e..00000000 --- a/draft/2020-12/meta/meta-data +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/meta-data.json \ No newline at end of file diff --git a/draft/2020-12/meta/meta-data b/draft/2020-12/meta/meta-data new file mode 120000 index 00000000..49e5296e --- /dev/null +++ b/draft/2020-12/meta/meta-data @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/meta-data.json \ No newline at end of file diff --git a/draft/2020-12/meta/unevaluated b/draft/2020-12/meta/unevaluated deleted file mode 100644 index fbd3c938..00000000 --- a/draft/2020-12/meta/unevaluated +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/unevaluated.json \ No newline at end of file diff --git a/draft/2020-12/meta/unevaluated b/draft/2020-12/meta/unevaluated new file mode 120000 index 00000000..fbd3c938 --- /dev/null +++ b/draft/2020-12/meta/unevaluated @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/unevaluated.json \ No newline at end of file diff --git a/draft/2020-12/meta/validation b/draft/2020-12/meta/validation deleted file mode 100644 index 90f062f1..00000000 --- a/draft/2020-12/meta/validation +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/validation.json \ No newline at end of file diff --git a/draft/2020-12/meta/validation b/draft/2020-12/meta/validation new file mode 120000 index 00000000..90f062f1 --- /dev/null +++ b/draft/2020-12/meta/validation @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/meta/validation.json \ No newline at end of file diff --git a/draft/2020-12/output/schema b/draft/2020-12/output/schema deleted file mode 100644 index efe176a0..00000000 --- a/draft/2020-12/output/schema +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/output/schema.json \ No newline at end of file diff --git a/draft/2020-12/output/schema b/draft/2020-12/output/schema new file mode 120000 index 00000000..efe176a0 --- /dev/null +++ b/draft/2020-12/output/schema @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/output/schema.json \ No newline at end of file diff --git a/draft/2020-12/output/verbose-example b/draft/2020-12/output/verbose-example deleted file mode 100644 index 38f31932..00000000 --- a/draft/2020-12/output/verbose-example +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/output/verbose-example.json \ No newline at end of file diff --git a/draft/2020-12/output/verbose-example b/draft/2020-12/output/verbose-example new file mode 120000 index 00000000..38f31932 --- /dev/null +++ b/draft/2020-12/output/verbose-example @@ -0,0 +1 @@ +../../../_includes/draft/2020-12/output/verbose-example.json \ No newline at end of file diff --git a/draft/2020-12/schema b/draft/2020-12/schema deleted file mode 100644 index 70e58e37..00000000 --- a/draft/2020-12/schema +++ /dev/null @@ -1 +0,0 @@ -../../_includes/draft/2020-12/schema.json \ No newline at end of file diff --git a/draft/2020-12/schema b/draft/2020-12/schema new file mode 120000 index 00000000..70e58e37 --- /dev/null +++ b/draft/2020-12/schema @@ -0,0 +1 @@ +../../_includes/draft/2020-12/schema.json \ No newline at end of file From cdc6d90cec3d5f2c6817e65f24bdbc74fa940536 Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Thu, 11 Feb 2021 11:47:39 +0000 Subject: [PATCH 06/11] No format vocabulary for 2020-12, so remove dead symlink --- draft/2020-12/meta/format | 1 - 1 file changed, 1 deletion(-) delete mode 120000 draft/2020-12/meta/format diff --git a/draft/2020-12/meta/format b/draft/2020-12/meta/format deleted file mode 120000 index fa372ff7..00000000 --- a/draft/2020-12/meta/format +++ /dev/null @@ -1 +0,0 @@ -../../../_includes/draft/2020-12/meta/format.json \ No newline at end of file From 7126e0f5133b61518c16babaab2984a8255af238 Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Thu, 11 Feb 2021 11:56:02 +0000 Subject: [PATCH 07/11] Fix typo in symlink --- draft/2020-12/meta/format-annotation | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft/2020-12/meta/format-annotation b/draft/2020-12/meta/format-annotation index 9470a37e..1264ea08 120000 --- a/draft/2020-12/meta/format-annotation +++ b/draft/2020-12/meta/format-annotation @@ -1 +1 @@ -../../../_includes/draft/2020-12/meta/format-annotaion.json \ No newline at end of file +../../../_includes/draft/2020-12/meta/format-annotation.json \ No newline at end of file From d7b93e657807189ef893851dadb26f2c7dee0289 Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Tue, 16 Feb 2021 12:54:15 +0000 Subject: [PATCH 08/11] Move slack link use a nicer redirect link, so only needs to be updated once --- _includes/footer.html | 2 +- _includes/header.html | 2 +- index.md | 4 ++-- slack.md | 3 +++ 4 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 slack.md diff --git a/_includes/footer.html b/_includes/footer.html index beb53386..63643047 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -12,7 +12,7 @@ {% include icon-github.html username=site.github_username %} {% endif %} -
  • Discussion: Slack | Google Groups
  • +
  • Discussion: Slack | Google Groups
  • Site edits: GitHub repo for site
  • diff --git a/_includes/header.html b/_includes/header.html index a63449c6..a744b2a2 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -25,7 +25,7 @@ {{ my_page.title | escape }} {%- endif -%} {% endfor -%} - Join our Slack + Join our Slack {%- endif -%} diff --git a/index.md b/index.md index 0ad7c151..2f1db743 100644 --- a/index.md +++ b/index.md @@ -32,7 +32,7 @@ After that, you could check out all our [learning resources](/learn). We're here to help! -At any point, feel free to join our Slack server using the link in the menu. +At any point, feel free to join our [Slack server](/slack). We also monitor the `jsonschema` tag on StackOverflow. @@ -111,4 +111,4 @@ Questions? Feeling helpful? Get involved on: * [GitHub](http://github.com/json-schema-org/json-schema-spec) * [Google Groups](https://groups.google.com/forum/#!forum/json-schema) -* [Slack](https://join.slack.com/t/json-schema/shared_invite/enQtNjc5NTk0MzkzODg5LTVlZGIxNmVhMGY2MWFlYTdiNDQ5NWFiZGUwOThhNmYxZDE0YzA5YjRiOTA5MGY4ZTZlZGZhZDFmYTY4NWM2N2Y) +* [Slack](/slack) diff --git a/slack.md b/slack.md new file mode 100644 index 00000000..2dc08825 --- /dev/null +++ b/slack.md @@ -0,0 +1,3 @@ +--- +redirect_to: https://join.slack.com/t/json-schema/shared_invite/enQtNjc5NTk0MzkzODg5LTVlZGIxNmVhMGY2MWFlYTdiNDQ5NWFiZGUwOThhNmYxZDE0YzA5YjRiOTA5MGY4ZTZlZGZhZDFmYTY4NWM2N2Y +--- From b891eddea1a301f956578422086b0f708d831453 Mon Sep 17 00:00:00 2001 From: Ben Hutton Date: Tue, 16 Feb 2021 13:05:31 +0000 Subject: [PATCH 09/11] Slightly update some of the phrasing on the home page --- index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index 2f1db743..a240f0e8 100644 --- a/index.md +++ b/index.md @@ -24,13 +24,13 @@ permalink: / Learning a new specification can be daunting. -Luckily, we created this [getting started guide](/learn/getting-started-step-by-step)! +You should read our [getting started guide](/learn/getting-started-step-by-step)! -After that, you could check out all our [learning resources](/learn). +You can also see our other [learning resources](/learn). ### Got questions? -We're here to help! +The JSON Schema team and community are here to help! At any point, feel free to join our [Slack server](/slack). @@ -50,7 +50,7 @@ See the [Specification page](specification.html) for details about naming and nu ### The Path to Standardization -The JSON Schema project intends to shepherd all three draft series to either: RFC status, the equivilent within another standards body, or join a foundation and establish self publication rules. +The JSON Schema project intends to shepherd all three draft series to either: RFC status, the equivilent within another standards body, and/or join a foundation and establish self publication rules.
    Read more From 3bf38aad045439fc253452f02b374793f9507fab Mon Sep 17 00:00:00 2001 From: Jason Desrosiers Date: Wed, 17 Feb 2021 11:39:25 -0800 Subject: [PATCH 10/11] Add warning that Rel JSON Pointer is not used --- specification.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/specification.md b/specification.md index 3516579e..ef7b156f 100644 --- a/specification.md +++ b/specification.md @@ -13,7 +13,9 @@ Specification documents See also the release notes / change log (Work in progress). -The specification is split into two parts, Core and Validation, along with a related specification, Relative JSON Pointers: +The specification is split into two parts, Core and Validation. We also publish +the Relative JSON Pointers spec although it's not currently used by Core or +Validation in any significant way. |--------------------------------------------------------------|-------------------------------------------------------| | [JSON Schema Core](draft/2020-12/json-schema-core.html) | defines the basic foundation of JSON Schema | From 2f21a8374467515ca272fa2b4c8656fc7de27714 Mon Sep 17 00:00:00 2001 From: Relequestual Date: Sat, 20 Feb 2021 09:03:09 +0000 Subject: [PATCH 11/11] Move Hyper Schema listing on implementations page --- implementations.md | 82 +++++++++++++++++++++++----------------------- index.md | 2 +- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/implementations.md b/implementations.md index 8a3cdf62..f626c71c 100644 --- a/implementations.md +++ b/implementations.md @@ -78,47 +78,6 @@ Benchmarks that compare at least two implementations supporting draft-06+ may be - PHP - [php-json-schema-bench](https://github.com/swaggest/php-json-schema-bench) - comparative benchmark for JSON-schema PHP validators using JSON-Schema Test Suite and z-schema/JSCK (MIT) -Hyper-Schema ---------------------- - - - - - -
      - {% for language in hyper-schema-libraries %} -
    • - {{language.name}} -
        - {% for implementation in language.implementations %} -
      • - {{ implementation.name }} - - {% if implementation.draft %} - draft-0{{ implementation.draft | join: ", -0" }} - {% endif %} - - {{implementation.notes | markdownify | remove: '

        ' | remove: '

        '}} - - {% if implementation.license %} - ({{ implementation.license | join: ", " }}) - {% endif %} - -
      • - {% endfor %} -
      -
    • - {% endfor %} -
    - #### API documentation - JavaScript @@ -306,3 +265,44 @@ Schema Linter - [json-schema-linter](https://www.json-schema-linter.com/) - Lint/validate/parse json-schema itself, and find typos, missing properties, missing required keys, etc. Supports draft 4, 6, and 7. - [Stoplight Spectral](https://stoplight.io/open-source/spectral) - A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2/v3 and JSON Schema. Supports draft 4, 6, and 7. + +Hyper-Schema +--------------------- + + + + + +
      + {% for language in hyper-schema-libraries %} +
    • + {{language.name}} +
        + {% for implementation in language.implementations %} +
      • + {{ implementation.name }} + + {% if implementation.draft %} + draft-0{{ implementation.draft | join: ", -0" }} + {% endif %} + + {{implementation.notes | markdownify | remove: '

        ' | remove: '

        '}} + + {% if implementation.license %} + ({{ implementation.license | join: ", " }}) + {% endif %} + +
      • + {% endfor %} +
      +
    • + {% endfor %} +
    \ No newline at end of file diff --git a/index.md b/index.md index 51d60b0e..4adc7d49 100644 --- a/index.md +++ b/index.md @@ -103,7 +103,7 @@ Interested? Check out: * [Understanding JSON Schema](/understanding-json-schema/) * The [specification](./specification.md) * [Learning resources](./learn/index.md) -* the growing list of [JSON (Hyper-)Schema software](./implementations.md) +* the growing list of [JSON Schema software](./implementations.md) We encourage updating to the latest specification where possible, which is 2020-12.