jesse icon indicating copy to clipboard operation
jesse copied to clipboard

draft-06 / draft-07 support?

Open handrews opened this issue 7 years ago • 8 comments
trafficstars

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.

handrews avatar Mar 11 '18 08:03 handrews

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 avatar Mar 11 '18 11:03 andreineculau

@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 (definitions becomes $defs in the core, so don't treat "definitions" as a special case in #53)
  • json-schema-org/json-schema-spec#523 ($ref as 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!

handrews avatar Mar 12 '18 18:03 handrews

@andreineculau the closest to diffs are the release migration notes:

http://json-schema.org/specification.html#migrating-from-older-drafts

handrews avatar Mar 12 '18 19:03 handrews

Man I wish I had time to work on this. I'd love to get Jesse up to speed on draft 7/8

jadeallenx avatar Jun 06 '18 20:06 jadeallenx

@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.

handrews avatar Jun 06 '18 20:06 handrews

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.

jadeallenx avatar Jun 06 '18 20:06 jadeallenx

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

expelledboy avatar Jul 04 '18 17:07 expelledboy

So, draft-06 have been just merged #108

seriyps avatar Feb 08 '22 09:02 seriyps