Releases: python-jsonschema/jsonschema
Releases · python-jsonschema/jsonschema
v4.23.0
What's Changed
- Add some typing to the
exceptions.py
module by @DanielNoord in #1019 - Declare support for 3.13 by @rominf in #1282
New Contributors
Full Changelog: v4.22.0...v4.23.0
v4.22.0
What's Changed
- Improve
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). - (Micro-)optimize equality checks when comparing for JSON Schema equality by first checking for object identity, as
==
would.
New Contributors
Full Changelog: v4.21.1...v4.22.0
v4.21.1
- Slightly speed up the
contains
keyword by removing some unnecessary validator (re-)creation.
Full Changelog: v4.21.0...v4.21.1
v4.21.0
What's Changed
- Fix the behavior of
enum
in the presence of0
or1
to properly considerTrue
andFalse
unequal (#1208). - Special case the error message for
{min,max}{Items,Length,Properties}
when they're checking for emptiness rather than true length.
New Contributors
- @otto-ifak made their first contribution in #1208
Full Changelog: v4.20.0...v4.21.0
v4.20.0
- Properly consider items (and properties) to be evaluated by
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 ofjsonschema
should never be mutating objects owned by the library.
Full Changelog: v4.19.2...v4.20.0
v4.19.2
- Fix the error message for additional items when used with heterogeneous arrays.
- Don't leak the
additionalItems
keyword into JSON Schema draft 2020-12, where it was replaced byitems
.
Full Changelog: v4.19.1...v4.19.2
v4.19.1
What's Changed
- Allow single label hostname in format string by @swaeberle in #1164
New Contributors
- @swaeberle made their first contribution in #1164
Full Changelog: v4.19.0...v4.19.1
v4.19.0
- Importing the
Validator
protocol directly from the package root is deprecated. Import it fromjsonschema.protocols.Validator
instead. - Automatic retrieval of remote references (which is still deprecated) now properly succeeds even if the retrieved resource does not declare which version of JSON Schema it uses. Such resources are assumed to be 2020-12 schemas. This more closely matches the pre-
referencing
library behavior.
Full Changelog: v4.18.6...v4.19.0
v4.18.6
Full Changelog: v4.18.5...v4.18.6
v4.18.5
- Declare support for Py3.12
Full Changelog: v4.18.4...v4.18.5