From 89f9cda4e3e7f8116ceb728c056624af98258b9d Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 1 Nov 2024 11:04:19 +0100 Subject: [PATCH 01/28] Create schema-test-coverage.mjs --- scripts/schema-test-coverage.mjs | 104 +++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 scripts/schema-test-coverage.mjs diff --git a/scripts/schema-test-coverage.mjs b/scripts/schema-test-coverage.mjs new file mode 100644 index 0000000000..e39758b825 --- /dev/null +++ b/scripts/schema-test-coverage.mjs @@ -0,0 +1,104 @@ +import { readdir, readFile } from "node:fs/promises"; +import YAML from "yaml"; +import { join } from "node:path"; +import { argv } from "node:process"; +import "@hyperjump/json-schema/draft-2020-12"; +import { compile, getSchema, interpret, Validation } from "@hyperjump/json-schema/experimental"; +import * as Instance from "@hyperjump/json-schema/instance/experimental"; + +/** + * @import { AST } from "@hyperjump/json-schema/experimental" + * @import { Json } from "@hyperjump/json-schema" + */ + +import contentTypeParser from "content-type"; +import { addMediaTypePlugin } from "@hyperjump/browser"; +import { buildSchemaDocument } from "@hyperjump/json-schema/experimental"; + +addMediaTypePlugin("application/schema+yaml", { + parse: async (response) => { + const contentType = contentTypeParser.parse(response.headers.get("content-type") ?? ""); + const contextDialectId = contentType.parameters.schema ?? contentType.parameters.profile; + + const foo = YAML.parse(await response.text()); + return buildSchemaDocument(foo, response.url, contextDialectId); + }, + fileMatcher: (path) => path.endsWith(".yaml") +}); + +/** @type (testDirectory: string) => AsyncGenerator */ +const tests = async function* (testDirectory) { + for (const file of await readdir(testDirectory, { recursive: true, withFileTypes: true })) { + if (!file.isFile() || !file.name.endsWith(".yaml")) { + continue; + } + + const testPath = join(file.parentPath, file.name); + const testJson = await readFile(testPath, "utf8"); + yield YAML.parse(testJson); + } +}; + +/** @type (testDirectory: string) => Promise */ +const runTests = async (testDirectory) => { + for await (const test of tests(testDirectory)) { + const instance = Instance.fromJs(test); + + interpret(compiled, instance); + } +}; + +/** @type (ast: AST) => string[] */ +const keywordLocations = (ast) => { + /** @type string[] */ + const locations = []; + for (const schemaLocation in ast) { + if (schemaLocation === "metaData") { + continue; + } + + if (Array.isArray(ast[schemaLocation])) { + for (const keyword of ast[schemaLocation]) { + if (Array.isArray(keyword)) { + locations.push(keyword[1]); + } + } + } + } + + return locations; +}; + +/////////////////////////////////////////////////////////////////////////////// + +const schema = await getSchema(argv[2]); +const compiled = await compile(schema); + +/** @type Set */ +const visitedLocations = new Set(); +const baseInterpret = Validation.interpret; +Validation.interpret = (url, instance, ast, dynamicAnchors, quiet) => { + if (Array.isArray(ast[url])) { + for (const keywordNode of ast[url]) { + if (Array.isArray(keywordNode)) { + visitedLocations.add(keywordNode[1]); + } + } + } + return baseInterpret(url, instance, ast, dynamicAnchors, quiet); +}; + +await runTests(argv[3]); +Validation.interpret = baseInterpret; + +// console.log("Covered:", visitedLocations); + +const allKeywords = keywordLocations(compiled.ast); +const notCovered = allKeywords.filter((location) => !visitedLocations.has(location)); +console.log("NOT Covered:", notCovered.length, "of", allKeywords.length,); + +const firstNotCovered = notCovered.slice(0, 20); +if (notCovered.length > 20) firstNotCovered.push("..."); +console.log(firstNotCovered); + +console.log("Covered:", visitedLocations.size, "of", allKeywords.length, "(" + Math.floor(visitedLocations.size / allKeywords.length * 100) + "%)"); From 1951300f3239f65c1e8f387f3422e2dac56c8224 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 1 Nov 2024 11:06:41 +0100 Subject: [PATCH 02/28] Also import draft-04 --- scripts/schema-test-coverage.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/schema-test-coverage.mjs b/scripts/schema-test-coverage.mjs index e39758b825..e92d68f6ff 100644 --- a/scripts/schema-test-coverage.mjs +++ b/scripts/schema-test-coverage.mjs @@ -3,6 +3,7 @@ import YAML from "yaml"; import { join } from "node:path"; import { argv } from "node:process"; import "@hyperjump/json-schema/draft-2020-12"; +import "@hyperjump/json-schema/draft-04"; import { compile, getSchema, interpret, Validation } from "@hyperjump/json-schema/experimental"; import * as Instance from "@hyperjump/json-schema/instance/experimental"; From 1cdc217933945bf273e78b3ca7c5f9bec1e3c0b2 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 1 Nov 2024 11:22:18 +0100 Subject: [PATCH 03/28] test script for schema coverage --- package.json | 2 +- scripts/schema-test-coverage.mjs | 5 +++-- scripts/schema-test-coverage.sh | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 scripts/schema-test-coverage.sh diff --git a/package.json b/package.json index e8cdb13a86..4da52bcd76 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "license": "Apache-2.0", "scripts": { "build": "bash ./scripts/md2html/build.sh", - "test": "c8 --100 vitest --watch=false" + "test": "c8 --100 vitest --watch=false && bash scripts/schema-test-coverage.sh" }, "readmeFilename": "README.md", "files": [ diff --git a/scripts/schema-test-coverage.mjs b/scripts/schema-test-coverage.mjs index e92d68f6ff..1cabe76e87 100644 --- a/scripts/schema-test-coverage.mjs +++ b/scripts/schema-test-coverage.mjs @@ -98,8 +98,9 @@ const allKeywords = keywordLocations(compiled.ast); const notCovered = allKeywords.filter((location) => !visitedLocations.has(location)); console.log("NOT Covered:", notCovered.length, "of", allKeywords.length,); -const firstNotCovered = notCovered.slice(0, 20); -if (notCovered.length > 20) firstNotCovered.push("..."); +const maxNotCovered = 10; +const firstNotCovered = notCovered.slice(0, maxNotCovered); +if (notCovered.length > maxNotCovered) firstNotCovered.push("..."); console.log(firstNotCovered); console.log("Covered:", visitedLocations.size, "of", allKeywords.length, "(" + Math.floor(visitedLocations.size / allKeywords.length * 100) + "%)"); diff --git a/scripts/schema-test-coverage.sh b/scripts/schema-test-coverage.sh new file mode 100644 index 0000000000..53fb8f3eb0 --- /dev/null +++ b/scripts/schema-test-coverage.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Author: @ralfhandl + +# Run this script from the root of the repo + +echo +echo "Schema Test Coverage" +echo + +for schemaDir in schemas/v3* ; do + version=$(basename "$schemaDir") + echo $version + + node scripts/schema-test-coverage.mjs $schemaDir/schema.yaml tests/$version + + echo +done \ No newline at end of file From f9cd70a34ea41ab9d9cd6f4285100e4c8eb95e13 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Fri, 1 Nov 2024 20:54:48 +0100 Subject: [PATCH 04/28] Use only pass cases for coverage --- scripts/schema-test-coverage.mjs | 6 ++++-- scripts/schema-test-coverage.sh | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/schema-test-coverage.mjs b/scripts/schema-test-coverage.mjs index 1cabe76e87..88f9a97cb1 100644 --- a/scripts/schema-test-coverage.mjs +++ b/scripts/schema-test-coverage.mjs @@ -4,7 +4,7 @@ import { join } from "node:path"; import { argv } from "node:process"; import "@hyperjump/json-schema/draft-2020-12"; import "@hyperjump/json-schema/draft-04"; -import { compile, getSchema, interpret, Validation } from "@hyperjump/json-schema/experimental"; +import { compile, getSchema, interpret, Validation, BASIC } from "@hyperjump/json-schema/experimental"; import * as Instance from "@hyperjump/json-schema/instance/experimental"; /** @@ -45,7 +45,9 @@ const runTests = async (testDirectory) => { for await (const test of tests(testDirectory)) { const instance = Instance.fromJs(test); - interpret(compiled, instance); + const result = interpret(compiled, instance, BASIC); + //TODO: now result has errors array if valid is false + // if (!result.valid) console.log(result) } }; diff --git a/scripts/schema-test-coverage.sh b/scripts/schema-test-coverage.sh index 53fb8f3eb0..0e4ed3883e 100644 --- a/scripts/schema-test-coverage.sh +++ b/scripts/schema-test-coverage.sh @@ -12,7 +12,7 @@ for schemaDir in schemas/v3* ; do version=$(basename "$schemaDir") echo $version - node scripts/schema-test-coverage.mjs $schemaDir/schema.yaml tests/$version + node scripts/schema-test-coverage.mjs $schemaDir/schema.yaml tests/$version/pass echo done \ No newline at end of file From bdf4619af8f7af0f18e6b17b0751fc2154c8d553 Mon Sep 17 00:00:00 2001 From: Lorna Jane Mitchell Date: Fri, 8 Nov 2024 15:28:14 +0000 Subject: [PATCH 05/28] Use GitHub project for contributor lists instead of a file --- CONTRIBUTORS.md | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 CONTRIBUTORS.md diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md deleted file mode 100644 index 30b368d93a..0000000000 --- a/CONTRIBUTORS.md +++ /dev/null @@ -1,12 +0,0 @@ -* Darrel Miller [@darrelmiller](https://github.com/darrelmiller) -* Henry Andrews [@handrews](https://github.com/handrews) -* Jason Harmon [@jharmn](https://github.com/jharmn) -* Jeremy Whitlock [@whitlockjc](https://github.com/whitlockjc) -* Karen Etheridge [@karenetheridge](https://github.com/karenetheridge) -* Kris Hahn [@KrisHahn](https://github.com/krishahn) -* Marsh Gardiner [@earth2marsh](https://github.com/earth2marsh) -* Mike Ralphson [@MikeRalphson](https://github.com/mikeralphson) -* Ralf Handl [@ralfhandl](https://github.com/ralfhandl) -* Rob Dolin [@RobDolinMS](https://github.com/robdolinms) -* Ron Ratovsky [@webron](https://github.com/webron) -* Tony Tam [@fehguy](https://github.com/fehguy) From 3724024cb8e900e37fda7cba5d21245d431cb963 Mon Sep 17 00:00:00 2001 From: Lorna Jane Mitchell Date: Sun, 10 Nov 2024 17:01:23 +0000 Subject: [PATCH 06/28] Add criteria for minor and patch releases --- CONTRIBUTING.md | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 31b8de369c..101c97542a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,7 @@ As of October 2024 (post-OAS 3.0.4 and 3.1.1), the OAS is developed in the `src/ All work **MUST be done on a fork**, using a branch from the _earliest relevant and [active](#active-branches)_ `X.Y-dev` branch, and then submitted as a PR to that `X.Y-dev` branch. For example, if a change in November 2024 apples to both 3.1 and 3.2, the PR would go to the `v3.1-dev` branch, which will be merged up to `v3.2-dev` before the next 3.2 release. -Releases are published to the [spec site](https://spec.opanapis.org) by creating an `X.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 `X.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). +Releases are published to the [spec site](https://spec.openapis.org) by creating an `X.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 `X.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). For information on the branch and release strategy for OAS 3.0.4 and 3.1.1 and earlier, see the comments in [issue #3677](https://github.com/OAI/OpenAPI-Specification/issues/3677). @@ -153,10 +153,34 @@ The following additional rules should be followed but currently are not enforced ## Release Process and Scope -* Issue #3528: [3.x.y patch release approach](https://github.com/OAI/OpenAPI-Specification/issues/3528) -* Issue #3529: [3.x minor release approach](https://github.com/OAI/OpenAPI-Specification/issues/3529) -* Issue #3715: [Define and document our schema publishing process](https://github.com/OAI/OpenAPI-Specification/issues/3715) -* Issue #3785: [Style guide / release checklist for the specification](https://github.com/OAI/OpenAPI-Specification/issues/3785) +This section relates to the 3.x versions only. + +### Minor Releases + +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. + +Changes in minor releases (such as 3.2, 3.3) meet the following criteria: + +* Are **backwards-compatible** and be reasonably easy to implement in tooling that already supports the previous minor version. + For example, new optional fields can be added. +* Drive quality-of-life improvements to support how OpenAPI is used by practitioners, so that OpenAPI evolves to continue to meet user needs. + For example, adding fields to support changes in other standards, or adopting common `x-*` extension fields into the specification. +* 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. +* Make the specification document clearer or easier to understand. + +A minor release is due when there are some meaningful features (including one or a small nummber of headline features). + +### Patch Releases + +Patch releases reflect a constant quest for improving the active minor versions of OpenAPI. +Since we do not edit specification documents after publication, even the smallest change has to be in a new release. + +Changes in patch releases meet the following criteria: + +* Minor updates such as spelling or formatting fixes, including link updates. +* Clarifications or additions that do not change the meaning of the specification. + +Patch releases are created as often as there are changes to the specification worth releasing. ## Branching and Versioning From 858f3a5d5f2df41f4efed1ad7889df7aaed89982 Mon Sep 17 00:00:00 2001 From: Lorna Jane Mitchell Date: Sun, 10 Nov 2024 19:39:52 +0000 Subject: [PATCH 07/28] Add more context and some corrections to the style guide --- CONTRIBUTING.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 31b8de369c..9ba636822a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -129,20 +129,28 @@ Contributions to this repository should follow the style guide as described in t ### Markdown Markdown files in this project should follow the style enforced by the [markdownlint tool](https://www.npmjs.com/package/markdownlint), -as configured by the `.markdownlint.json` file in the root of the project. +as configured by the `.markdownlint.yaml` file in the root of the project. +The `markdownlint` tool can also fix formatting, which can save time with tables in particular. The following additional rules should be followed but currently are not enforced by tooling: -1. The first mention of a normative reference or an OAS-defined Object in a (sub)*section is a link, additional mentions are not -2. OAS-defined Foo Bar Objects are written in this style, and are not monospaced -3. "example" instead of "sample" - this spec is not about statistics -4. Use "OpenAPI Object" instead of "root" -5. Fixed fields are monospaced -6. Field values are monospaced in JSON notation: `true`, `false`, `null`, `"header"` (with double-quotes around string values), ... -7. A combination of fixed field name with example value uses JS notation: `in: "header"`, combining rules 5 and 6 +1. The first mention of a normative reference or an OAS-defined Object in a (sub)*section is a link, additional mentions are not. +2. OAS-defined Objects such as Schema Objects are written in this style, and are not monospaced. +3. Use "example" instead of "sample" - this spec is not about statistics. +4. Use "OpenAPI Object" instead of "root". +5. Fixed fields are monospaced. +6. Field values are monospaced in JSON notation: `true`, `false`, `null`, `"header"` (with double-quotes around string values). +7. A combination of fixed field name with example value uses JS notation: `in: "header"`, combining rules 5 and 6. 8. An exception to 5-7 is colloquial use, for example "values of type `array` or `object`" - "type" is not monospaced, so the monospaced values aren't enclosed in double quotes. 9. Use Oxford commas, avoid Shatner commas. 10. Use `` for link anchors. The `` format has been deprecated. +11. Headings use [title case](https://en.wikipedia.org/wiki/Title_case) and are followed by a blank line. + +Plus some suggestions, rather than rules: + +* Use one sentence per line in paragraphs and bullet points, to make diffs and edits easier to compare and understand. + A blank line is needed to cause a paragraph break in Markdown. +* In examples, use realistic values rather than foo/bar. ### Use of "keyword", "field", "property", and "attribute" From e3bfb47ad0ccd97d95b93baafe559a596d8ee172 Mon Sep 17 00:00:00 2001 From: "Henry H. Andrews" Date: Mon, 11 Nov 2024 12:10:34 -0800 Subject: [PATCH 08/28] The schemas are (mostly) not metaschemas --- .github/workflows/schema-publish.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/schema-publish.yaml b/.github/workflows/schema-publish.yaml index 4b336542ad..0206ef56fa 100644 --- a/.github/workflows/schema-publish.yaml +++ b/.github/workflows/schema-publish.yaml @@ -49,8 +49,8 @@ jobs: path: deploy labels: Housekeeping,Schema reviewers: darrelmiller,webron,earth2marsh,webron,lornajane,mikekistler,miqui,ralfhandl,handrews,karenetheridge - title: Publish OpenAPI Metaschema Iterations - commit-message: New OpenAPI metaschema iterations + title: Publish OpenAPI Schema Iterations + commit-message: New OpenAPI schema iterations signoff: true body: | This pull request is automatically triggered by GitHub action `schema-publish`. From 53e9a0571b9874c4cbbcc77ce373b894c67862e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 07:20:45 +0000 Subject: [PATCH 09/28] Bump @hyperjump/json-schema from 1.9.8 to 1.9.9 Bumps [@hyperjump/json-schema](https://github.com/hyperjump-io/json-schema) from 1.9.8 to 1.9.9. - [Commits](https://github.com/hyperjump-io/json-schema/compare/v1.9.8...v1.9.9) --- updated-dependencies: - dependency-name: "@hyperjump/json-schema" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index f7d8ebf6f3..cb70f61a1d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "yargs": "^17.7.2" }, "devDependencies": { - "@hyperjump/json-schema": "^1.9.8", + "@hyperjump/json-schema": "^1.9.9", "c8": "^10.1.2", "markdownlint-cli": "^0.42.0", "mdv": "^1.3.4", @@ -466,9 +466,9 @@ } }, "node_modules/@hyperjump/json-schema": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/@hyperjump/json-schema/-/json-schema-1.9.8.tgz", - "integrity": "sha512-qmdMpYn8CpYR7z3fxkL6fgkDvMaAEFKtmYu3XDi6hWW2BT+rLl7T4Y4QpafEIR4wkcmCxcJf9me9FmxKpv3i9g==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@hyperjump/json-schema/-/json-schema-1.9.9.tgz", + "integrity": "sha512-+3aN6GaJvRzQ3H5JxO4wIuYiw6/iQLJ260DvtlaY5DDK0ti4uPmmEg56ijGsyYABj00GVTxyOkFO1BH9AN707w==", "dev": true, "dependencies": { "@hyperjump/json-pointer": "^1.1.0", diff --git a/package.json b/package.json index e8cdb13a86..0a022aa17d 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "yargs": "^17.7.2" }, "devDependencies": { - "@hyperjump/json-schema": "^1.9.8", + "@hyperjump/json-schema": "^1.9.9", "c8": "^10.1.2", "markdownlint-cli": "^0.42.0", "mdv": "^1.3.4", From f0ec2622a39feb685896d573ea7f28551a007da5 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 12 Nov 2024 10:59:25 +0100 Subject: [PATCH 10/28] Create symlinks for spec minor versions --- scripts/md2html/build.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/md2html/build.sh b/scripts/md2html/build.sh index 766bd94855..ec71001952 100755 --- a/scripts/md2html/build.sh +++ b/scripts/md2html/build.sh @@ -40,20 +40,29 @@ cp -p ../../node_modules/respec/builds/respec-w3c.* ../../deploy/js/ latest=`git describe --abbrev=0 --tags` latestCopied=none -for filename in ../../versions/[23456789].*.md ; do +lastMinor="-" +for filename in $(ls -1 ../../versions/[23456789].*.md | sort -r) ; do version=$(basename "$filename" .md) + minorVersion=${version:0:3} tempfile=../../deploy/oas/v$version-tmp.html echo -e "\n=== v$version ===" + node md2html.js --maintainers ./history/MAINTAINERS_v$version.md ${filename} > $tempfile npx respec --use-local --src $tempfile --out ../../deploy/oas/v$version.html rm $tempfile + if [ $version = $latest ]; then if [[ ${version} != *"rc"* ]];then # version is not a Release Candidate - cp -p ../../deploy/oas/v$version.html ../../deploy/oas/latest.html + ln -sf ../../deploy/oas/v$version.html ../../deploy/oas/latest.html latestCopied=v$version fi fi + + if [ ${minorVersion} != ${lastMinor} ] && [ ${minorVersion} != 2.0 ]; then + ln -sf ../../deploy/oas/v$version.html ../../deploy/oas/v$minorVersion-latest.html + lastMinor=$minorVersion + fi done echo Latest tag is $latest, copied $latestCopied to latest.html From ff0fdece0ebd0f275cc90a9eee83b1f3a6860059 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 12 Nov 2024 11:29:51 +0100 Subject: [PATCH 11/28] Show validation errors if test instances --- scripts/schema-test-coverage.mjs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/scripts/schema-test-coverage.mjs b/scripts/schema-test-coverage.mjs index 88f9a97cb1..8654200ddc 100644 --- a/scripts/schema-test-coverage.mjs +++ b/scripts/schema-test-coverage.mjs @@ -27,7 +27,7 @@ addMediaTypePlugin("application/schema+yaml", { fileMatcher: (path) => path.endsWith(".yaml") }); -/** @type (testDirectory: string) => AsyncGenerator */ +/** @type (testDirectory: string) => AsyncGenerator<[string,Json]> */ const tests = async function* (testDirectory) { for (const file of await readdir(testDirectory, { recursive: true, withFileTypes: true })) { if (!file.isFile() || !file.name.endsWith(".yaml")) { @@ -36,18 +36,21 @@ const tests = async function* (testDirectory) { const testPath = join(file.parentPath, file.name); const testJson = await readFile(testPath, "utf8"); - yield YAML.parse(testJson); + + yield [testPath, YAML.parse(testJson)]; } }; /** @type (testDirectory: string) => Promise */ const runTests = async (testDirectory) => { - for await (const test of tests(testDirectory)) { + for await (const [name, test] of tests(testDirectory)) { const instance = Instance.fromJs(test); const result = interpret(compiled, instance, BASIC); - //TODO: now result has errors array if valid is false - // if (!result.valid) console.log(result) + + if (!result.valid) { + console.log("Failed:", name, result.errors); + } } }; @@ -100,7 +103,7 @@ const allKeywords = keywordLocations(compiled.ast); const notCovered = allKeywords.filter((location) => !visitedLocations.has(location)); console.log("NOT Covered:", notCovered.length, "of", allKeywords.length,); -const maxNotCovered = 10; +const maxNotCovered = 20; const firstNotCovered = notCovered.slice(0, maxNotCovered); if (notCovered.length > maxNotCovered) firstNotCovered.push("..."); console.log(firstNotCovered); From 1f2a389b619bf9425bd92b547355e82ab91dc0b5 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 12 Nov 2024 12:51:33 +0100 Subject: [PATCH 12/28] Prettier --- scripts/schema-test-coverage.mjs | 49 +++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/scripts/schema-test-coverage.mjs b/scripts/schema-test-coverage.mjs index 8654200ddc..9953a5c291 100644 --- a/scripts/schema-test-coverage.mjs +++ b/scripts/schema-test-coverage.mjs @@ -4,7 +4,13 @@ import { join } from "node:path"; import { argv } from "node:process"; import "@hyperjump/json-schema/draft-2020-12"; import "@hyperjump/json-schema/draft-04"; -import { compile, getSchema, interpret, Validation, BASIC } from "@hyperjump/json-schema/experimental"; +import { + compile, + getSchema, + interpret, + Validation, + BASIC, +} from "@hyperjump/json-schema/experimental"; import * as Instance from "@hyperjump/json-schema/instance/experimental"; /** @@ -18,18 +24,24 @@ import { buildSchemaDocument } from "@hyperjump/json-schema/experimental"; addMediaTypePlugin("application/schema+yaml", { parse: async (response) => { - const contentType = contentTypeParser.parse(response.headers.get("content-type") ?? ""); - const contextDialectId = contentType.parameters.schema ?? contentType.parameters.profile; + const contentType = contentTypeParser.parse( + response.headers.get("content-type") ?? "", + ); + const contextDialectId = + contentType.parameters.schema ?? contentType.parameters.profile; const foo = YAML.parse(await response.text()); return buildSchemaDocument(foo, response.url, contextDialectId); }, - fileMatcher: (path) => path.endsWith(".yaml") + fileMatcher: (path) => path.endsWith(".yaml"), }); /** @type (testDirectory: string) => AsyncGenerator<[string,Json]> */ const tests = async function* (testDirectory) { - for (const file of await readdir(testDirectory, { recursive: true, withFileTypes: true })) { + for (const file of await readdir(testDirectory, { + recursive: true, + withFileTypes: true, + })) { if (!file.isFile() || !file.name.endsWith(".yaml")) { continue; } @@ -100,12 +112,21 @@ Validation.interpret = baseInterpret; // console.log("Covered:", visitedLocations); const allKeywords = keywordLocations(compiled.ast); -const notCovered = allKeywords.filter((location) => !visitedLocations.has(location)); -console.log("NOT Covered:", notCovered.length, "of", allKeywords.length,); - -const maxNotCovered = 20; -const firstNotCovered = notCovered.slice(0, maxNotCovered); -if (notCovered.length > maxNotCovered) firstNotCovered.push("..."); -console.log(firstNotCovered); - -console.log("Covered:", visitedLocations.size, "of", allKeywords.length, "(" + Math.floor(visitedLocations.size / allKeywords.length * 100) + "%)"); +const notCovered = allKeywords.filter( + (location) => !visitedLocations.has(location), +); +if (notCovered.length > 0) { + console.log("NOT Covered:", notCovered.length, "of", allKeywords.length); + const maxNotCovered = 20; + const firstNotCovered = notCovered.slice(0, maxNotCovered); + if (notCovered.length > maxNotCovered) firstNotCovered.push("..."); + console.log(firstNotCovered); +} + +console.log( + "Covered:", + visitedLocations.size, + "of", + allKeywords.length, + "(" + Math.floor((visitedLocations.size / allKeywords.length) * 100) + "%)", +); From 31f66e72f5708e85055bdc70c04763ca3238d721 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Tue, 12 Nov 2024 12:56:59 +0100 Subject: [PATCH 13/28] make executable --- scripts/schema-test-coverage.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/schema-test-coverage.sh diff --git a/scripts/schema-test-coverage.sh b/scripts/schema-test-coverage.sh old mode 100644 new mode 100755 From a0848b99de198331247fe98eb78282948bc9dc34 Mon Sep 17 00:00:00 2001 From: "Henry H. Andrews" Date: Thu, 7 Nov 2024 13:35:28 -0800 Subject: [PATCH 14/28] Updated mermaid branch diagram From later comments on the previous update. This shows a more comprehensive example, including merging patch releases from the most recent line _only_ back to `dev`. --- CONTRIBUTING.md | 64 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 31b8de369c..b7dc821b5e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,9 +57,31 @@ Initiating the next minor release after releasing `X.Y.0`: Other notes: -* Patch releases are _not_ merged to `dev` +* Patch releases are _only_ merged to `dev` if they are part of the most recent release line (currently 3.1, which will shift to 3.2 once 3.2.0 is released). +* When releasing from multiple lines, release from the oldest line first. + +_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._ ```mermaid +--- +config: + themeVariables: + git0: "#5588bb" + git1: "#cc8899" + git2: "#eedd88" + git3: "#ccbb66" + git4: "#aa9944" + git5: "#887722" + git6: "#99ccff" + git7: "#77aadd" + gitBranchLabel1: "#000000" + gitBranchLabel2: "#000000" + gitBranchLabel3: "#000000" + gitBranchLabel4: "#000000" + gitBranchLabel5: "#ffffff" + gitBranchLabel6: "#000000" + gitBranchLabel7: "#000000" +--- gitGraph TB: commit id:"merge 3.1.1.md to main" tag:"3.1.1" branch dev order:1 @@ -67,13 +89,18 @@ gitGraph TB: branch v3.1-dev order:2 commit id:"update version in src/oas.md to 3.1.2" checkout dev - branch v3.2-dev order:5 + branch v3.2-dev order:6 commit id:"update version in src/oas.md to 3.2.0" commit id:"some 3.2.0 work" checkout v3.1-dev commit id:"a 3.1.x fix" + checkout v3.2-dev + merge v3.1-dev id:"merge 3.1.2 fixes" + checkout v3.1-dev branch v3.1.2-rel order:3 commit id:"rename src/oas.md to versions/3.1.2.md" + checkout dev + merge v3.1-dev id:"update dev with active line patch release" checkout main merge v3.1.2-rel tag:"3.1.2" checkout v3.2-dev @@ -83,25 +110,50 @@ gitGraph TB: commit id:"another 3.1.x fix" checkout v3.2-dev commit id:"still more 3.2.0 work" - merge v3.1-dev id:"merge 3.1.x fixes before releasing" + merge v3.1-dev id:"merge 3.1.3 fixes before releasing" + checkout dev + merge v3.1-dev id:"update dev with last pre-minor release patch release" + merge v3.2-dev id:"update dev with minor release" checkout v3.1-dev branch v3.1.3-rel order:4 commit id:"rename src/oas.md to versions/3.1.3.md" checkout v3.2-dev - branch v3.2.0-rel order:6 + branch v3.2.0-rel order:7 commit id:"rename src/oas.md to versions/3.2.0.md" checkout main merge v3.1.3-rel tag:"3.1.3" merge v3.2.0-rel tag:"3.2.0" checkout dev - merge v3.2-dev id:"update dev with minor release" - branch v3.3-dev order:7 + branch v3.3-dev order:9 checkout v3.1-dev commit id:"update version in src/oas.md to 3.1.4" checkout v3.2-dev commit id:"update version in src/oas.md to 3.2.1" checkout v3.3-dev commit id:"update version in src/oas.md to 3.3.0" + + checkout v3.1-dev + commit id:"a 3.1.4 fix" + checkout v3.2-dev + commit id:"a 3.2.1 fix" + merge v3.1-dev id:"merge 3.1.4 fixes before releasing" + checkout v3.3-dev + merge v3.2-dev id:"merge 3.1.4 / 3.2.1 fixes" + checkout dev + merge v3.2-dev id:"merge patch from active release line" + checkout v3.1-dev + branch v3.1.4-rel order:5 + commit id:"rename src/oas.md to versions/3.1.4.md" + checkout v3.2-dev + branch v3.2.1-rel order:8 + commit id:"rename src/oas.md to versions/3.2.1.md" + checkout main + merge v3.1.4-rel tag:"3.1.4" + merge v3.2.1-rel tag:"3.2.1" + checkout v3.2-dev + commit id:"update version in src/oas.md to 3.2.2" + checkout v3.3-dev + commit id:"3.3 work" ``` ### Schema development From 7adb0ebc4e6100824e0d261705617d9f4ae86d86 Mon Sep 17 00:00:00 2001 From: "Henry H. Andrews" Date: Sun, 10 Nov 2024 11:17:10 -0800 Subject: [PATCH 15/28] Update schema development process And also add some section headers and clarify publishing a bit. --- CONTRIBUTING.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b7dc821b5e..eb9ed03613 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,12 +14,6 @@ If in doubt about a policy, please [ask on our Slack](https://communityinviter.c No changes, ***no matter how trivial***, are ever made to the contents of published specifications. The only potential changes to those documents are updates to link URLs _if and only if_ the targeted document is moved by a 3rd party. Other changes to link URLs are not allowed. -### Changing the schemas - -Schemas are only changed _after_ the specification is changed. -Changes are made to the YAML versions on the `main` branch. -The JSON versions are generated when published to the [spec site](https://spec.openapis.org/), at which time the `WORK-IN-PROGRESS` URI placeholders are replaced with the publication date. - ### Authoritative source of truth The [spec site](https://spec.openapis.org) is the source of truth. @@ -30,10 +24,20 @@ This changed in 2024, as the markdown files on `main` do not include certain cre As of October 2024 (post-OAS 3.0.4 and 3.1.1), the OAS is developed in the `src/oas.md` file on minor release `X.Y-dev` branches that are derived from the baseline `dev` branch. +Schema changes are made on the same branch, but can be released independently. When making a specification change for a new minor or major release that has a schema impact, including the schema change in the PR is preferred. Patch releases cannot contain changes that _require_ a schema update. + +### Using forks + All work **MUST be done on a fork**, using a branch from the _earliest relevant and [active](#active-branches)_ `X.Y-dev` branch, and then submitted as a PR to that `X.Y-dev` branch. For example, if a change in November 2024 apples to both 3.1 and 3.2, the PR would go to the `v3.1-dev` branch, which will be merged up to `v3.2-dev` before the next 3.2 release. -Releases are published to the [spec site](https://spec.opanapis.org) by creating an `X.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 `X.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). +### Publishing + +The specification and schemas are published to the [spec site](https://spec.opanapis.org) by creating an `X.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 `X.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). + +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 `X.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. + +### Historical branch strategy For information on the branch and release strategy for OAS 3.0.4 and 3.1.1 and earlier, see the comments in [issue #3677](https://github.com/OAI/OpenAPI-Specification/issues/3677). @@ -156,10 +160,6 @@ gitGraph TB: commit id:"3.3 work" ``` -### Schema development - -Development of schemas [currently occurs on `main`](#changing-the-schemas), but the process is [being re-evaluated and is likely to change](https://github.com/OAI/OpenAPI-Specification/issues/3715). - #### Active branches The first PR for a change should be against the oldest release line to which it applies. Changes can then be forward-ported as appropriate. From 5565f9b63d25d2b6b318cf169a377053e94d3c10 Mon Sep 17 00:00:00 2001 From: Henry Andrews Date: Mon, 11 Nov 2024 10:09:50 -0800 Subject: [PATCH 16/28] Fix typo Co-authored-by: Ralf Handl --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eb9ed03613..34c3a6e158 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,7 @@ For example, if a change in November 2024 apples to both 3.1 and 3.2, the PR wou ### Publishing -The specification and schemas are published to the [spec site](https://spec.opanapis.org) by creating an `X.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 `X.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). +The specification and schemas are published to the [spec site](https://spec.openapis.org) by creating an `X.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 `X.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). 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 `X.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. From c1e2fdaf3a06a496bf0bfb90caedd34c397759e5 Mon Sep 17 00:00:00 2001 From: "Henry H. Andrews" Date: Mon, 11 Nov 2024 12:04:51 -0800 Subject: [PATCH 17/28] Clarifications from review feedback. --- CONTRIBUTING.md | 44 ++++++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 34c3a6e158..e82ea8b857 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,49 +20,45 @@ The [spec site](https://spec.openapis.org) is the source of truth. This changed in 2024, as the markdown files on `main` do not include certain credits and citations. -## Development and publication process +## Development process -As of October 2024 (post-OAS 3.0.4 and 3.1.1), the OAS is developed in the `src/oas.md` file on minor release `X.Y-dev` branches that are derived from the baseline `dev` branch. +As of October 2024 (post-OAS 3.0.4 and 3.1.1), the OAS is developed in the `src/oas.md` file on minor release `vX.Y-dev` branches that are derived from the baseline `dev` branch. Schema changes are made on the same branch, but can be released independently. When making a specification change for a new minor or major release that has a schema impact, including the schema change in the PR is preferred. Patch releases cannot contain changes that _require_ a schema update. ### Using forks -All work **MUST be done on a fork**, using a branch from the _earliest relevant and [active](#active-branches)_ `X.Y-dev` branch, and then submitted as a PR to that `X.Y-dev` branch. +All work **MUST be done on a fork**, using a branch from the _earliest relevant and [active](#active-branches)_ `vX.Y-dev` branch, and then submitted as a PR to that `vX.Y-dev` branch. For example, if a change in November 2024 apples to both 3.1 and 3.2, the PR would go to the `v3.1-dev` branch, which will be merged up to `v3.2-dev` before the next 3.2 release. -### Publishing +## Publishing -The specification and schemas are published to the [spec site](https://spec.openapis.org) by creating an `X.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 `X.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). +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). -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 `X.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. +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. ### Historical branch strategy For information on the branch and release strategy for OAS 3.0.4 and 3.1.1 and earlier, see the comments in [issue #3677](https://github.com/OAI/OpenAPI-Specification/issues/3677). -### Branch diagram (3.1.2, 3.2.0, and later) - -Initial steps: - -* `dev` branches from `main` at the 3.1.1 release commit -* Each `X.Y-dev` branches from `dev` +### Branching and merging (3.1.2, 3.2.0, and later) Upon release: -* Each `X.Y.Z-rel` branches from the corresponding `X.Y-dev` -* After renaming `src/oas.md`, `X.Y.Z-rel` merges to `main` +* Pre-release steps: + * The most recent _published_ patch release from the previoius line is merged up to `vX.Y-dev`, if relevant + * If doing simultaneous releases on multiple lines, do them from the oldest to newest line + * If the release is the most recent on the current line, merge `vX.Y-dev` to `dev` + * For example, if releasing 3.1.3 and 3.2.0: + * release 3.1.3 first, including merging `v3.1-dev` to `dev` as 3.1 is current at that moment + * release 3.2.0 second, also merging `v3.2-dev` to `dev` as 3.2 becomes current at that point + * any subsequent 3.1.4 would **_not_** trigger a merge of `v3.1-dev` to `dev`, as 3.1 would no longer be current +* Release branching and merging: + * branch `vX.Y.Z-rel` from `vX.Y-dev` (same commit that was merged to `dev` if relevant) + * After renaming `src/oas.md` to `versions/X.Y.Z.md`, merge `vX.Y.Z-rel` to `main` * Publishing to the [spec site](https://spec.openapis.org) is triggered by the merge to `main` - -Initiating the next minor release after releasing `X.Y.0`: - -* The same `X.Y-dev` commit that is the base of `X.Y.0-rel` is merged back to `dev` to keep `src/oas.md` on `dev` in sync with the last minor release -* This `X.Y.0` commit on `dev` is the base of `X.Y+1-dev` - -Other notes: - -* Patch releases are _only_ merged to `dev` if they are part of the most recent release line (currently 3.1, which will shift to 3.2 once 3.2.0 is released). -* When releasing from multiple lines, release from the oldest line first. +* Post-release steps: + * 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` _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._ From 46383f322bcf10cbc2d6d9d642044dc2f545a7aa Mon Sep 17 00:00:00 2001 From: "Henry H. Andrews" Date: Wed, 13 Nov 2024 08:11:01 -0800 Subject: [PATCH 18/28] More explanation of branches. --- CONTRIBUTING.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e82ea8b857..12f4219fda 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,6 +26,13 @@ As of October 2024 (post-OAS 3.0.4 and 3.1.1), the OAS is developed in the `src/ Schema changes are made on the same branch, but can be released independently. When making a specification change for a new minor or major release that has a schema impact, including the schema change in the PR is preferred. Patch releases cannot contain changes that _require_ a schema update. +### Branch roles + +* `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`. +* `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. +* `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. +* `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. + ### Using forks All work **MUST be done on a fork**, using a branch from the _earliest relevant and [active](#active-branches)_ `vX.Y-dev` branch, and then submitted as a PR to that `vX.Y-dev` branch. From 78a020e70c345212ba93dafa241e3e97c94c5d2c Mon Sep 17 00:00:00 2001 From: Marsh Gardiner Date: Wed, 13 Nov 2024 10:49:42 -0800 Subject: [PATCH 19/28] Refer to the CoC at the org level At some point we set an org-level CoC, so to this refers to that centralized document in order to maintain a single instance. --- CODE_OF_CONDUCT.md | 156 +-------------------------------------------- 1 file changed, 1 insertion(+), 155 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index a87b404e6d..5fa30687f0 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,155 +1 @@ -Code of Conduct -=============== - -OpenAPI Initiative Code of Conduct - -*The Linux Foundation* - -*Effective November 24, 2020* - -The OpenAPI Initiative (OAI) is an open source Linux Foundation project -and home of the OpenAPI Specification (OAS) released under the Apache -2.0 license. As contributors, maintainers, and participants in this -project, we want to foster an open and welcoming environment. We pledge -to make participation in our project and our community a harassment-free -experience for everyone, regardless of age, body size, disability, -ethnicity, gender identity and expression, level of experience, -education, socio-economic status, nationality, personal appearance, -race, religion, or sexual identity and orientation. - -Our Standards -------------- - -Examples of behaviors that contribute to creating a positive environment -include: - -- Using welcoming and inclusive language - -- Being respectful of differing viewpoints and experiences - -- Gracefully accepting constructive criticism - -- Focusing on what is best for the community - -- Showing empathy towards other community members - -- Assuming the best intent from others - -Examples of unacceptable behavior by participants include: - -- The use of sexualized language or imagery and unwelcome sexual attention or advances - -- Making unsolicited, insulting or derogatory comments, including personal (i.e., ad hominem) or political attacks to create conflict (e.g., trolling) - -- Public or private harassment - -- Publishing others' private information, such as a physical or electronic address, without explicit permission (e.g., doxxing) - -- Threatening, offensive, harmful comments, or behavior - -- Other conduct which could reasonably be considered inappropriate in a professional setting - -Our Responsibilities --------------------- - -The Code of Conduct Committee is responsible for clarifying the -standards of acceptable behavior and is expected to take appropriate and -fair corrective action in response to any instances of unacceptable -behavior. - -Scope ------ - -This Code of Conduct applies to OAI project spaces, as well as -interactions in public spaces. Project spaces include, but are not -limited to, official OAI code repositories, Slack, mailing lists, -meetings, and events. Public spaces may include venues where an -individual is representing the project or its community. Examples of -this include a community member's email communication, forum posts, -social media activity, or acting as a representative at an online or -offline event. In addition, violations of this code of conduct outside -of these spaces may affect a person's ability to participate in them. - -Enforcement ------------ - -To report instances of abuse, harassment, or otherwise unacceptable -behavior, contact -[conduct\@openapis.org](mailto:conduct@openapis.org). **We -are committed to maintaining the confidentiality of anyone reporting an -incident**. The Code of Conduct Committee will review and investigate -all complaints, responding as deemed necessary and appropriate to the -circumstances. For incidents relating to offline events, we aim to -respond to reports within 24 hours, and for incidents relating to online -activities, we aim to respond to reports within 7 days. - -The Code of Conduct Committee has the right and responsibility to -remove, edit, or reject comments, commits, code, wiki edits, issues, and -other contributions that are not aligned to this Code of Conduct, or -take other appropriate action as deemed necessary for behaviors contrary -to the standards listed above. In the case of offline or in-person -events, if a participant engages in behavior that is not aligned to this -Code of Conduct, the committee may take action, such as warning the -offender, banning the offender from various online spaces (temporary or -permanent), removing the offender from an event with no refund, or other -options deemed appropriate. - -Enforcement Guidelines ----------------------- - -The Code of Conduct committee will follow these Enforcement Guidelines in -determining the consequences for any action they deem in violation of this -Code of Conduct: - -#### 1. Correction -Community Impact: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -Consequence: A private, written warning from the Code of Conduct committee, -providing clarity around the nature of the violation and an explanation of -why the behavior was inappropriate. A public apology may be requested. - -#### 2. Warning -Community Impact: A violation through a single incident or series of -actions. - -Consequence: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction -with the Code of Conduct committee, for a specified period of time. This -includes avoiding interactions in community spaces as well as external -channels like social media. Violating these terms may lead to a temporary -or permanent ban. - -#### 3. Temporary Ban -Community Impact: A serious violation of community standards, including -sustained inappropriate behavior. - -Consequence: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No -public or private interaction with the people involved, including -unsolicited interaction with the Code of Conduct committee, is allowed -during this period. Violating these terms may lead to a permanent ban. - -#### 4. Permanent Ban -Community Impact: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of -an individual, or aggression toward or disparagement of classes of -individuals. - -Consequence: A permanent ban from any sort of public interaction -within the community. - -### Events - -Some OpenAPI events are governed by the [Linux Foundation Code of -Conduct](https://events.linuxfoundation.org/about/code-of-conduct/) -(E.g. API Specifications Conference) and will be listed on the event -page. The OAI Code of Conduct is designed to be compatible with the -above policy and also includes more details on responding to incidents. - -### Attribution - -This code of conduct is adapted from the [Contributor Covenant, version -1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct) -and the [PyCon 2019 Code of -Conduct](https://us.pycon.org/2019/about/code-of-conduct/). +Please refer to the organization-level [code of conduct](https://github.com/OAI/.github/blob/main/.github/CODE_OF_CONDUCT.md) that applies to all OAI projects and activities. From fa8123a1b52c663c960679526c47f3ba0780f365 Mon Sep 17 00:00:00 2001 From: Marsh Gardiner Date: Wed, 13 Nov 2024 14:35:53 -0800 Subject: [PATCH 20/28] Removing the standalone file in favor of the org template --- CODE_OF_CONDUCT.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 5fa30687f0..0000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1 +0,0 @@ -Please refer to the organization-level [code of conduct](https://github.com/OAI/.github/blob/main/.github/CODE_OF_CONDUCT.md) that applies to all OAI projects and activities. From c38539c5b1026ce200f25bfc7053edd1cbde59b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 07:54:53 +0000 Subject: [PATCH 21/28] Bump vitest from 2.1.4 to 2.1.5 Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 2.1.4 to 2.1.5. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.5/packages/vitest) --- updated-dependencies: - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 280 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 144 insertions(+), 138 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb70f61a1d..9c11ca5b64 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "c8": "^10.1.2", "markdownlint-cli": "^0.42.0", "mdv": "^1.3.4", - "vitest": "^2.1.4", + "vitest": "^2.1.5", "yaml": "^2.6.0" } }, @@ -622,9 +622,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.2.tgz", - "integrity": "sha512-ufoveNTKDg9t/b7nqI3lwbCG/9IJMhADBNjjz/Jn6LxIZxD7T5L8l2uO/wD99945F1Oo8FvgbbZJRguyk/BdzA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.26.0.tgz", + "integrity": "sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==", "cpu": [ "arm" ], @@ -635,9 +635,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.2.tgz", - "integrity": "sha512-iZoYCiJz3Uek4NI0J06/ZxUgwAfNzqltK0MptPDO4OR0a88R4h0DSELMsflS6ibMCJ4PnLvq8f7O1d7WexUvIA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.26.0.tgz", + "integrity": "sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==", "cpu": [ "arm64" ], @@ -648,9 +648,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.2.tgz", - "integrity": "sha512-/UhrIxobHYCBfhi5paTkUDQ0w+jckjRZDZ1kcBL132WeHZQ6+S5v9jQPVGLVrLbNUebdIRpIt00lQ+4Z7ys4Rg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.26.0.tgz", + "integrity": "sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==", "cpu": [ "arm64" ], @@ -661,9 +661,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.2.tgz", - "integrity": "sha512-1F/jrfhxJtWILusgx63WeTvGTwE4vmsT9+e/z7cZLKU8sBMddwqw3UV5ERfOV+H1FuRK3YREZ46J4Gy0aP3qDA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.26.0.tgz", + "integrity": "sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==", "cpu": [ "x64" ], @@ -674,9 +674,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.2.tgz", - "integrity": "sha512-1YWOpFcGuC6iGAS4EI+o3BV2/6S0H+m9kFOIlyFtp4xIX5rjSnL3AwbTBxROX0c8yWtiWM7ZI6mEPTI7VkSpZw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.26.0.tgz", + "integrity": "sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==", "cpu": [ "arm64" ], @@ -687,9 +687,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.2.tgz", - "integrity": "sha512-3qAqTewYrCdnOD9Gl9yvPoAoFAVmPJsBvleabvx4bnu1Kt6DrB2OALeRVag7BdWGWLhP1yooeMLEi6r2nYSOjg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.26.0.tgz", + "integrity": "sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==", "cpu": [ "x64" ], @@ -700,9 +700,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.2.tgz", - "integrity": "sha512-ArdGtPHjLqWkqQuoVQ6a5UC5ebdX8INPuJuJNWRe0RGa/YNhVvxeWmCTFQ7LdmNCSUzVZzxAvUznKaYx645Rig==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.26.0.tgz", + "integrity": "sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==", "cpu": [ "arm" ], @@ -713,9 +713,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.2.tgz", - "integrity": "sha512-B6UHHeNnnih8xH6wRKB0mOcJGvjZTww1FV59HqJoTJ5da9LCG6R4SEBt6uPqzlawv1LoEXSS0d4fBlHNWl6iYw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.26.0.tgz", + "integrity": "sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==", "cpu": [ "arm" ], @@ -726,9 +726,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.2.tgz", - "integrity": "sha512-kr3gqzczJjSAncwOS6i7fpb4dlqcvLidqrX5hpGBIM1wtt0QEVtf4wFaAwVv8QygFU8iWUMYEoJZWuWxyua4GQ==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.26.0.tgz", + "integrity": "sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==", "cpu": [ "arm64" ], @@ -739,9 +739,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.2.tgz", - "integrity": "sha512-TDdHLKCWgPuq9vQcmyLrhg/bgbOvIQ8rtWQK7MRxJ9nvaxKx38NvY7/Lo6cYuEnNHqf6rMqnivOIPIQt6H2AoA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.26.0.tgz", + "integrity": "sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==", "cpu": [ "arm64" ], @@ -752,9 +752,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.2.tgz", - "integrity": "sha512-xv9vS648T3X4AxFFZGWeB5Dou8ilsv4VVqJ0+loOIgDO20zIhYfDLkk5xoQiej2RiSQkld9ijF/fhLeonrz2mw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.26.0.tgz", + "integrity": "sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==", "cpu": [ "ppc64" ], @@ -765,9 +765,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.2.tgz", - "integrity": "sha512-tbtXwnofRoTt223WUZYiUnbxhGAOVul/3StZ947U4A5NNjnQJV5irKMm76G0LGItWs6y+SCjUn/Q0WaMLkEskg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.26.0.tgz", + "integrity": "sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==", "cpu": [ "riscv64" ], @@ -778,9 +778,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.2.tgz", - "integrity": "sha512-gc97UebApwdsSNT3q79glOSPdfwgwj5ELuiyuiMY3pEWMxeVqLGKfpDFoum4ujivzxn6veUPzkGuSYoh5deQ2Q==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.26.0.tgz", + "integrity": "sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==", "cpu": [ "s390x" ], @@ -791,9 +791,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.2.tgz", - "integrity": "sha512-jOG/0nXb3z+EM6SioY8RofqqmZ+9NKYvJ6QQaa9Mvd3RQxlH68/jcB/lpyVt4lCiqr04IyaC34NzhUqcXbB5FQ==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.26.0.tgz", + "integrity": "sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==", "cpu": [ "x64" ], @@ -804,9 +804,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.2.tgz", - "integrity": "sha512-XAo7cJec80NWx9LlZFEJQxqKOMz/lX3geWs2iNT5CHIERLFfd90f3RYLLjiCBm1IMaQ4VOX/lTC9lWfzzQm14Q==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.26.0.tgz", + "integrity": "sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==", "cpu": [ "x64" ], @@ -817,9 +817,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.2.tgz", - "integrity": "sha512-A+JAs4+EhsTjnPQvo9XY/DC0ztaws3vfqzrMNMKlwQXuniBKOIIvAAI8M0fBYiTCxQnElYu7mLk7JrhlQ+HeOw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.26.0.tgz", + "integrity": "sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==", "cpu": [ "arm64" ], @@ -830,9 +830,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.2.tgz", - "integrity": "sha512-ZhcrakbqA1SCiJRMKSU64AZcYzlZ/9M5LaYil9QWxx9vLnkQ9Vnkve17Qn4SjlipqIIBFKjBES6Zxhnvh0EAEw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.26.0.tgz", + "integrity": "sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==", "cpu": [ "ia32" ], @@ -843,9 +843,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.2.tgz", - "integrity": "sha512-2mLH46K1u3r6uwc95hU+OR9q/ggYMpnS7pSp83Ece1HUQgF9Nh/QwTK5rcgbFnV9j+08yBrU5sA/P0RK2MSBNA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.26.0.tgz", + "integrity": "sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==", "cpu": [ "x64" ], @@ -893,13 +893,13 @@ } }, "node_modules/@vitest/expect": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.4.tgz", - "integrity": "sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.5.tgz", + "integrity": "sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==", "dev": true, "dependencies": { - "@vitest/spy": "2.1.4", - "@vitest/utils": "2.1.4", + "@vitest/spy": "2.1.5", + "@vitest/utils": "2.1.5", "chai": "^5.1.2", "tinyrainbow": "^1.2.0" }, @@ -908,12 +908,12 @@ } }, "node_modules/@vitest/mocker": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.4.tgz", - "integrity": "sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.5.tgz", + "integrity": "sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==", "dev": true, "dependencies": { - "@vitest/spy": "2.1.4", + "@vitest/spy": "2.1.5", "estree-walker": "^3.0.3", "magic-string": "^0.30.12" }, @@ -934,9 +934,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.4.tgz", - "integrity": "sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.5.tgz", + "integrity": "sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==", "dev": true, "dependencies": { "tinyrainbow": "^1.2.0" @@ -946,12 +946,12 @@ } }, "node_modules/@vitest/runner": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.4.tgz", - "integrity": "sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.5.tgz", + "integrity": "sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==", "dev": true, "dependencies": { - "@vitest/utils": "2.1.4", + "@vitest/utils": "2.1.5", "pathe": "^1.1.2" }, "funding": { @@ -959,12 +959,12 @@ } }, "node_modules/@vitest/snapshot": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.4.tgz", - "integrity": "sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.5.tgz", + "integrity": "sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==", "dev": true, "dependencies": { - "@vitest/pretty-format": "2.1.4", + "@vitest/pretty-format": "2.1.5", "magic-string": "^0.30.12", "pathe": "^1.1.2" }, @@ -973,9 +973,9 @@ } }, "node_modules/@vitest/spy": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.4.tgz", - "integrity": "sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.5.tgz", + "integrity": "sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==", "dev": true, "dependencies": { "tinyspy": "^3.0.2" @@ -985,12 +985,12 @@ } }, "node_modules/@vitest/utils": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz", - "integrity": "sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.5.tgz", + "integrity": "sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==", "dev": true, "dependencies": { - "@vitest/pretty-format": "2.1.4", + "@vitest/pretty-format": "2.1.5", "loupe": "^3.1.2", "tinyrainbow": "^1.2.0" }, @@ -1842,6 +1842,12 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true + }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -3386,14 +3392,14 @@ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "funding": [ { @@ -3411,7 +3417,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -3631,9 +3637,9 @@ } }, "node_modules/rollup": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.2.tgz", - "integrity": "sha512-do/DFGq5g6rdDhdpPq5qb2ecoczeK6y+2UAjdJ5trjQJj5f1AiVdLRWRc9A9/fFukfvJRgM0UXzxBIYMovm5ww==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.26.0.tgz", + "integrity": "sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==", "dev": true, "dependencies": { "@types/estree": "1.0.6" @@ -3646,24 +3652,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.2", - "@rollup/rollup-android-arm64": "4.24.2", - "@rollup/rollup-darwin-arm64": "4.24.2", - "@rollup/rollup-darwin-x64": "4.24.2", - "@rollup/rollup-freebsd-arm64": "4.24.2", - "@rollup/rollup-freebsd-x64": "4.24.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.2", - "@rollup/rollup-linux-arm-musleabihf": "4.24.2", - "@rollup/rollup-linux-arm64-gnu": "4.24.2", - "@rollup/rollup-linux-arm64-musl": "4.24.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.2", - "@rollup/rollup-linux-riscv64-gnu": "4.24.2", - "@rollup/rollup-linux-s390x-gnu": "4.24.2", - "@rollup/rollup-linux-x64-gnu": "4.24.2", - "@rollup/rollup-linux-x64-musl": "4.24.2", - "@rollup/rollup-win32-arm64-msvc": "4.24.2", - "@rollup/rollup-win32-ia32-msvc": "4.24.2", - "@rollup/rollup-win32-x64-msvc": "4.24.2", + "@rollup/rollup-android-arm-eabi": "4.26.0", + "@rollup/rollup-android-arm64": "4.26.0", + "@rollup/rollup-darwin-arm64": "4.26.0", + "@rollup/rollup-darwin-x64": "4.26.0", + "@rollup/rollup-freebsd-arm64": "4.26.0", + "@rollup/rollup-freebsd-x64": "4.26.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.26.0", + "@rollup/rollup-linux-arm-musleabihf": "4.26.0", + "@rollup/rollup-linux-arm64-gnu": "4.26.0", + "@rollup/rollup-linux-arm64-musl": "4.26.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.26.0", + "@rollup/rollup-linux-riscv64-gnu": "4.26.0", + "@rollup/rollup-linux-s390x-gnu": "4.26.0", + "@rollup/rollup-linux-x64-gnu": "4.26.0", + "@rollup/rollup-linux-x64-musl": "4.26.0", + "@rollup/rollup-win32-arm64-msvc": "4.26.0", + "@rollup/rollup-win32-ia32-msvc": "4.26.0", + "@rollup/rollup-win32-x64-msvc": "4.26.0", "fsevents": "~2.3.2" } }, @@ -3915,11 +3921,10 @@ } }, "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "dev": true, - "license": "MIT" + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", + "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", + "dev": true }, "node_modules/streamx": { "version": "2.20.0", @@ -4258,9 +4263,9 @@ } }, "node_modules/vite": { - "version": "5.4.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", - "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "dependencies": { "esbuild": "^0.21.3", @@ -4317,13 +4322,14 @@ } }, "node_modules/vite-node": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.4.tgz", - "integrity": "sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.5.tgz", + "integrity": "sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==", "dev": true, "dependencies": { "cac": "^6.7.14", "debug": "^4.3.7", + "es-module-lexer": "^1.5.4", "pathe": "^1.1.2", "vite": "^5.0.0" }, @@ -4361,30 +4367,30 @@ "dev": true }, "node_modules/vitest": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.4.tgz", - "integrity": "sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==", - "dev": true, - "dependencies": { - "@vitest/expect": "2.1.4", - "@vitest/mocker": "2.1.4", - "@vitest/pretty-format": "^2.1.4", - "@vitest/runner": "2.1.4", - "@vitest/snapshot": "2.1.4", - "@vitest/spy": "2.1.4", - "@vitest/utils": "2.1.4", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.5.tgz", + "integrity": "sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==", + "dev": true, + "dependencies": { + "@vitest/expect": "2.1.5", + "@vitest/mocker": "2.1.5", + "@vitest/pretty-format": "^2.1.5", + "@vitest/runner": "2.1.5", + "@vitest/snapshot": "2.1.5", + "@vitest/spy": "2.1.5", + "@vitest/utils": "2.1.5", "chai": "^5.1.2", "debug": "^4.3.7", "expect-type": "^1.1.0", "magic-string": "^0.30.12", "pathe": "^1.1.2", - "std-env": "^3.7.0", + "std-env": "^3.8.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.1", "tinypool": "^1.0.1", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.1.4", + "vite-node": "2.1.5", "why-is-node-running": "^2.3.0" }, "bin": { @@ -4399,8 +4405,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.1.4", - "@vitest/ui": "2.1.4", + "@vitest/browser": "2.1.5", + "@vitest/ui": "2.1.5", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index 0a022aa17d..5d69b71800 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "c8": "^10.1.2", "markdownlint-cli": "^0.42.0", "mdv": "^1.3.4", - "vitest": "^2.1.4", + "vitest": "^2.1.5", "yaml": "^2.6.0" }, "keywords": [ From dd82d5525740c02eeb831948c2c28f7f65d15286 Mon Sep 17 00:00:00 2001 From: Lorna Jane Mitchell Date: Thu, 14 Nov 2024 09:43:42 +0000 Subject: [PATCH 22/28] Apply suggestions from code review Co-authored-by: Ralf Handl --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 101c97542a..ab74f4fbeb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -168,7 +168,7 @@ Changes in minor releases (such as 3.2, 3.3) meet the following criteria: * 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. * Make the specification document clearer or easier to understand. -A minor release is due when there are some meaningful features (including one or a small nummber of headline features). +A minor release is due when there are some meaningful features (including one or a small number of headline features). ### Patch Releases @@ -177,7 +177,7 @@ Since we do not edit specification documents after publication, even the smalles Changes in patch releases meet the following criteria: -* Minor updates such as spelling or formatting fixes, including link updates. +* Editorial changes such as spelling or formatting fixes, including link updates. * Clarifications or additions that do not change the meaning of the specification. Patch releases are created as often as there are changes to the specification worth releasing. From b7683f9c4350513baa733d3d4706ba772e1dda5f Mon Sep 17 00:00:00 2001 From: "Henry H. Andrews" Date: Thu, 14 Nov 2024 09:46:30 -0800 Subject: [PATCH 23/28] Update PR template for new branching strategy. --- .github/pull_request_template.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 43847f00ae..e230d2ff90 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,15 +2,14 @@ Thank you for contributing to the OpenAPI Specification! Please make certain you are submitting your PR on the correct -branch and file: +branch, to the files under the "src/" directory (which is not +present on the main branch, only on the development branches). -* 3.0.x spec: v3.0.4-dev branch, versions/3.0.4.md -* 3.1.x spec: v3.1.1-dev branch, versions/3.1.1.md -* 3.2.0 spec: v3.2.0-dev branch, versions/3.2.0.md -* 3.0 schema: main branch, schemas/v3.0/... -* 3.1 schema: main branch, schemas/v3.1/... +* 3.1.x spec and schemas: v3.1-dev branch +* 3.2.x spec and schemas: v3.2-dev branch * registry templates: gh-pages branch, registry/... * registry contents: gh-pages branch, registries/... +* process documentation and build infrastructure: main Note that we do not accept changes to published specifications. --> From bcc9f2971f21315f4cb025c0225b1f7af997a63e Mon Sep 17 00:00:00 2001 From: Marsh Gardiner Date: Thu, 14 Nov 2024 09:51:07 -0800 Subject: [PATCH 24/28] Fixes the CoC link in the agenda --- .github/templates/agenda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/templates/agenda.md b/.github/templates/agenda.md index 0b65e594ab..5faa181e88 100644 --- a/.github/templates/agenda.md +++ b/.github/templates/agenda.md @@ -7,7 +7,7 @@ Whether attending or not, **anyone can comment on this issue prior to the meetin Meetings take place over Zoom: [https://zoom.us/j/975841675](https://zoom.us/j/975841675?pwd=SUh4MjRLaEFKNlI3RElpWTdhRDVVUT09), dial-in passcode: 763054 ### Accessibility & Etiquette -* Participants must abide by our [Code-of-Conduct](https://github.com/OAI/OpenAPI-Specification/blob/main/CODE_OF_CONDUCT.md#code-of-conduct). +* Participants must abide by our [Code-of-Conduct](https://github.com/OAI/OpenAPI-Specification?tab=coc-ov-file). * Meetings are recorded for future reference, and for those who are not able to attend in-person. From 362e97455d39c95d9f0492c350ce698b9fc2852d Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Thu, 14 Nov 2024 20:39:41 +0100 Subject: [PATCH 25/28] No infix -latest --- scripts/md2html/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/md2html/build.sh b/scripts/md2html/build.sh index ec71001952..e1e421f979 100755 --- a/scripts/md2html/build.sh +++ b/scripts/md2html/build.sh @@ -60,7 +60,7 @@ for filename in $(ls -1 ../../versions/[23456789].*.md | sort -r) ; do fi if [ ${minorVersion} != ${lastMinor} ] && [ ${minorVersion} != 2.0 ]; then - ln -sf ../../deploy/oas/v$version.html ../../deploy/oas/v$minorVersion-latest.html + ln -sf ../../deploy/oas/v$version.html ../../deploy/oas/v$minorVersion.html lastMinor=$minorVersion fi done From 24e306db1357a57b91f2303ddbacbe1e08ab7c30 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Thu, 14 Nov 2024 21:18:21 +0100 Subject: [PATCH 26/28] Link to minor spec version --- schemas/v3.1/schema.yaml | 54 ++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/schemas/v3.1/schema.yaml b/schemas/v3.1/schema.yaml index dbb4c756ad..54c49a2f97 100644 --- a/schemas/v3.1/schema.yaml +++ b/schemas/v3.1/schema.yaml @@ -53,7 +53,7 @@ unevaluatedProperties: false $defs: info: - $comment: https://spec.openapis.org/oas/v3.1.0#info-object + $comment: https://spec.openapis.org/oas/v3.1#info-object type: object properties: title: @@ -78,7 +78,7 @@ $defs: unevaluatedProperties: false contact: - $comment: https://spec.openapis.org/oas/v3.1.0#contact-object + $comment: https://spec.openapis.org/oas/v3.1#contact-object type: object properties: name: @@ -93,7 +93,7 @@ $defs: unevaluatedProperties: false license: - $comment: https://spec.openapis.org/oas/v3.1.0#license-object + $comment: https://spec.openapis.org/oas/v3.1#license-object type: object properties: name: @@ -114,7 +114,7 @@ $defs: unevaluatedProperties: false server: - $comment: https://spec.openapis.org/oas/v3.1.0#server-object + $comment: https://spec.openapis.org/oas/v3.1#server-object type: object properties: url: @@ -131,7 +131,7 @@ $defs: unevaluatedProperties: false server-variable: - $comment: https://spec.openapis.org/oas/v3.1.0#server-variable-object + $comment: https://spec.openapis.org/oas/v3.1#server-variable-object type: object properties: enum: @@ -149,7 +149,7 @@ $defs: unevaluatedProperties: false components: - $comment: https://spec.openapis.org/oas/v3.1.0#components-object + $comment: https://spec.openapis.org/oas/v3.1#components-object type: object properties: schemas: @@ -201,7 +201,7 @@ $defs: unevaluatedProperties: false paths: - $comment: https://spec.openapis.org/oas/v3.1.0#paths-object + $comment: https://spec.openapis.org/oas/v3.1#paths-object type: object patternProperties: '^/': @@ -210,7 +210,7 @@ $defs: unevaluatedProperties: false path-item: - $comment: https://spec.openapis.org/oas/v3.1.0#path-item-object + $comment: https://spec.openapis.org/oas/v3.1#path-item-object type: object properties: $ref: @@ -248,7 +248,7 @@ $defs: unevaluatedProperties: false operation: - $comment: https://spec.openapis.org/oas/v3.1.0#operation-object + $comment: https://spec.openapis.org/oas/v3.1#operation-object type: object properties: tags: @@ -290,7 +290,7 @@ $defs: unevaluatedProperties: false external-documentation: - $comment: https://spec.openapis.org/oas/v3.1.0#external-documentation-object + $comment: https://spec.openapis.org/oas/v3.1#external-documentation-object type: object properties: description: @@ -304,7 +304,7 @@ $defs: unevaluatedProperties: false parameter: - $comment: https://spec.openapis.org/oas/v3.1.0#parameter-object + $comment: https://spec.openapis.org/oas/v3.1#parameter-object type: object properties: name: @@ -444,7 +444,7 @@ $defs: $ref: '#/$defs/parameter' request-body: - $comment: https://spec.openapis.org/oas/v3.1.0#request-body-object + $comment: https://spec.openapis.org/oas/v3.1#request-body-object type: object properties: description: @@ -470,7 +470,7 @@ $defs: $ref: '#/$defs/request-body' content: - $comment: https://spec.openapis.org/oas/v3.1.0#fixed-fields-10 + $comment: https://spec.openapis.org/oas/v3.1#fixed-fields-10 type: object additionalProperties: $ref: '#/$defs/media-type' @@ -478,7 +478,7 @@ $defs: format: media-range media-type: - $comment: https://spec.openapis.org/oas/v3.1.0#media-type-object + $comment: https://spec.openapis.org/oas/v3.1#media-type-object type: object properties: schema: @@ -493,7 +493,7 @@ $defs: unevaluatedProperties: false encoding: - $comment: https://spec.openapis.org/oas/v3.1.0#encoding-object + $comment: https://spec.openapis.org/oas/v3.1#encoding-object type: object properties: contentType: @@ -521,7 +521,7 @@ $defs: unevaluatedProperties: false responses: - $comment: https://spec.openapis.org/oas/v3.1.0#responses-object + $comment: https://spec.openapis.org/oas/v3.1#responses-object type: object properties: default: @@ -540,7 +540,7 @@ $defs: required: [default] response: - $comment: https://spec.openapis.org/oas/v3.1.0#response-object + $comment: https://spec.openapis.org/oas/v3.1#response-object type: object properties: description: @@ -571,7 +571,7 @@ $defs: $ref: '#/$defs/response' callbacks: - $comment: https://spec.openapis.org/oas/v3.1.0#callback-object + $comment: https://spec.openapis.org/oas/v3.1#callback-object type: object $ref: '#/$defs/specification-extensions' additionalProperties: @@ -588,7 +588,7 @@ $defs: $ref: '#/$defs/callbacks' example: - $comment: https://spec.openapis.org/oas/v3.1.0#example-object + $comment: https://spec.openapis.org/oas/v3.1#example-object type: object properties: summary: @@ -617,7 +617,7 @@ $defs: $ref: '#/$defs/example' link: - $comment: https://spec.openapis.org/oas/v3.1.0#link-object + $comment: https://spec.openapis.org/oas/v3.1#link-object type: object properties: operationRef: @@ -651,7 +651,7 @@ $defs: $ref: '#/$defs/link' header: - $comment: https://spec.openapis.org/oas/v3.1.0#header-object + $comment: https://spec.openapis.org/oas/v3.1#header-object type: object properties: description: @@ -697,7 +697,7 @@ $defs: $ref: '#/$defs/header' tag: - $comment: https://spec.openapis.org/oas/v3.1.0#tag-object + $comment: https://spec.openapis.org/oas/v3.1#tag-object type: object properties: name: @@ -712,7 +712,7 @@ $defs: unevaluatedProperties: false reference: - $comment: https://spec.openapis.org/oas/v3.1.0#reference-object + $comment: https://spec.openapis.org/oas/v3.1#reference-object type: object properties: $ref: @@ -724,14 +724,14 @@ $defs: type: string schema: - $comment: https://spec.openapis.org/oas/v3.1.0#schema-object + $comment: https://spec.openapis.org/oas/v3.1#schema-object $dynamicAnchor: meta type: - object - boolean security-scheme: - $comment: https://spec.openapis.org/oas/v3.1.0#security-scheme-object + $comment: https://spec.openapis.org/oas/v3.1#security-scheme-object type: object properties: type: @@ -932,7 +932,7 @@ $defs: unevaluatedProperties: false security-requirement: - $comment: https://spec.openapis.org/oas/v3.1.0#security-requirement-object + $comment: https://spec.openapis.org/oas/v3.1#security-requirement-object type: object additionalProperties: type: array @@ -940,7 +940,7 @@ $defs: type: string specification-extensions: - $comment: https://spec.openapis.org/oas/v3.1.0#specification-extensions + $comment: https://spec.openapis.org/oas/v3.1#specification-extensions patternProperties: '^x-': true From 04eef46d846ac119e492cda4924a76d9d809154d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 07:12:34 +0000 Subject: [PATCH 27/28] Bump yaml from 2.6.0 to 2.6.1 Bumps [yaml](https://github.com/eemeli/yaml) from 2.6.0 to 2.6.1. - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](https://github.com/eemeli/yaml/compare/v2.6.0...v2.6.1) --- updated-dependencies: - dependency-name: yaml dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9c11ca5b64..77c16be8d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "markdownlint-cli": "^0.42.0", "mdv": "^1.3.4", "vitest": "^2.1.5", - "yaml": "^2.6.0" + "yaml": "^2.6.1" } }, "node_modules/@babel/code-frame": { @@ -4675,9 +4675,9 @@ } }, "node_modules/yaml": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", - "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", "dev": true, "bin": { "yaml": "bin.mjs" diff --git a/package.json b/package.json index 5d69b71800..3bca234412 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "markdownlint-cli": "^0.42.0", "mdv": "^1.3.4", "vitest": "^2.1.5", - "yaml": "^2.6.0" + "yaml": "^2.6.1" }, "keywords": [ "OpenAPI", From e12d589cff3ff2fe566738645edecbbd4037ec72 Mon Sep 17 00:00:00 2001 From: Ralf Handl Date: Thu, 21 Nov 2024 14:35:23 +0100 Subject: [PATCH 28/28] symlink to file in same directory Update build.sh --- scripts/md2html/build.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/md2html/build.sh b/scripts/md2html/build.sh index e1e421f979..f716e815bc 100755 --- a/scripts/md2html/build.sh +++ b/scripts/md2html/build.sh @@ -54,13 +54,17 @@ for filename in $(ls -1 ../../versions/[23456789].*.md | sort -r) ; do if [ $version = $latest ]; then if [[ ${version} != *"rc"* ]];then # version is not a Release Candidate - ln -sf ../../deploy/oas/v$version.html ../../deploy/oas/latest.html + pushd ../../deploy/oas + ln -sf v$version.html latest.html + popd latestCopied=v$version fi fi if [ ${minorVersion} != ${lastMinor} ] && [ ${minorVersion} != 2.0 ]; then - ln -sf ../../deploy/oas/v$version.html ../../deploy/oas/v$minorVersion.html + pushd ../../deploy/oas + ln -sf v$version.html v$minorVersion.html + popd lastMinor=$minorVersion fi done