- Partial support for Draft 2020-12 (as well as 2019-09).
Thanks to Thomas Schmidt and Harald Nezbeda. False
and0
are now properly considered non-equal even
recursively within a container (#686). As part of this change,
uniqueItems
validation may be slower in some cases. Please feel
free to report any significant performance regressions, though in
some cases they may be difficult to address given the specification
requirement.- The CLI has been improved, and in particular now supports a
--output
option (withplain
(default) orpretty
arguments) to control the
output format. Future work may add additional machine-parsable output
formats. - Code surrounding
DEFAULT_TYPES
and the legacy mechanism for
specifying types to validators have been removed, as per the deprecation
policy. Validators should use theTypeChecker
object to customize
the set of Python types corresponding to JSON Schema types. - Validation errors now have a
json_path
attribute, describing their
location in JSON path format - Support for the IP address and domain name formats has been improved
- Support for Python 2 has been dropped, with
python_requires
properly
set. multipleOf
could overflow when given sufficiently large numbers. Now,
when an overflow occurs,jsonschema
will fall back to using fraction
division (#746).jsonschema.__version__
,jsonschema.validators.validators
,
jsonschema.validators.meta_schemas
and
jsonschema.RefResolver.in_scope
have been deprecated, as has
passing a second-argument schema toValidator.iter_errors
and
Validator.is_valid
.