-
-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open Community Working Meeting 2022-08-01 #213
Comments
I have a short presentation on forwards compatibility & designing a protocol for continuous evolution. |
Sounds exciting! |
Thanks for questions everyone. I presented a work-in-progress, so to clarify what the goal is: Consider my example that showed the behavior for "draft-3":
This has very few options for forward compatibility, and none that permit defining a new property name. That is, the only way to add keywords is in a new release of JSON Schema is to do so in a way that "overlaps" with the behavior of previous specifications—depending on if you're using draft-3 or draft-4, you will get different answers. What I'm going to spend this week doing is filling out this table for the all the other versions of JSON Schema. This can help determine what overlapping behaviors we have, and where there's "over-allocated' behavior (behavior that looks like an answer, but isn't used by clients); and with this list of overlapping behaviors, I can craft examples, and we can debate how to resolve the ambiguity. Importantly, this technique applies to $schema and $vocabulary; we can determine exactly where the specifications have defined contradictory behavior, and make a decision how to handle it. |
Resolving the ambiguities will involve adding conditions that further constrains when a behavior may be used. For example, adding a condition "if $schema mentions draft-3, then use the old behavior; else use the new behavior." Or maybe even removing some old behavior altogether. For example, draft-02 did not define "required". But it's unlikely that any schema used "required" and expected it to be ignored; therefore, the behavior where "required" is ignored can simply be removed, and this would resolve the ambiguity. |
Closing this issue as all tasks are completed. Thanks for your contributions! |
📺 See Recording
📎 Attached Doc
⏪ Go To Previous Meeting
Agenda
Highlights
Some agenda items were rolled over
Media-type work discussed
Compatibility and designing for continuous evolution
Actions
Create a JSON Schema Glossary Page or Site. See discussion json-schema-org/website#266
How to deprecate old versions. See discussion #192
@awwright to share examples and further details on compatibility considerations. Read here
@handrews to add his comments regarding media-type work
Check in with @jviotti regarding CI work
Attendees
Details
Media-type work
Updates shared by @jdesrosiers regarding media-type work.
fixed
outstanding issues/challengesPresentation regarding compatibility considerations
Compatibility presentation by @awwright. Some highlights from the presentation and member's comments are presented below.
The text was updated successfully, but these errors were encountered: