Skip to content

Deprecate x-extensible-enum - #837

Merged
tfrauenstein merged 11 commits into
mainfrom
deprecate-x-extensible-enum
Nov 27, 2025
Merged

tfrauenstein merged 11 commits into
mainfrom
deprecate-x-extensible-enum

Conversation

@ePaul

@ePaul ePaul commented Apr 29, 2025

Copy link
Copy Markdown
Collaborator

Implements #831.

Also some minor changes to clarify things elsewhere.

@ePaul ePaul added guideline-change zally-change major Major feature changes or updates, e.g. feature rollout to a new country, new API calls. labels Apr 29, 2025
@zalando-compr-opensource

Copy link
Copy Markdown

invalid team ID

The team ID in your .zappr.yaml file does not appear to be valid. Please, fix
this before team ID checks will be added back into ComPR's specification check.

You can follow this guideline for help.

2 similar comments
@zalando-compr-opensource

Copy link
Copy Markdown

invalid team ID

The team ID in your .zappr.yaml file does not appear to be valid. Please, fix
this before team ID checks will be added back into ComPR's specification check.

You can follow this guideline for help.

@zalando-compr-opensource

Copy link
Copy Markdown

invalid team ID

The team ID in your .zappr.yaml file does not appear to be valid. Please, fix
this before team ID checks will be added back into ComPR's specification check.

You can follow this guideline for help.

@tfrauenstein tfrauenstein left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the PR -- LGTM!
I provided some (mostly editorial) change proposals.

There are other occurrences of x-extensible-enum in the following rules that need to be updated:

The Event Type specification: rule #197 also uses x-extensible-enum. However, the rule anyway needs to be cleaned-up -- see Issue: Optimize the Event Guidelines for its usage with Nakadi. So I propose to handle this via a separate PR for the Event Guideline Clean-Up issue.

Additionally, I propose to add a log entry to the Change History.

Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/events.adoc
Comment thread chapters/events.adoc
@tfrauenstein

tfrauenstein commented May 7, 2025

Copy link
Copy Markdown
Contributor

@ePaul I just discovered that 'examples' in OpenAPI 3.0 is not yet consistent with JSON Schema -- this was only fixed with OpenAPI 3.1! In OpenAPI 3.0 examples is a map of named examples, and not simply an array of examples like in JSON Schema. In OpenAPI 3.1 examples in data object schema definitions is done like in JSON Schema (as array), but OpenAPI 3.1 still supports example and examples outside the schema — specifically under the media type object (like application/json) in the 'old way' as map (see working-with-examples ). If we want to stick to OpenAPI 3.0 as status-quo, we need to change the examples. I also created an Issue: OpenAPI 3.1 Upgrade for discussion in the guild.

@ePaul
ePaul marked this pull request as draft May 27, 2025 12:52
@ePaul

ePaul commented May 27, 2025

Copy link
Copy Markdown
Collaborator Author

As OpenAPI 3.0 doesn't have examples in the schema object, we can't really use that before we generally recommend 3.1 (or later). Putting on hold, waiting for #839.

@zalando-compr-opensource

Copy link
Copy Markdown

invalid team ID

The team ID in your .zappr.yaml file (in the default branch) does not appear
to be valid. Please, fix this before team ID checks will be added back into
ComPR's specification check.

(If this PR is already fixing this, ignore the warning. But preferably fix it
in a PR separate from other changes, as the merge build from this PR will
not give a compliant image.)

You can follow this guideline for help.

@tfrauenstein

tfrauenstein commented Oct 8, 2025

Copy link
Copy Markdown
Contributor

@ePaul Since #839 has been delivered and we upgraded to OpenAPI 3.1, can you please finish this PR. We should also add a hint that x-extensible-enum is continued to be recommended for OAS versions older than OAS 3.1. Thank you!

@ePaul
ePaul force-pushed the deprecate-x-extensible-enum branch from c1e8eb1 to c02f13c Compare October 29, 2025 13:59
@ePaul
ePaul marked this pull request as ready for review October 29, 2025 14:25
@ePaul

ePaul commented Oct 29, 2025

Copy link
Copy Markdown
Collaborator Author

I've applied some of the editorial suggestions and made a few more of my own, also indicating the relation to OpenAPI 3.1.

Comment thread chapters/compatibility.adoc Outdated
Previously (until May 2025), this guideline recommended our own proprietary
{x-extensible-enum} JSON schema extension here, with a similar semantic:

> This is the *complete* list of values *currently* possible, but consumers must be

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I would remove it to avoid redundancies in the same rule context. I also would replace 'similar semantic' by 'same semantics'.

Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/compatibility.adoc Outdated
Comment thread chapters/events.adoc
ePaul and others added 4 commits November 12, 2025 17:23
Co-authored-by: Paŭlo Ebermann <[email protected]>
Comment thread chapters/compatibility.adoc Outdated
@tfrauenstein

Copy link
Copy Markdown
Contributor

👍

@ePaul

ePaul commented Nov 27, 2025

Copy link
Copy Markdown
Collaborator Author

👍

1 similar comment
@tfrauenstein

Copy link
Copy Markdown
Contributor

👍

@tfrauenstein
tfrauenstein merged commit a7e3a7d into main Nov 27, 2025
4 checks passed
@tfrauenstein
tfrauenstein deleted the deprecate-x-extensible-enum branch November 27, 2025 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

guideline-change major Major feature changes or updates, e.g. feature rollout to a new country, new API calls. zally-change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants