-
Notifications
You must be signed in to change notification settings - Fork 25
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
fix(deps): update dependency jsonschema to v4 #334
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #334 +/- ##
==========================================
+ Coverage 91.36% 91.79% +0.43%
==========================================
Files 50 52 +2
Lines 2756 2816 +60
==========================================
+ Hits 2518 2585 +67
+ Misses 238 231 -7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
e5df999
to
d919899
Compare
b8210a7
to
8e845f8
Compare
8e845f8
to
dc3efbf
Compare
35b0ab4
to
28baa4b
Compare
d0b6825
to
e4d976b
Compare
6e54535
to
6d45de2
Compare
6d45de2
to
b7f073c
Compare
b7f073c
to
1ce0027
Compare
2303696
to
a53210f
Compare
1b057f2
to
4a074d4
Compare
|
09b82a8
to
abd1ec4
Compare
ec08af0
to
0436edb
Compare
0436edb
to
9790f64
Compare
9790f64
to
f006089
Compare
This PR contains the following updates:
=3.2.0
->=4.23.0
Release Notes
python-jsonschema/jsonschema (jsonschema)
v4.23.0
Compare Source
=======
v4.22.0
Compare Source
=======
best_match
(and thereby error messages fromjsonschema.validate
) in cases where there are multiple sibling errors from applyinganyOf
/allOf
-- i.e. when multiple elements of a JSON array have errors, we now do prefer showing errors from earlier elements rather than simply showing an error for the full array (#1250).==
would.v4.21.1
Compare Source
=======
contains
keyword by removing some unnecessary validator (re-)creation.v4.21.0
Compare Source
=======
enum
in the presence of0
or1
to properly considerTrue
andFalse
unequal (#1208).{min,max}{Items,Length,Properties}
when they're checking for emptiness rather than true length.v4.20.0
Compare Source
=======
unevaluatedItems
(resp.unevaluatedProperties
) when behind a$dynamicRef
as specified by the 2020 and 2019 specifications.jsonschema.exceptions.ErrorTree.__setitem__
is now deprecated.More broadly, in general users of
jsonschema
should never be mutating objects owned by the library.v4.19.2
Compare Source
=======
additionalItems
keyword into JSON Schema draft 2020-12, where it was replaced byitems
.v4.19.1
Compare Source
=======
hostname
format.This is the behavior specified by the relevant RFC (1123).
IDN hostname behavior was already correct.
v4.19.0
Compare Source
=======
Validator
protocol directly from the package root is deprecated.Import it from
jsonschema.protocols.Validator
instead.Such resources are assumed to be 2020-12 schemas.
This more closely matches the pre-referencing library behavior.
v4.18.6
Compare Source
=======
jsonschema
specific user agent when automatically retrieving remote references (which is deprecated).v4.18.5
Compare Source
=======
v4.18.4
Compare Source
=======
v4.18.3
Compare Source
=======
applicable_validators
in extended validators.Specifically, validators extending early drafts where siblings of
$ref
were ignored will properly ignore siblings in the extended validator.v4.18.2
Compare Source
=======
jsonschema.RefResolver
and pointer resolution.v4.18.1
Compare Source
=======
jsonschema.RefResolver
based resolution when used in combination with a custom validation dialect (viajsonschema.validators.create
).v4.18.0
Compare Source
=======
This release majorly rehauls the way in which JSON Schema reference resolution is configured.
It does so in a way that should be backwards compatible, preserving old behavior whilst emitting deprecation warnings.
jsonschema.RefResolver
is now deprecated in favor of the newreferencing library <https://github.com/python-jsonschema/referencing/>
_.referencing
will begin in beta, but already is more compliant than the existing$ref
support.This change is a culmination of a meaningful chunk of work to make
$ref
resolution more flexible and more correct.Backwards compatibility should be preserved for existing code which uses
RefResolver
, though doing so is again now deprecated, and all such use cases should be doable using the new APIs.Please file issues on the
referencing
tracker if there is functionality missing from it, or here on thejsonschema
issue tracker if you have issues with existing code not functioning the same, or with figuring out how to change it to usereferencing
.In particular, this referencing change includes a change concerning automatic retrieval of remote references (retrieving
http://foo/bar
automatically within a schema).This behavior has always been a potential security risk and counter to the recommendations of the JSON Schema specifications; it has survived this long essentially only for backwards compatibility reasons, and now explicitly produces warnings.
The
referencing
library itself will not automatically retrieve references if you interact directly with it, so the deprecated behavior is only triggered if you fully rely on the default$ref
resolution behavior and also include remote references in your schema, which will still be retrieved during the deprecation period (after which they will become an error).This should not be a "visible" change in the sense that
requires-python
has been updated, so users using 3.7 should still receivev4.17.3
when installing the library.unevaluatedItems
now properly does not consider items to be evaluated by anadditionalItems
schema ifitems
is missing from the schema, as the specification says in this case thatadditionalItems
must be completely ignored.date
format checker on Python 3.11 (when format assertion behavior is enabled), where it was too liberal (#1076).unevaluatedProperties
(#1075).Deprecations
jsonschema.RefResolver
-- see above for details on the replacementjsonschema.RefResolutionError
-- see above for details on the replacementjsonschema.ErrorTree
-- instead import it viajsonschema.exceptions.ErrorTree
jsonschema.FormatError
-- instead import it viajsonschema.exceptions.FormatError
v4.17.3
Compare Source
=======
rather than objects (#1018).
v4.17.1
Compare Source
=======
unevaluatedProperties
with a non-trivialschema value (i.e. something other than
false
) has been improved (#996).v4.17.0
Compare Source
=======
check_schema
method onjsonschema.protocols.Validator
instancesnow enables format validation by default when run. This can catch some
additional invalid schemas (e.g. containing invalid regular expressions)
where the issue is indeed uncovered by validating against the metaschema
with format validation enabled as an assertion.
jsonschema
CLI (along withjsonschema.cli
the module) are nowdeprecated. Use
check-jsonschema
instead, which can be installed viapip install check-jsonschema
and foundhere <https://github.com/python-jsonschema/check-jsonschema>
_.v4.16.0
Compare Source
=======
$ref
to a resolution URIwhich is different from the resolved schema's declared
$id
.jsonschema.draftN_format_checker
is deprecated. Instead, if youwant access to the format checker itself, it is exposed as
jsonschema.validators.DraftNValidator.FORMAT_CHECKER
on anyjsonschema.protocols.Validator
.v4.15.0
Compare Source
=======
$ref
on earlier drafts (specifically draft 7 and 6) has been "fixed" tofollow the specified behavior when present alongside a sibling
$id
.Specifically the ID is now properly ignored, and references are resolved
against whatever resolution scope was previously relevant.
v4.14.0
Compare Source
=======
FormatChecker.cls_checks
is deprecated. UseFormatChecker.checks
onan instance of
FormatChecker
instead.unevaluatedItems
has been fixed for draft 2019. It's nonethelessdiscouraged to use draft 2019 for any schemas, new or old.
protocols.Validator
v4.13.0
Compare Source
=======
dialect than its schemas. In other words, they may use draft2020-12 to define
which schemas are valid, but the schemas themselves use draft7 (or a custom
dialect, etc.) to define which instances are valid. Doing this is likely
not something most users, even metaschema authors, may need, but occasionally
will be useful for advanced use cases.
v4.12.1
Compare Source
=======
v4.12.0
Compare Source
=======
intended to be public API, though it seems some downstream libraries
do so. A future version will make this an error, as it is brittle and
better served by composing validator objects instead. Feel free to reach
out if there are any cases where changing existing code seems difficult
and I can try to provide guidance.
v4.11.0
Compare Source
=======
v4.10.3
Compare Source
=======
jsonschema.validators.validator_for
now properly uses the explicitlyprovided default validator even if the
$schema
URI is not found.v4.10.2
Compare Source
=======
v4.10.1
Compare Source
=======
iter_errors
which call it) for caseswhere the validator class has been subclassed. Doing so wasn't intended to be
public API, but given it didn't warn or raise an error it's of course
understandable. The next release however will make it warn (and a future one
will make it error). If you need help migrating usage of inheriting from a
validator class feel free to open a discussion and I'll try to give some
guidance (#982).
v4.10.0
Compare Source
=======
$ref
across different versionsof the specification than the referrer's
v4.9.1
Compare Source
======
sample code.
v4.9.0
Compare Source
======
$ref
resolution when the base URI is a URN or other scheme(#544).
pkgutil.resolve_name
is now used to retrieve validatorsprovided on the command line. This function is only available on
3.9+, so 3.7 and 3.8 (which are still supported) now rely on the
pkgutil_resolve_name <https://pypi.org/project/pkgutil_resolve_name/>
_backport package. Note however that the CLI itself is due
to be deprecated shortly in favor of
check-jsonschema <https://github.com/python-jsonschema/check-jsonschema>
_.v4.8.0
Compare Source
======
best_match
no longer traverses intoanyOf
andoneOf
when all ofthe errors within them seem equally applicable. This should lead to clearer
error messages in some cases where no branches were matched.
v4.7.2
Compare Source
======
best_match
handle cases where thetype
validator is anarray.
v4.7.1
Compare Source
======
v4.7.0
Compare Source
======
best_match
to prefer errors from branches of the schema whichmatch the instance's type (#728)
v4.6.2
Compare Source
======
v4.6.1
Compare Source
======
recursiveRef
on draft 2019. Itneeds completing, but for now can lead to recursion errors (e.g. #847).
v4.6.0
Compare Source
======
unevaluatedProperties
andunevaluatedItems
for types they shouldignore (#949)
jsonschema
now useshatch <https://hatch.pypa.io/>
_ for its buildprocess. This should be completely transparent to end-users (and only matters
to contributors).
v4.5.1
Compare Source
======
$dynamicRef
which caused a performance regressionin v4.5.0
v4.5.0
Compare Source
======
corresponding format checker (#905)
GitHub organization <https://github.com/python-jsonschema/>
_.No functional behavior changes are expected from the change.
v4.4.0
Compare Source
======
mypy
support (#892)v4.3.3
Compare Source
======
v4.3.2
Compare Source
======
v4.3.1
Compare Source
======
v4.3.0
Compare Source
======
certain input types (#893)
v4.2.1
Compare Source
======
importlib.resources
from below (#877)v4.2.0
Compare Source
======
importlib.resources
to load schemas (#873)uniqueItems
(#866)
v4.1.2
Compare Source
======
dependentSchemas
to properly consider non-object instances to bevalid (#850)
v4.1.1
Compare Source
======
prefixItems
not indicating which item was invalid within the instancepath (#862)
v4.1.0
Compare Source
======
v4.0.1
Compare Source
======
v4.0.0
Compare Source
======
Thanks to Thomas Schmidt and Harald Nezbeda.
False
and0
are now properly considered non-equal evenrecursively within a container (#686). As part of this change,
uniqueItems
validation may be slower in some cases. Please feelfree to report any significant performance regressions, though in
some cases they may be difficult to address given the specification
requirement.
--output
option (with
plain
(default) orpretty
arguments) to control theoutput format. Future work may add additional machine-parsable output
formats.
DEFAULT_TYPES
and the legacy mechanism forspecifying types to validators have been removed, as per the deprecation
policy. Validators should use the
TypeChecker
object to customizethe set of Python types corresponding to JSON Schema types.
json_path
attribute, describing theirlocation in JSON path format
python_requires
properly set.
multipleOf
could overflow when given sufficiently large numbers. Now,when an overflow occurs,
jsonschema
will fall back to using fractiondivision (#746).
jsonschema.__version__
,jsonschema.validators.validators
,jsonschema.validators.meta_schemas
andjsonschema.RefResolver.in_scope
have been deprecated, as haspassing a second-argument schema to
Validator.iter_errors
andValidator.is_valid
.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.