Skip to content

Commit 84c49a8

Browse files
authored
Merge pull request #4184 from lornajane/formal-minor-patch-criteria
Add criteria for minor and patch releases
2 parents ead4862 + 5dca9eb commit 84c49a8

File tree

1 file changed

+29
-5
lines changed

1 file changed

+29
-5
lines changed

Diff for: CONTRIBUTING.md

+29-5
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ For example, if a change in November 2024 apples to both 3.1 and 3.2, the PR wou
4040

4141
## Publishing
4242

43-
The specification and schemas are published to the [spec site](https://spec.openapis.org) by creating an `vX.Y.Z-rel` branch where `src/oas.md` is renamed to the appropriate `versions/X.Y.Z.md` file and them merged to `main`. The HTML versions of the OAS are automatically generated from the `versions` directory on `main`. This renaming on the `vX.Y.Z-rel` branch preserves the commit history for the published file on `main` when using `git log --follow` (as is the case for all older published files).
43+
The specification and schemas are published to the [spec site](https://spec.openapis.org) by creating an `vX.Y.Z-rel` branch where `src/oas.md` is renamed to the appropriate `versions/X.Y.Z.md` file and then merged to `main`. The HTML versions of the OAS are automatically generated from the `versions` directory on `main`. This renaming on the `vX.Y.Z-rel` branch preserves the commit history for the published file on `main` when using `git log --follow` (as is the case for all older published files).
4444

4545
The publishing process for schemas is still under discussion (see issues [#3715](https://github.com/OAI/OpenAPI-Specification/issues/3715) and [#3716](https://github.com/OAI/OpenAPI-Specification/issues/3716)), with the current proposal being to release them directly from the `vX.Y-dev` branch without merging to `main`, as the schemas in source control have placeholder identifiers and are not intended to be used as-is.
4646

@@ -216,10 +216,34 @@ Plus some suggestions, rather than rules:
216216

217217
## Release Process and Scope
218218

219-
* Issue #3528: [3.x.y patch release approach](https://github.com/OAI/OpenAPI-Specification/issues/3528)
220-
* Issue #3529: [3.x minor release approach](https://github.com/OAI/OpenAPI-Specification/issues/3529)
221-
* Issue #3715: [Define and document our schema publishing process](https://github.com/OAI/OpenAPI-Specification/issues/3715)
222-
* Issue #3785: [Style guide / release checklist for the specification](https://github.com/OAI/OpenAPI-Specification/issues/3785)
219+
This section relates to the 3.x versions only.
220+
221+
### Minor Releases
222+
223+
Our roadmap for 3.x releases is community-driven, meaning the specification is open for proposed additions by anyone (see [Proposals for Specification Changes](#proposals-for-specification-changes)), in addition to the issues already on the project backlog.
224+
225+
Changes in minor releases (such as 3.2, 3.3) meet the following criteria:
226+
227+
* Are **backwards-compatible** and be reasonably easy to implement in tooling that already supports the previous minor version.
228+
For example, new optional fields can be added.
229+
* Drive quality-of-life improvements to support how OpenAPI is used by practitioners, so that OpenAPI evolves to continue to meet user needs.
230+
For example, adding fields to support changes in other standards, or adopting common `x-*` extension fields into the specification.
231+
* Bring the future closer by making changes that are in line with future 3.x releases and the planned OpenAPI 4.x (Moonwalk) specification as the details of that become available.
232+
* Make the specification document clearer or easier to understand.
233+
234+
A minor release is due when there are some meaningful features (including one or a small number of headline features).
235+
236+
### Patch Releases
237+
238+
Patch releases reflect a constant quest for improving the active minor versions of OpenAPI.
239+
Since we do not edit specification documents after publication, even the smallest change has to be in a new release.
240+
241+
Changes in patch releases meet the following criteria:
242+
243+
* Editorial changes such as spelling or formatting fixes, including link updates.
244+
* Clarifications or additions that do not change the meaning of the specification.
245+
246+
Patch releases are created as often as there are changes to the specification worth releasing.
223247

224248
## Branching and Versioning
225249

0 commit comments

Comments
 (0)