You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Warn when using schema features annotated with "deprecated": true #331
New in draft 2019-09 The deprecated keyword is a boolean that indicates that the instance value the keyword applies to should not be used and may be removed in the future.[1]
It'd be nice if the CLI could emit warnings regarding deprecated features.
Cool idea. I'll need to look into how we could gather up this info. I'm not sure when I could prioritize working on this, but certainly I'd be open to a PR or useful info about how to implement it on top of jsonschema.
I'm removing the label for requiring an upstream change after the pretty productive thread on jsonschema. Short term, it's probably wiser not to wait for an ideal solution but to try to do something as a client of that lib.
The main questions I have coming out of that is
is erroring on deprecations acceptable?
what's the right interface for also supporting other advisory annotations as errors?
If erroring out isn't okay, it's going to be extremely hard to support this (I'd say infeasible). If it is, then just to consider and play around with a phrasing...
check-jsonschema --reject deprecated,readOnly
Looks decent to me. I like the brevity of --reject as a name for it, but it could also be something like --error-on.
My expectation would be that they're warnings by default (and could become errors in a strict mode).
That is also generally the use case for deprecations: Using the feature isn't an error, but will likely become so in the future, and it is desirable for users of the feature to find some alternate solution.
Activity
sirosen commentedon Sep 27, 2023
Cool idea. I'll need to look into how we could gather up this info. I'm not sure when I could prioritize working on this, but certainly I'd be open to a PR or useful info about how to implement it on top of
jsonschema.edgarrmondragon commentedon Sep 28, 2023
Ha, I don't know why I didn't think of first opening an issue over there. Thanks!
UPDATE: python-jsonschema/jsonschema#1170
sirosen commentedon Oct 1, 2023
I'm removing the label for requiring an upstream change after the pretty productive thread on
jsonschema. Short term, it's probably wiser not to wait for an ideal solution but to try to do something as a client of that lib.The main questions I have coming out of that is
If erroring out isn't okay, it's going to be extremely hard to support this (I'd say infeasible). If it is, then just to consider and play around with a phrasing...
Looks decent to me. I like the brevity of
--rejectas a name for it, but it could also be something like--error-on.emilal commentedon Mar 7, 2024
My expectation would be that they're warnings by default (and could become errors in a strict mode).
That is also generally the use case for deprecations: Using the feature isn't an error, but will likely become so in the future, and it is desirable for users of the feature to find some alternate solution.