Skip to content

Commit 5013d41

Browse files
authored
Merge branch 'v3.2-dev' into self2
2 parents cdf4409 + f05be64 commit 5013d41

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+4773
-354
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ node_modules/
88
deploy/
99
deploy-preview/
1010
coverage/
11-
history
11+
_site/
1212
Gemfile.lock

CONTRIBUTING.md

+50-14
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ For information on the branch and release strategy for OAS 3.0.4 and 3.1.1 and e
336336
### Branch roles
337337

338338
* `main` is used to publish finished work and hold the authoritative versions of general documentation such as this document, which can be merged out to other branches as needed. The `src` tree is ***not*** present on `main`.
339-
* `dev` is the primary branch for working with the `src` tree, which is kept up-to-date with the most recent release on the most recent minor (X.Y) release line, and serves as the base for each new minor release line. Development infrastructure that is not needed on `main` is maintained here, and can be merged out to other non-`main` branches as needed.
339+
* `dev` is the primary branch for working with the `src` tree. Development infrastructure that is not needed on `main` is maintained here, and can be merged out to other non-`main` branches as needed.
340340
Changes on `main` are automatically included in a pull request to `dev` (see the (section on [branch sync](#branch-sync-automation)).
341341
* `vX.Y-dev` is the minor release line development branch for X.Y, including both the initial X.Y.0 minor version and all subsequent X.Y.Z patch versions. All PRs are made to oldest active `vX.Y-dev` branch to which the change is relevant, and then merged forward as shown in the diagram further down in this document.
342342
* `vX.Y.Z-rel` is the release branch for an X.Y.Z release (including when Z == 0). It exists primarily for `git mv`-ing `src/oas.md` to the appropriate `versions/X.Y.Z.md` location before merging back to `main`, and can also be used for any emergency post-release fixes that come up, such as when a 3rd party changes URLs in a way that breaks published links.
@@ -348,17 +348,15 @@ Upon release:
348348
* Pre-release steps:
349349
* The most recent _published_ patch release from the previous line is merged up to `vX.Y-dev`, if relevant
350350
* If doing simultaneous releases on multiple lines, do them from the oldest to newest line
351-
* If the release is the most recent on the current line, merge `vX.Y-dev` to `dev`
352351
* For example, if releasing 3.1.3 and 3.2.0:
353-
* release 3.1.3 first, including merging `v3.1-dev` to `dev` as 3.1 is current at that moment
354-
* release 3.2.0 second, also merging `v3.2-dev` to `dev` as 3.2 becomes current at that point
355-
* any subsequent 3.1.4 would **_not_** trigger a merge of `v3.1-dev` to `dev`, as 3.1 would no longer be current
352+
* release 3.1.3 first
353+
* release 3.2.0 second
356354
* Release branching and merging:
357355
* branch `vX.Y.Z-rel` from `vX.Y-dev` (same commit that was merged to `dev` if relevant)
358-
* After renaming `src/oas.md` to `versions/X.Y.Z.md`, merge `vX.Y.Z-rel` to `main`
356+
* After renaming `src/oas.md` to `versions/X.Y.Z.md` and [other adjustments](#specification-versions), merge `vX.Y.Z-rel` to `main`
359357
* Publishing to the [spec site](https://spec.openapis.org) is triggered by the merge to `main`
360358
* Post-release steps:
361-
* If this was a major or minor release (Z == 0), branch `vX.Y+1-dev` from `dev`, from the commit where `vX.Y-dev` was merged to `dev`
359+
* If this was a major or minor release (Z == 0), branch `vX.Y+1-dev` from `vX.Y-dev`
362360

363361
_Release lines are grouped by color, although the colors of `dev` and `main` are not significant as these diagrams are limited to only 8 colors._
364362

@@ -399,31 +397,50 @@ gitGraph TB:
399397
checkout v3.1-dev
400398
branch v3.1.2-rel order:3
401399
commit id:"rename src/oas.md to versions/3.1.2.md"
402-
checkout dev
403-
merge v3.1-dev id:"update dev with active line patch release"
400+
404401
checkout main
405402
merge v3.1.2-rel tag:"3.1.2"
403+
checkout dev
404+
merge main id:"auto-sync from main"
405+
checkout v3.1-dev
406+
merge dev id:"auto-sync from dev"
406407
checkout v3.2-dev
408+
merge dev id:"auto-sync from dev "
409+
407410
commit id:"more 3.2.0 work"
408411
checkout v3.1-dev
409412
commit id:"update version in src/oas.md to 3.1.3"
410413
commit id:"another 3.1.x fix"
411414
checkout v3.2-dev
412415
commit id:"still more 3.2.0 work"
413416
merge v3.1-dev id:"merge 3.1.3 fixes before releasing"
414-
checkout dev
415-
merge v3.1-dev id:"update dev with last pre-minor release patch release"
416-
merge v3.2-dev id:"update dev with minor release"
417+
417418
checkout v3.1-dev
418419
branch v3.1.3-rel order:4
419420
commit id:"rename src/oas.md to versions/3.1.3.md"
420421
checkout v3.2-dev
421422
branch v3.2.0-rel order:7
422423
commit id:"rename src/oas.md to versions/3.2.0.md"
424+
423425
checkout main
424426
merge v3.1.3-rel tag:"3.1.3"
427+
checkout dev
428+
merge main id:" auto-sync from main"
429+
checkout v3.1-dev
430+
merge dev id:" auto-sync from dev"
431+
checkout v3.2-dev
432+
merge dev id:" auto-sync from dev "
433+
434+
checkout main
425435
merge v3.2.0-rel tag:"3.2.0"
426436
checkout dev
437+
merge main id:" auto-sync from main"
438+
checkout v3.1-dev
439+
merge dev id:" auto-sync from dev"
440+
checkout v3.2-dev
441+
merge dev id:" auto-sync from dev "
442+
443+
checkout v3.2-dev
427444
branch v3.3-dev order:9
428445
checkout v3.1-dev
429446
commit id:"update version in src/oas.md to 3.1.4"
@@ -439,17 +456,36 @@ gitGraph TB:
439456
merge v3.1-dev id:"merge 3.1.4 fixes before releasing"
440457
checkout v3.3-dev
441458
merge v3.2-dev id:"merge 3.1.4 / 3.2.1 fixes"
442-
checkout dev
443-
merge v3.2-dev id:"merge patch from active release line"
459+
444460
checkout v3.1-dev
445461
branch v3.1.4-rel order:5
446462
commit id:"rename src/oas.md to versions/3.1.4.md"
447463
checkout v3.2-dev
448464
branch v3.2.1-rel order:8
449465
commit id:"rename src/oas.md to versions/3.2.1.md"
466+
450467
checkout main
451468
merge v3.1.4-rel tag:"3.1.4"
469+
checkout dev
470+
merge main id:" auto-sync from main"
471+
checkout v3.1-dev
472+
merge dev id:" auto-sync from dev"
473+
checkout v3.2-dev
474+
merge dev id:" auto-sync from dev "
475+
checkout v3.3-dev
476+
merge dev id:" auto-sync from dev "
477+
478+
checkout main
452479
merge v3.2.1-rel tag:"3.2.1"
480+
checkout dev
481+
merge main id:" auto-sync from main"
482+
checkout v3.1-dev
483+
merge dev id:" auto-sync from dev"
484+
checkout v3.2-dev
485+
merge dev id:" auto-sync from dev "
486+
checkout v3.3-dev
487+
merge dev id:" auto-sync from dev "
488+
453489
checkout v3.2-dev
454490
commit id:"update version in src/oas.md to 3.2.2"
455491
checkout v3.3-dev

README.md

-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ This GitHub project is the starting point for OpenAPI. Here you will find the in
1919

2020
This repository contains [the Markdown sources](versions) for [all published OpenAPI Specification versions](https://spec.openapis.org/). For release notes and release candidate versions, refer to the [releases page](releases).
2121

22-
Each folder in this repository, such as [schemas](schemas) and [tests](tests), should contain folders pertaining to the current and previous versions of the specification.
23-
2422
## See It in Action
2523

2624
If you just want to see it work, check out the [list of current examples](https://learn.openapis.org/examples/).

_archive_/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Archive
2+
3+
This folder contains files that are no longer actively maintained.

_archive_/schemas/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Archive of outdated JSON Schema Files
2+
3+
> [!TIP]
4+
> JSON Schema files for validating OpenAPI descriptions using current OpenAPI versions are available on https://spec.openapis.org/#openapi-specification-schemas.
5+
>
6+
> These schema files are maintained in the `src/schemas` folder of the corresponding `vX.Y-dev` branch in this repository.
7+
8+
> [!CAUTION]
9+
> Schema files in this folder are not maintained any more and are not intended for productive use.

_archive_/schemas/v1.2/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Swagger Specification JSON Schemas
2+
3+
The work on the JSON Schema for the Swagger Specification was donated to the community by [Francis Galiegue](https://github.com/fge)!
4+
5+
Keep in mind that due to some JSON Schema limitations, not all constraints can be described. The missing constraints will be listed here in the future.
+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"id": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/apiDeclaration.json#",
3+
"$schema": "http://json-schema.org/draft-04/schema#",
4+
"type": "object",
5+
"required": [ "swaggerVersion", "basePath", "apis" ],
6+
"properties": {
7+
"swaggerVersion": { "enum": [ "1.2" ] },
8+
"apiVersion": { "type": "string" },
9+
"basePath": {
10+
"type": "string",
11+
"format": "uri",
12+
"pattern": "^https?://"
13+
},
14+
"resourcePath": {
15+
"type": "string",
16+
"format": "uri",
17+
"pattern": "^/"
18+
},
19+
"apis": {
20+
"type": "array",
21+
"items": { "$ref": "#/definitions/apiObject" }
22+
},
23+
"models": {
24+
"type": "object",
25+
"additionalProperties": {
26+
"$ref": "modelsObject.json#"
27+
}
28+
},
29+
"produces": { "$ref": "#/definitions/mimeTypeArray" },
30+
"consumes": { "$ref": "#/definitions/mimeTypeArray" },
31+
"authorizations": { "$ref": "authorizationObject.json#" }
32+
},
33+
"additionalProperties": false,
34+
"definitions": {
35+
"apiObject": {
36+
"type": "object",
37+
"required": [ "path", "operations" ],
38+
"properties": {
39+
"path": {
40+
"type": "string",
41+
"format": "uri-template",
42+
"pattern": "^/"
43+
},
44+
"description": { "type": "string" },
45+
"operations": {
46+
"type": "array",
47+
"items": { "$ref": "operationObject.json#" }
48+
}
49+
},
50+
"additionalProperties": false
51+
},
52+
"mimeTypeArray": {
53+
"type": "array",
54+
"items": {
55+
"type": "string",
56+
"format": "mime-type"
57+
},
58+
"uniqueItems": true
59+
}
60+
}
61+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"id": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/authorizationObject.json#",
3+
"$schema": "http://json-schema.org/draft-04/schema#",
4+
"type": "object",
5+
"additionalProperties": {
6+
"oneOf": [
7+
{
8+
"$ref": "#/definitions/basicAuth"
9+
},
10+
{
11+
"$ref": "#/definitions/apiKey"
12+
},
13+
{
14+
"$ref": "#/definitions/oauth2"
15+
}
16+
]
17+
},
18+
"definitions": {
19+
"basicAuth": {
20+
"required": [ "type" ],
21+
"properties": {
22+
"type": { "enum": [ "basicAuth" ] }
23+
},
24+
"additionalProperties": false
25+
},
26+
"apiKey": {
27+
"required": [ "type", "passAs", "keyname" ],
28+
"properties": {
29+
"type": { "enum": [ "apiKey" ] },
30+
"passAs": { "enum": [ "header", "query" ] },
31+
"keyname": { "type": "string" }
32+
},
33+
"additionalProperties": false
34+
},
35+
"oauth2": {
36+
"type": "object",
37+
"required": [ "type", "grantTypes" ],
38+
"properties": {
39+
"type": { "enum": [ "oauth2" ] },
40+
"scopes": {
41+
"type": "array",
42+
"items": { "$ref": "#/definitions/oauth2Scope" }
43+
},
44+
"grantTypes": { "$ref": "oauth2GrantType.json#" }
45+
},
46+
"additionalProperties": false
47+
},
48+
"oauth2Scope": {
49+
"type": "object",
50+
"required": [ "scope" ],
51+
"properties": {
52+
"scope": { "type": "string" },
53+
"description": { "type": "string" }
54+
},
55+
"additionalProperties": false
56+
}
57+
}
58+
}
59+

0 commit comments

Comments
 (0)