Skip to content
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

Support of 2019-09 draft (aka draft-08) #613

Closed
jgarver opened this issue Oct 9, 2019 · 10 comments
Closed

Support of 2019-09 draft (aka draft-08) #613

jgarver opened this issue Oct 9, 2019 · 10 comments
Labels
Enhancement Some new desired functionality

Comments

@jgarver
Copy link

jgarver commented Oct 9, 2019

I know it's a big ask; just letting you know I'm pretty excited about the new draft and am eagerly awaiting support.

Thanks for all you do!

@Julian Julian added Enhancement Some new desired functionality Needs Test Upstream Issues that need to have a test added to https://github.com/json-schema-org/JSON-Schema-Test-Suite labels Oct 9, 2019
@christian-weiss
Copy link

https://github.com/json-schema-org/JSON-Schema-Test-Suite writes: "Draft 2019-09 support is under development. Contributions are very welcome,..."

So i guess Julian will wait until Test Suite is "well enough" to implement against it.

@thierryreding
Copy link

I've implemented a rough proof of concept for unevaluatedProperties in a fork here:

https://github.com/thierryreding/jsonschema/tree/master

which I've been using as part of some work to convert some of the device tree bindings in the Linux kernel to use json-schema. Some of the bindings that I've been working on are a bit complex and rely heavily on conditionals, so "unevaluatedProperties: false" is necessary to validate that we don't end up with extra properties in device tree files.

Anyway, the implementation is by no means complete, but it seems to do what it's supposed to, so I wanted to run it by you to get some feedback on the implementation. There's a bit of an API break in there, though it should be fairly easy to make it backwards-compatible if that's a requirement.

@Julian
Copy link
Member

Julian commented Jun 6, 2020

@thierryreding nice! Thanks for doing that, I'm sure I'll have a look as I try to get this in place.

@Julian
Copy link
Member

Julian commented Jun 6, 2020

(I don't know yet just how quickly that'll be, jsonschema is at best a spare time project at this point, which is exceeeedingly small :(, but yeah to anyone watching this ticket, draft2019/draft2020 support will definitely come at some point.)

@Julian Julian removed the Needs Test Upstream Issues that need to have a test added to https://github.com/json-schema-org/JSON-Schema-Test-Suite label Aug 19, 2020
@jnsnow
Copy link

jnsnow commented Jan 30, 2021

(I don't know yet just how quickly that'll be, jsonschema is at best a spare time project at this point, which is exceeeedingly small :(, but yeah to anyone watching this ticket, draft2019/draft2020 support will definitely come at some point.)

Is there a good list that explains the features missing for 2019-09 support? I've noticed that most implementations of json-schema have not yet implemented support for it. Is 'unevaluatedProperties' the big sticking point that inhibits adoption?

I might be open to helping push this forwards, but I'm suspecting there's some reason that 2019-09 was not widely adopted.

@Julian
Copy link
Member

Julian commented Jan 31, 2021

I am toying with the idea of doing a Twitch stream to discuss/start that process (and really motivate allocating some time for this).

My personal guess is that the introduction of annotations may actually be more annoying, but yeah unevaluatedProperties probably will be a bit annoying too. The best list is the changelog on the schema spec site.

I'd possibly say 2019-09 wasn't as widely adopted partially due to my shortcomings too :( because I haven't given enough energy to the language-agnostic test suite as it needs either, which hinders other implementations.

But the 2020/2021 draft is now out as well.

@jugaadi
Copy link

jugaadi commented Feb 17, 2021

OpenAPI 3.1 got released today. It adds support for jsonschema v2020-12 natively.

@anuj9196
Copy link

When the support for the 2019-09 draft will be released?

@handrews
Copy link

handrews commented May 3, 2021

@anuj9196 @jugaadi @Julian I'd tend to recommend going straight to 2020-12 given the OAS 3.1 integration. If 2019-09 happens to get done along the way, great, but some things (like $recursiveRef) are kind of awkward in 2019-09 and don't carry over to 2020-12 anyway.

@Julian
Copy link
Member

Julian commented May 6, 2021

That's almost certainly how things will go (thanks for the advice Henry). In light of that going to close this one and combine it with #782 even though it's newer, but yeah these will either land simultaneously or only 2020-12 may land. Keep an eye on the other ticket if you want updates folks.

@Julian Julian closed this as completed May 6, 2021
Julian added a commit that referenced this issue Nov 28, 2022
78c888273 Merge pull request #618 from json-schema-org/gregsdennis/contentschema-should-fail-content
5cbc53bc0 Merge pull request #613 from santhosh-tekuri/rjp-multidigit
bb000ce98 Merge pull request #620 from json-schema-org/ether/remove-unused-remotes
c4c490f1d Merge pull request #617 from json-schema-org/gregsdennis/dynamicAnchor-inside-propertyDependencies
0189831a9 remove schemas that are never referenced
cf1b94249 Merge pull request #610 from handrews/rm-remotes
d6490e817 move anchors into defs
2f9d117c0 Merge pull request #616 from json-schema-org/gregsdennis/propertyDependencies-and-unevaluated
4e5649cd0 move tests to draft-next
a41f2f6c4 added type:object to contentSchema schemas
2f50e7864 add tests for $dynamicAnchor in multiple branches of propertyDependencies
4794a1991 add tests for unevaluatedProperties seeing inside propertyDependencies
27cc299f3 Add RJP test 'multi-digit integer prefix'
716b95d94 Merge pull request #612 from santhosh-tekuri/rjp-positive
320c804d1 Add RJP test 'explicit positive prefix'
c8f210c39 Merge pull request #611 from santhosh-tekuri/time-alpha
3faeb222d add time test 'contains letters'
642441f2d Merge pull request #603 from santhosh-tekuri/uuid-nonstr
94d5043c7 add non-string uri tests
0c81374a2 Remove unneeded remotes
97a3e2156 Merge pull request #608 from json-schema-org/json-everything-uses-the-test-suite
bdaf7e8be added json-everything to 'who uses' section of readme; removed manatee.json (deprecated)
f00ec1008 Merge pull request #606 from santhosh-tekuri/duration-nounit
134480721 Merge pull request #607 from santhosh-tekuri/time-offsetprefix
dd4538eee Test time format 'offset not starting with plus or minus'
80fe2db15 test duration format 'element without unit'
38ea15116 Merge pull request #604 from santhosh-tekuri/time-offset
613ec170e second fraction, not offset
ee4bd4eb6 Add time format test with second fraction, no offset
86c2517cd Merge pull request #605 from santhosh-tekuri/rjp-empty
cfe80006a Add relative-json-pointer test with empty string
31796b3b8 add non-string uuid tests

git-subtree-dir: json
git-subtree-split: 78c8882732bcdc2dad81cd7ce1e3f9bca6fb7a9d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Some new desired functionality
Projects
None yet
Development

No branches or pull requests

8 participants