fix(deps): update dependency jsonschema to v4 #76
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~=3.2
->~=4.23
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 - "after 5am" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
To execute skipped test pipelines write comment
/ok-to-test
.This PR has been generated by MintMaker (powered by Renovate Bot).