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: PROCESS.md
+35-6
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ This document describes the development and publication process for the JSON Sch
13
13
14
14
Some behaviors within JSON Schema may be explicitly or implicitly undefined by the specifications for various reasons. How to handle these behaviors is generally left to implementations.
15
15
16
-
A defined behavior is one that is fully defined by the specifications.
16
+
A defined behavior is one that is fully and unambiguously defined by the specifications.
17
17
18
18
### Stability and Breaking Changes
19
19
@@ -23,6 +23,35 @@ If an existing schema under the new release exhibits defined behavior that is co
23
23
24
24
If a new release fully defines a previously undefined (or under-defined) behavior, the new release is still considered compatible, even if it contradicts the decision of any particular implementation.
25
25
26
+
For reference, this table shows the validation results of a hypothetical schema and instance across two consecutive releases to illustrate the compatibility of those releases:
A release is any single publication of the JSON Schema specifications (as a group).
@@ -33,7 +62,7 @@ Consecutive releases which maintain compatibility with each other comprise a ver
33
62
34
63
## Release and Version
35
64
36
-
The JSON Schema specification will aim to publish annually on or about the first of January each year. Releases are identified by the year they are published.
65
+
The JSON Schema specification will aim to publish annually on or about the First of January each year. Releases are identified by the year they are published.
37
66
38
67
When a new release contains breaking changes, that release begins a new version of JSON Schema.
The latest-release meta-schemas will be updated with proposals as indicated by the [Proposal section](#proposal) of this document.
70
99
71
100
```diff
72
-
@@ These are merely publication URLs. The spec will define the `$id` values for the meta-schemas. @@
101
+
@@ These are merely publication URLs. The specification will define the `$id` values for the meta-schemas. @@
73
102
```
74
103
75
104
## Feature Life Cycle
@@ -128,7 +157,7 @@ Tests for the proposal are added to the JSON Schema Test Suite.
128
157
129
158
Once the initial proposal has been completed, implementations may begin to support the new feature.
130
159
131
-
Feedback from implementers and users are result in refinements to the proposal, which will then be updated in the implementations.
160
+
Feedback from implementers and users are expected to result in refinements to the proposal, which will then be updated in the implementations.
132
161
133
162
Breaking changes to a proposed feature MAY occur, but are highly discouraged.
134
163
@@ -144,15 +173,15 @@ In order to proceed to the next stage ([Stable](#stable)):
144
173
145
174
Experimental features are not considered to be interoperable across implementations.
146
175
147
-
If a proposal cannot advance to the next stage, it may be removed. The proposal document is moved to an `archive` subfolder, the keyword is removed from the meta-schemas, and any tests are moved to an `archive` subfolder. The removal of a non-stable feature is not considered a breaking change.
176
+
If a proposal cannot advance to the next stage, it may be removed. The proposal document is moved to an `archive` subfolder, the keyword is removed from the meta-schemas, and any tests are moved to an `archive` subfolder. The removal of a feature which has not reached the stable state is not considered a breaking change.
148
177
149
178
### Stable
150
179
151
180
The proposal is incorporated into the specification in the `main` branch, and the feature will be required as of the next release.
152
181
153
182
The appropriate vocabulary meta-schema in the `main` branch is updated to include a subschema that validates the feature's syntax requirements. This will be made available with the next release.
154
183
155
-
The published meta-schema (for the current release) will have the keyword removed.
184
+
Upon publication of the new release, the meta-schema for the lapsed release will have the keyword removed.
156
185
157
186
The appropriate tests are incorporated into the main suite.
0 commit comments