-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
Implement Draft 2019-09 #44
Comments
Looking forward to have this available 🙂️ |
Hope to get back to this feature soon :) |
Now there's Draft 2020-12 |
We should be able to implement both 2019-09 and 2020-12 in one go I think. Here's my understanding of the work to be done: Work to be done Based on the changes from Draft-07 to 2019-09Annotations, errors and outputs
Core vocabulary changes
Applicator Vocabulary
Format changes
Validation
Meta-data
Based on changes from 2019-09 to 2020-12
Common components
|
Great write-up, @alexjg ! I have some small bits here and there (maybe incomplete): Here is also some existing (but not yet merged) implementation for needed keywords. It might help to implement those keywords here. I like the plan and would be happy to split it into granular tasks! I'll also check it in more detail in a few days. I think some changes could be done and merged, but we may not expose them (e.g. new keyword impls) until their respective drafts are ready. So, there should be no problem with accumulating changes step-by-step. Though, we can still test them high-level via some What do you think if we approach the implementation this way? |
That seems like a sensible way to proceed. I'm going to make a start on the annotation collection and output formatting part as that feels like it's the largest change architecturally. |
Great! Here are separate issues for the entries above. 2019-09Annotations, errors and outputs
Core vocabulary changesFormat changes
I added new keyword implementation as sub-tasks in existing issues for their relevant drafts (this one and #195 ). |
I'll set up conditional compilation for testing & merge existing keywords implementation, so we can run tests & add new one easier. It should be pretty much isolated, so I hope we can avoid conflicting changes. |
Folks, FYI, in UPDATE 2024-10-24: |
Done! there are two bugs in |
Validation docs: https://tools.ietf.org/html/draft-handrews-json-schema-validation-02
New keywords:
$anchor
$definitions
$recursiveRef
$recursiveAnchor
unevaluatedItems
#287unevaluatedProperties
#288contentSchema
maxContains
minContains
deprecated
dependentRequired
&dependentSchemas
#286 (instead ofdependencies
)Implementation examples - TypeScript, Python (partial)
The text was updated successfully, but these errors were encountered: