jesse
jesse copied to clipboard
draft-06 / draft-07 support?
Hello from the JSON Schema spec project!
Does this project intend to add support for the recent drafts 6 and/or 7? I'm happy to answer any questions about the new (and forthcoming) drafts. http://json-schema.org/specification.html
We will at some point be re-organizing the implementation lists to promote implementations supporting at least draft-06 and make draft-04-and-older-only implementations less visible.
Thanks for the ping, Henry! As a prerequisite, i think we need to close #53 and #55 before moving forward with more standards. That is on me. Otherwise, a PR is most appreciated. I personally am not using any of the new features so I'm not committed. But that won't stop me from reviewing and accepting any PR that handles a new json schema standard with a comprehensive test suite.
For reference for anyone that wants and can put in time for a PR, are there any simple to follow "diffs" i.e. we added x, removed y, changed/clarified the definition of z? That would probably speed up anyone's efforts.
@andreineculau sounds good. Wish I could make a PR for this myself but I don't know Erlang and the spec work sucks up all of my JSON Schema time anyway :-)
Regarding #53 and #55, here are some draft-08 proposals that are relevant and may affect how you want to finish these:
- json-schema-org/json-schema-spec#512 (
definitionsbecomes$defsin the core, so don't treat "definitions" as a special case in #53) - json-schema-org/json-schema-spec#523 (
$refas delegation, allow keywords alongside$ref) - json-schema-org/json-schema-spec#530 (annotation collection- builds on the annotation collection added in draft-07, and seems relevant to "we look for annotated schema elements and perform whatever we want as an extra validation.")
Also, multi-vocabulary support should be relevant to:
we are only interested in providing an extra layer of validation not tied to jesse core library not replacing by a custom validator
as we are working on ways to add layers of validation, define alternate vocabularies entirely, restrict vocabularies, and do all of that in a machine-comprehensible way. Any feedback on the vocabulary support ideas would be very much appreciated, particularly if you are working on custom validation extensions!
@andreineculau the closest to diffs are the release migration notes:
http://json-schema.org/specification.html#migrating-from-older-drafts
Man I wish I had time to work on this. I'd love to get Jesse up to speed on draft 7/8
@mrallen1 / @andreineculau if you're actively interested in attracting contributors for this, I could put this implementation on the "modern" page with a link to this issue. I've started doing that for implementations that are active and interested in modernizing, but just not able to move on new drafts due to resource constraints.
I'm just a nobody in this project but that'd be pretty cool imo. I could help with something but I don't think I can do everything that would be needed.
I am looking to implement draft 5-8 in ejsv, but looking for assitance in understanding of how best to implement schema validation with recursive $ref's, if anyone is interested I would really appreciate some help on https://github.com/patternmatched/ejsv/issues/1
So, draft-06 have been just merged #108