You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tl;dr; I'm proposed a better way to perform schema compatibility checks for JSON Schema, that allows the addition and removal of optional properties. See part 2 post for details.
They've been a few issues raised in the past by people being surprised how restrictive the compatibility checks are for JSON schema types:
Robert wrote a post explaining why it is the way it is and proposed a solution for full compatible schema changes using patternProperties. Unfortunately, using patternProperties is very restrictive and verbose, e.g. here's my stab at such a schema before I added any actual properties:
Without using a partially-open object model, like the one above, it is simply not possible to achieve full compatibility when making schema changes: there are no valid meaningful schema changes.
Other schema types allow optional properties to be added and removed while maintaining full compatibility.
I believe I've an improved model for JSON schema compatibility checks that does allow optional properties to be added and removed. I've detailed the approach in a post.
tl;dr; I'm proposed a better way to perform schema compatibility checks for JSON Schema, that allows the addition and removal of optional properties. See part 2 post for details.
They've been a few issues raised in the past by people being surprised how restrictive the compatibility checks are for JSON schema types:
Robert wrote a post explaining why it is the way it is and proposed a solution for full compatible schema changes using
patternProperties
. Unfortunately, usingpatternProperties
is very restrictive and verbose, e.g. here's my stab at such a schema before I added any actual properties:Without using a partially-open object model, like the one above, it is simply not possible to achieve full compatibility when making schema changes: there are no valid meaningful schema changes.
Other schema types allow optional properties to be added and removed while maintaining full compatibility.
I believe I've an improved model for JSON schema compatibility checks that does allow optional properties to be added and removed. I've detailed the approach in a post.
Thoughts very much appreciated all, @rayokota
The text was updated successfully, but these errors were encountered: