Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It's useful to specify
enum
on fields in terms of documentation and nudging users to handle the full set of values correctly. However it does come with a pretty significant downside when thinking about clients where you may not have full control of the release cycle (eg: native mobile apps where you're at the mercy of the users as to when they update).Currently the
enum
schema validation is very strict and will throw an error on unrecognized values, which then makes it difficult to safely extend the schema to include new values.This change aims to find a middle-ground where we still get the benefits of
enum
for our client SDK's, but we also force consumers to anticipate new values being added and handle this case.It will likely be configurable behind a flag, given that there may be situations where the current stricter behavior is desirable. Server
enum
handling will remain as-is.