feat: add support for OpenAPI 3.1 (#32300)

* breaking: add support for OpenAPI 3.1

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* add changeset

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* update nullable prop

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* remove more allowReserved usages

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* make changes less breaking

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* Apply suggestion from @aramissennyeydd

Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>

---------

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com>
This commit is contained in:
Aramis Sennyey
2026-02-28 09:04:02 -05:00
committed by GitHub
parent fbcfb392a2
commit 0fbcf23714
239 changed files with 360 additions and 673 deletions
+8 -1
View File
@@ -26,7 +26,14 @@ This tutorial assumes that you're already familiar with the following,
1. How to build a Backstage plugin.
2. `Express.js` and `Typescript`
3. OpenAPI 3.0 schemas
3. OpenAPI 3.1 schemas
:::note OpenAPI Version Support
Backstage supports both OpenAPI 3.0 and 3.1 specifications. If you have existing OpenAPI 3.0 specs, we recommend that you migrate them to 3.1. The main changes are:
- Replace `nullable: true` with `type: ['string', 'null']` or use `anyOf`/`oneOf`
- Remove `allowReserved` from path parameters (only valid on query/cookie parameters in 3.1)
:::
### Setting up