You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pages/draft-06/json-hyper-schema-release-notes.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,8 +31,8 @@ While we knew that there were still major gaps in draft-06, we felt that it was
31
31
32
32
#### Changes from draft-04 to draft-05
33
33
34
-
keyword | change | consequence
35
-
---- | ---- | ----
34
+
| keyword | change | consequence
35
+
| ---- | ---- | ----
36
36
`"base"` | replaces looking up the nearest "self" link to determine the base URI for `"href"` | if you were relying on "self" links to change the base, set `"base"` explicitly
37
37
`"rel"` | "full" relation removed | use ["item"](https://github.com/json-schema-org/json-schema-spec/issues/295)
38
38
`"rel"` | "instances" and "create" relations removed | use ["collection"](https://github.com/json-schema-org/json-schema-spec/issues/295)
@@ -43,8 +43,8 @@ keyword | change | consequence
43
43
44
44
#### Changes from draft-05 to draft-06
45
45
46
-
keyword | change | consequence
47
-
---- | ---- | ----
46
+
| keyword | change | consequence
47
+
| ---- | ---- | ----
48
48
`"method"` | *removed* | for HTTP method proposals, see issues [#73](https://github.com/json-schema-org/json-schema-spec/issues/73) and [#296](https://github.com/json-schema-org/json-schema-spec/issues/296) (use either `"method"` or `"allow"` as an extension keyword if needed); indication of how to use `"schema"` and `"encType"` no longer necessary
49
49
`"schema"` | *removed* | use `"hrefSchema"`, `"submissionSchema"`, or `"targetSchema"` |
50
50
`"encType"` | *removed* | use `"submissionEncType"` for request bodies; no longer needed for URI query strings
Copy file name to clipboardExpand all lines: pages/draft-06/json-schema-release-notes.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,8 +21,8 @@ For more information, see that draft's [migration notes](../../draft-07/json-sch
21
21
22
22
#### Backwards-incompatible changes
23
23
24
-
keyword | change | consequence
25
-
---- | ---- | ----
24
+
| keyword | change | consequence
25
+
| ---- | ---- | ----
26
26
`"id"` | replaced by `"$id"` | no longer easily confused with instance properties named `"id"`
27
27
`"$id"` | replaces `"id"` | behavior is identical, `$` prefix matches the other two core keywords
28
28
`"$ref"` | only allowed where a schema is expected | it is now possible to describe instance properties named `"$ref"`
@@ -31,8 +31,8 @@ keyword | change | consequence
31
31
32
32
#### Additions and backwards-compatible changes
33
33
34
-
keyword | change | consequence
35
-
---- | ---- | ----
34
+
| keyword | change | consequence
35
+
| ---- | ---- | ----
36
36
booleans as schemas | allowable anywhere, not just `"additionalProperties"` and `"additionalItems"` | `true` is equivalent to `{}`, `false` is equivalent to `{"not": {}}`, but the intent is more clear and implementations can optimize these cases more easily
37
37
`"propertyNames"` | added | takes a schema which validates the *names* of all properties rather than their values
38
38
`"contains"` | added | array keyword that passes validation if its schema validates at least one array item
Copy file name to clipboardExpand all lines: pages/draft-07/json-schema-release-notes.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,8 +26,8 @@ more clearly than before.
26
26
* No keywords were removed
27
27
* Some keywords were moved from Hyper-Schema, and two of those were renamed
28
28
29
-
keyword | change | notes
30
-
---- | ---- | ----
29
+
| keyword | change | notes
30
+
| ---- | ---- | ----
31
31
[`"$comment"`](../../draft-07/json-schema-core.html#rfc.section.9) | added to Core | Intended for notes to schema maintainers, as opposed to [`"description"`](../../draft-07/json-schema-validation.html#rfc.section.10.1) which is suitable for display to end users
[`"readOnly"`](../../draft-07/json-schema-validation.html#rfc.section.10.3) | moved from Hyper-Schema to Validation | not limited to hypermedia environments
@@ -41,8 +41,8 @@ Note that the `"content*"` keywords do not _require_ validation.
41
41
42
42
Numerous formats were added, clarified, or restored from older drafts.
43
43
44
-
format | change | notes
45
-
---- | ---- | ----
44
+
| format | change | notes
45
+
| ---- | ---- | ----
46
46
[`"iri"`](../../draft-07/json-schema-validation.html#rfc.section.7.3.5) | added | I18N equivalent of `"uri"`
47
47
[`"iri-reference"`](../../draft-07/json-schema-validation.html#rfc.section.7.3.5) | added | I18N equivalent of `"uri-reference"`
48
48
[`"uri-template"`](../../draft-07/json-schema-validation.html#rfc.section.7.3.6) | noted IRI support | There is no separate IRI Template standard
@@ -102,8 +102,8 @@ that its use for JSON Schema was not correct. The new guidance for
102
102
[what relations to use](../../draft-07/json-schema-core.html#rfc.section.11.1)
103
103
to link instances to schemas is:
104
104
105
-
link relation | change | notes
106
-
---- | ---- | ----
105
+
| link relation | change | notes
106
+
| ---- | ---- | ----
107
107
"describedBy" | no change | network-accessible URL
108
108
"profile" | removed; use "schema" | opaque identifying URI
[`$anchor`](../../draft/2019-09/json-schema-core.html#rfc.section.8.2.3) | **new** | Replaces the `#plain-name` form of `$id`, with a different syntax and approach
61
61
[`$defs` (renamed from `definitions`)](../../draft/2019-09/json-schema-core.html#rfc.section.8.2.5) | **renamed** | Note that the standard meta-schema still reserves `definitions` for backwards compatibility
62
62
[`$id`](../../draft/2019-09/json-schema-core.html#rfc.section.8.2.2) | **changed** | Only URI-references without fragments are allowed; see `$anchor` for a replacement for plain-name fragments; all other fragments in `$id` had undefined behavior previously
@@ -70,8 +70,8 @@ keyword | change | notes
70
70
71
71
These keywords were formerly found in the Validation Specification.
72
72
73
-
keyword | change | notes
74
-
---- | ---- | ----
73
+
| keyword | change | notes
74
+
| ---- | ---- | ----
75
75
[`dependentSchemas` (split from `dependencies`)](../../draft/2019-09/json-schema-core.html#rfc.section.9.2.2.4) | **split** | This is the schema form of `dependencies`; note that the standard meta-schema still reserves `dependencies` for backwards compatibility
76
76
[`unevaluatedItems`](../../draft/2019-09/json-schema-core.html#rfc.section.9.3.1.3) | **new** | Similar to `additionalItems`, but can "see" into subschemas and across references
77
77
[`unevaluatedProperties`](../../draft/2019-09/json-schema-core.html#rfc.section.9.3.2.4) | **new** | Similar to `additionalProperties`, but can "see" into subschemas and across references
@@ -82,8 +82,8 @@ The other applicator vocabulary keywords are `items`, `additionalItems`, `proper
[`dependentRequired` (split from `dependencies`)](../../draft/2019-09/json-schema-validation.html#rfc.section.6.5.4) | **split** | This is the string array form of `dependencies`; note that the standard meta-schema still reserves `dependencies` for backwards compatibility
88
88
[`maxContains` and `minContains`](../../draft/2019-09/json-schema-validation.html#rfc.section.6.4.4) | **new** | Assertion for controlling how many times a subschema must be matched within an array
89
89
@@ -102,11 +102,11 @@ In the following charts, the "supported" column refers to whether and (for `2019
102
102
103
103
**Summary of draft-07 behavior**
104
104
105
-
supported | configuration | outcome
106
-
----------- | ------------- | -------------
107
-
no | n/a | not validated
108
-
yes | _default_ (on)| inconsistently validated
109
-
yes | off | not validated
105
+
| supported | configuration | outcome
106
+
| ----------- | ------------- | -------------
107
+
| no | n/a | not validated
108
+
| yes | _default_ (on)| inconsistently validated
109
+
| yes | off | not validated
110
110
111
111
Obviously, each implementation will behave consistently from schema to schema, although some formats may be supported more thoroughly than others despite the wording in the specification. However, complex formats are, in practice, supported to different degrees in each implementation. If they are supported at all.
112
112
@@ -120,28 +120,28 @@ The goal with this draft is to make the default behavior predictable, with the i
120
120
121
121
* An outcome of _vocabulary error_ means that the implementation will refuse to process the schema as it cannot satisfy the vocabulary requirement.
| best effort | _default_ (off)| false | not validated
128
+
| best effort | _default_ (off)| true | _vocabulary error_
129
+
| best effort | on | false | best effort validation
130
+
| best effort | on | true | _vocabulary error_
131
+
| full syntax | _default_ (off)| false | not validated
132
+
| full syntax | _default_ (off)| true | full syntax validation
133
+
| full syntax | on | false | full syntax validation
134
+
| full syntax | on | true | full syntax validation
135
135
136
136
Note that, given that almost no draft-07 or earlier implementations have offered strict and complete validation of every single format, it seems unlikely that any implementations will support option 3 option in practice.
137
137
138
138
Additionally, two new formats were added, and a specification reference was updated:
139
139
140
-
format | change | notes
141
-
---- | ---- | ----
142
-
[`"duration"`](../../draft/2019-09/json-schema-validation.html#rfc.section.7.3.1) | **added** | The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339
143
-
[`"hostname"` and `"idn-hostname"`](../../draft/2019-09/json-schema-validation.html#rfc.section.7.3.3) | **updated** | Use RFC 1123 instead of RFC 1034; this allows for a leading digit
144
-
[`"uuid"`](../../draft/2019-09/json-schema-validation.html#rfc.section.7.3.5) | **added** | A string instance is valid against this attribute if it is a valid string representation of a UUID, according to RFC4122
140
+
|format | change | notes
141
+
| ---- | ---- | ----
142
+
| [`"duration"`](../../draft/2019-09/json-schema-validation.html#rfc.section.7.3.1) | **added** | The duration format is from the ISO 8601 ABNF as given in Appendix A of RFC 3339
143
+
| [`"hostname"` and `"idn-hostname"`](../../draft/2019-09/json-schema-validation.html#rfc.section.7.3.3) | **updated** | Use RFC 1123 instead of RFC 1034; this allows for a leading digit
144
+
| [`"uuid"`](../../draft/2019-09/json-schema-validation.html#rfc.section.7.3.5) | **added** | A string instance is valid against this attribute if it is a valid string representation of a UUID, according to RFC4122
145
145
146
146
147
147
#### Content Vocabulary
@@ -150,23 +150,23 @@ format | change | notes
150
150
151
151
These keywords are now specified purely as annotations, and never assertions. Some guidance is provided around how an implementation can optionally offer further automatic processing of this information outside of the validation process.
152
152
153
-
keyword | change | notes
154
-
---- | ---- | ----
155
-
[`contentEncoding`](../../draft/2019-09/json-schema-validation.html#rfc.section.8.3) | **updated** | Encodings from RFC 4648 are now allowed, and take precedence over RFC 2045 when there is a difference
156
-
[`contentSchema`](../../draft/2019-09/json-schema-validation.html#rfc.section.8.5) | **added** | Schema for use with the decoded content string; note that it is _not_ automatically applied as not all content media types can be understood in advance
153
+
| keyword | change | notes
154
+
| ---- | ---- | ----
155
+
| [`contentEncoding`](../../draft/2019-09/json-schema-validation.html#rfc.section.8.3) | **updated** | Encodings from RFC 4648 are now allowed, and take precedence over RFC 2045 when there is a difference
156
+
| [`contentSchema`](../../draft/2019-09/json-schema-validation.html#rfc.section.8.5) | **added** | Schema for use with the decoded content string; note that it is _not_ automatically applied as not all content media types can be understood in advance
[`deprecated`](../../draft/2019-09/json-schema-validation.html#rfc.section.9.3) | **added** | Used to indicate that a field is deprecated in some application-specific manner
162
+
| keyword | change | notes
163
+
| ---- | ---- | ----
164
+
| [`deprecated`](../../draft/2019-09/json-schema-validation.html#rfc.section.9.3) | **added** | Used to indicate that a field is deprecated in some application-specific manner
165
165
166
166
#### Hyper-Schema Vocabulary
167
167
168
168
[Hyper-Schema Specification, Sections 5 and 6](../../draft/2019-09/json-schema-hypermedia.html#rfc.section.5)
169
169
170
-
keyword | change | notes
171
-
---- | ---- | ----
172
-
[`rel`](../../draft/2019-09/json-schema-hypermedia.html#rfc.section.6.2.1) | **changed** | Can now be an array of values instead of just a string
170
+
| keyword | change | notes
171
+
| ---- | ---- | ----
172
+
| [`rel`](../../draft/2019-09/json-schema-hypermedia.html#rfc.section.6.2.1) | **changed** | Can now be an array of values instead of just a string
0 commit comments