json-sKema
json-sKema copied to clipboard
A list of supported and unsupported (todo) features
Hi
Thanks for providing this library. I am looking to use it in my projects. The "About" section of the library says "(under development)". I am assuming there are some features of 2020-12 which are missing in it right now.
Is there a list detailing supported and unsupported features? Such a list will help in tracking progress and help contributors effectively contribute to this library.
Hello @rishabh413 , thank you for your interest in the project.
Currently the library is fairly close to be compliant with the specification, it is tested against the official test suite and 1181 tests pass out of 1199. You can run the testsuite with mvn clean test -Dgroups=acceptance. These are mostly $dynamicRef and $dynamicAnchor related tests.
The current priorities are:
- implementing "format" support (part of it may happen in the next few days)
- properly implementing
$dynamicRefand$dynamicAnchor
Once these are done, I plan to migrate some more features from the old project:
- "default" keyword support (issue)
- early failure mode (issue)
- JSON representation for
ValidationError(issue)
Please let me know if you are interested in working on any of these and I can elaborate further.
Hi @erosb! Can you provide an update on the open topics and their current priority? We are also thinking about using your libary and are wondering A) in which stat it is and B) how we can help you.
Cheers Karsten
Hello @ledex, compared to the previous list: "format" support was added, which is probably relevant for most people.
My top concern right now, from the compliance perspective, is $dynamicRef / $dynamicAnchor support, but TBH that's a complicated topic (total nightmare, in other words).
Regarding other features, I'm open to any suggestions. What would be most important for you? We can align on the priorities.
Regarding format, it would be very useful to register our custom format validators. For an example, the current implementation does not validate hostnames. Also, the current implementation depends on a vulnerable dependency (commons-validator). If registering custom implementations was possible, we could exclude that dependency and provide our own implementations for email and inet-address formats as well as hostname validator.
Would it be possible to register our own implementation to support it?
Hello @alturkovic can you please take a look if #71 works for you? I also pushed a java code sample to https://github.com/erosb/json-sKema-examples/compare/master...custom-format#diff-4fe3b194596bdf1d22243548b0e840c929c42751cea73fb3785810e8d66c3f87R12 . Please review and let me know if we can merge & release it, thanks.
LGTM 👍
@alturkovic version 0.14.0 is now available on maven central with the custom format validation support.