Skip to content

Commit c02f13c

Browse files
author
Paul Ebermann
committed
Update PR for october, mention old versions
1 parent 6563e9c commit c02f13c

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

chapters/compatibility.adoc

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ like other incompatible changes.
301301

302302
To avoid these issues, we recommend to use `enum` only if
303303

304-
1. the API has full control of the enumeration values, i.e. the list of values
304+
1. the API owner has full control of the enumeration values, i.e. the list of values
305305
does not depend on any external tool or interface, and
306306
2. the list of values is complete with respect to any thinkable and unthinkable
307307
future feature.
@@ -326,7 +326,8 @@ delivery_method:
326326
description: Extensible enum. The chosen delivery method of the invoice.
327327
----
328328

329-
See <<240>> about enum value naming conventions.
329+
See <<240>> about enum value naming conventions – these apply here too.
330+
330331

331332
**Important**:
332333

@@ -341,12 +342,16 @@ See <<240>> about enum value naming conventions.
341342
the `examples` list, see <<107>>.
342343

343344
(Note that the last 3 bullet points do not apply for uses of `examples` _without_ the
344-
"Extensible enum." prefix in the description – here any value needs
345-
to be expected.)
345+
"Extensible enum." prefix in the description – here any value fitting the rest
346+
of the schema needs to be expected.)
347+
348+
Note that the plural `examples` on schemas was only introduced with OpenAPI 3.1 (with an update of the JSON schema version referenced).
349+
APIs defined with older OpenAPI versions can't use this format, and instead need to use
350+
the {x-extensible-enum} described below↓.
346351

347-
=== Historic Note
352+
=== Historic Note: `x-extensible-enum`
348353

349-
Previously (until May 2025), this guideline recommended our own proprietary
354+
Previously (until October 2025), this guideline recommended our own proprietary
350355
{x-extensible-enum} JSON schema extension here, with a similar semantic:
351356

352357
> This is the *complete* list of values *currently* possible, but consumers must be
@@ -376,6 +381,6 @@ This rule originated in the time before JSON schema and OpenAPI schema
376381
had the plural `examples` property (OpenAPI schema had singular `example`,
377382
JSON schema had neither).
378383

379-
We also thought we could have some validations (e.g. by our event bus Nakadi),
380-
but the Nakadi team instead decided to not validate `x-extensible-enum`,
381-
and even reject it in event type schema definitions.
384+
We (the API guild) also thought we could have some validations (e.g. by our
385+
event bus Nakadi), but the Nakadi team instead decided to not validate
386+
`x-extensible-enum`, and even reject it in event type schema definitions.

0 commit comments

Comments
 (0)