An implementation of the JSON Schema specification for Python
best_match
(and thereby error messages from jsonschema.validate
) in cases where there are multiple sibling errors from applying anyOf
/ 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.Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.22.0
contains
keyword by removing some unnecessary validator (re-)creation.Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.21.0...v4.21.1
enum
in the presence of 0
or 1
to properly consider True
and False
unequal (#1208).{min,max}{Items,Length,Properties}
when they're checking for emptiness rather than true length.Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.20.0...v4.21.0
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.Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.19.2...v4.20.0
additionalItems
keyword into JSON Schema draft 2020-12, where it was replaced by items
.Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.19.1...v4.19.2
Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.19.0...v4.19.1
Validator
protocol directly from the package root is deprecated. Import it from jsonschema.protocols.Validator
instead.referencing
library behavior.Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.18.6...v4.19.0
Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.18.4...v4.18.5
Full Changelog: https://github.com/python-jsonschema/jsonschema/compare/v4.18.3...v4.18.4