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

Roadmap for v1.0 #1

Open
5 of 22 tasks
nacmartin opened this issue Feb 27, 2017 · 2 comments
Open
5 of 22 tasks

Roadmap for v1.0 #1

nacmartin opened this issue Feb 27, 2017 · 2 comments

Comments

@nacmartin
Copy link
Member

nacmartin commented Feb 27, 2017

This is the list of things that I would consider a must for v1.0

Validators

We can extract much information from validators. See this example of minLength and this code for guessing.

Note that this code, that is used in Symfony, will only extract maxLength if Symfony is forces to guess the type of the validator. (using null as type in the builder). This would probably be a good PR to Symfony to fix this issue. So I guess the example of minLength is better than the example of maxLength.

JSON Schema keywords:

  • pattern
  • maxLength
  • minLength
  • multipleOf
  • maximum
  • minumum
  • additionalItems
  • maxItems
  • minItems
  • uniqueItems
  • maxProperties
  • minProperties
  • required
  • additionalProperties
  • dependencies
  • enum
  • type
  • allOf
  • oneOf
  • not

We could add our own validation keywords, but I think that this would be the minimum. It can also happen that some of these keywords don't make sense or cannot be extracted.

Other:

@handrews
Copy link

Hello! I'm dropping by from the JSON Schema specification project to let you know that the current draft is draft-07, which is a minor update of the more significant draft-06.

Guide for core and validation
Guide for hyper-schema

Note that implementations that do not support at least draft-06 will soon be moved to an "obsolete" or "older" section of the json-schema.org web site. Implementations supporting draft-06 or newer will remain prominently featured on the existing implementations page.

Since Liform is not a validator, "support" probably just means ensuring that you don't emit something incompatible with draft-06 (e.g. exclusiveMinimum and exclusiveMaximum changed from booleans to numbers, and id became $id). Since it doesn't look like you're using those keywords anyway, a note to the effect that the resulting schemas should work with recent drafts would probably be sufficient.

I see that you mention base64 data. Draft-07 adds contentEncoding and contentMediaType to support this (the feature was formerly in the Hyper-Schema spec as media).

@tacman
Copy link
Collaborator

tacman commented Dec 27, 2023

This post was written in 2017, 2024 is just a few days away. What do you think about a 1.0 release this locks this library to the existing feature set, then a 2.0 that merges answears fork and updates all the dependencies, per #72 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants