-
-
Notifications
You must be signed in to change notification settings - Fork 581
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
Validating an instance with an unknown $schema should error #460
Labels
Bug
Something doesn't work the way it should.
Comments
Closed
About the deprecation? you mean add warnings when a schema is not found
but use the latest anyway? why not just raise an Exception since v3 is
going to be a major bump
Thanks for asking that, it's a subtle thing that a lot of us developers get
wrong :)
So, the rationale there is that semantic versioning tells you what to do
*when* you need to make a backwards incompatible change. It's a signaling
mechanism. It isn't an excuse to just break things just because you're
changing a number :). People very well might be relying on those things,
and just because you bumped a version doesn't change that you're going to
break their stuff. So everything still needs a deprecation period where
things warn, so that people are given a chance to fix their code
*before* things
break on them all at once. (This was Py3's major mistake, which we've paid
a lot for over the years, so it's a lesson we've now learned the hard way
:P).
Hope that makes sense, but lemme know if that needs some more clarification.
…On Thu, Nov 1, 2018 at 6:26 PM Opemipo ***@***.***> wrote:
About the deprecation? you mean add warnings when a schema is not found
but use the latest anyway? why not just raise an Exception since v3 is
going to be a major bump
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#460 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAUIXraO_7U1Q1yBdQeb72yyc6cU9Ud4ks5uq3UFgaJpZM4WnHUx>
.
|
Sorry deleted my comment after I realized that you actually explained and answered here . I just didnt read it properly. Definitely makes sense, need to warn before removing stuff. |
Julian
added a commit
that referenced
this issue
Apr 13, 2021
15ec577 Merge pull request #471 from json-schema-org/ether/id-anchor-in-enum 9f97865 test for confusing not-identifiers in enums 0f7ecd4 Merge pull request #475 from marksparkza/marksparkza-patch-1 783d22a Add jschon fc68499 Merge pull request #472 from json-schema-org/ether/unevaluatedProperties_uncles ed4cf5f more test cases for unevaluatedItems, unevaluatedProperties d0d814d Merge pull request #469 from json-schema-org/ether/ipv4-vulnerability 7ca5f36 reject ipv4 strings with an octet with a leading zero 8e1e1c1 fix spelling error in test descriptions 77f1d10 Merge pull request #462 from jdesrosiers/dynamic-ref-tests 72a32fe Merge pull request #468 from json-schema-org/ether/combine-test-cases 0c48ffb Merge pull request #453 from notEthan/float-overflow-d4-int 76a4ba0 these test cases can be combined since the schemas are the same cd73775 Merge pull request #464 from json-schema-org/ether/format-by-default-always-validates 043dc63 by default, "format" only annotates, not validates 3c45b81 Merge pull request #460 from amosonn/remove-remotes-from-script b09e48d Fix $ref with siblings in pre-2019-09 tests ff9f22e Add tests for $dynamicRef/$dynamicAnchor 0faaf09 Fix refs to Draft 2019-09 schema to be refs to 2020-12 ebbcbc8 Use flask to server remotes directly bb98b03 Remove remotes from bin/jsonschema_suite fcae732 Merge pull request #455 from jdesrosiers/bootstrap-202012 e002409 Update tests for 2020-12 405b3fb Copy 2019-09 tests to bootstrap 2020-12 tests 1636a22 draft4 float-overflow instance may be considered not an integer 8daea3f Merge pull request #451 from json-schema-org/ether/more-relative-json-pointer 69fe40f some more relative-json-pointer tests 6505944 Merge pull request #450 from json-schema-org/ether/recursiveRef-dynamic-path afd0cd3 Move content* keyword tests to non-optional e2b2a4b Change all content* keyword tests to always validate 8999eae $recursiveRef example demonstrating dynamic nature of the resolution scope f47003f fix duplicate test description bcf1dc8 Merge pull request #391 from ether/recursiveRef (rebased, squashed) 3d88f34 test $recursiveRef + $recursiveAnchor 3b79a45 Merge pull request #418 from ChALkeR/chalker/contentSchema 29f609b Add tests for contentSchema git-subtree-dir: json git-subtree-split: 15ec577f5ddee0115319f4e7f856cd57567a9c78
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In
validator_for
, and transitively invalidate
, providing an instance whose$schema
isn't one of the known metaschemas should error, not use the latest supported version.It looks like that was my intention originally, judging by the docstring, but the code and tests use the default in all cases.
This will unfortunately not be changeable immediately, it'll need a deprecation period first, so step one is to do that.
The text was updated successfully, but these errors were encountered: