-
-
Notifications
You must be signed in to change notification settings - Fork 282
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
Paragraph regarding dated meta-schemas is more generic than unevaluated* and should be moved #1089
Comments
It can just be removed because it's also stated in section 8.1.3.
However, that process seems problematic. The Unless that paragraph is suggesting that if I declare 2021-04, an implementation should assume 2020-12 because it's the closest version to 2021-04. Not only would that be an abuse of how URIs work, it would be very confusing for the community. When people start seeing I think our only choices if we need to update any meta-schemas is either to release a new draft or make the changes and keep the same |
URIs for
But yes, revisions do present a URI connundrum. |
Agreed. If we do release new revisions, I would add a "$comment" to each document indicating the date of the last revision, so consumers of these documents can be sure which revision they have and track when updates occur. |
I wasn't suggesting otherwise. |
That process has always been rather wobbly, as some people expect bug fixes in place and others object to any in-place fixes. There are strong feelings on both sides and the closest we've come to being able to accommodate both is restricting in-place changes to when the published meta-schema is outright broken to the point of being unusable. Also, implementation behavior should be done based on vocabularies, which are currently identified by pure URIs (there's no machine-readable spec even if there is a resource located at the URI). Since there's no machine-readable file to break or have a bugfix, those URIs should not change unless the identified semantics change. So really, behavior shouldn't switch based on the meta-schema URI anymore, that's more of a human-friendly shortcut so most schema authors don't have to think about the seven (or whatever it is) different vocabularies in use. That was part of the whole point of separating vocabulary and meta-schema: vocabulary URIs are more stable and actually determine behavior, while people should feel free to write their own meta-schemas for whatever reason, which mostly will not be specifically recognized by the implementation. This is because meta-schemas are for syntax (which can be enforced by normal validation of the schema against the meta-schema) while behavior (including loading extension modules) is driven by vocabularies. |
Good point. That completely invalidates my argument. Given that perspective, I don't see a problem with releasing new meta-schemas with some version identifier such as |
So it sounds like we just need to remove the duplicates (there's actually yet another one)? I'll make a PR for just that. If we still need to discuss more changes that can continue, but no reason to wait for the obvious part. |
I'm going to go ahead and close this as fixed by PR #1101. The larger discussion about meta-schema release process and how to sort out the meanings of the dates in the URI probably belong as a discussion in the community repo. |
From section 11 of the core spec:
Seems like it's applicable to the draft as a whole and covers both spec docs.
The text was updated successfully, but these errors were encountered: