python-jsonschema/jsonschema
### [`v4.17.3`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4173)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.17.1...v4.17.3)
\=======
- Fix instantiating validators with cached refs to boolean schemas
rather than objects ([#1018](https://togithub.com/python-jsonschema/jsonschema/issues/1018)).
### [`v4.17.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4171)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.17.0...v4.17.1)
\=======
- The error message when using `unevaluatedProperties` with a non-trivial
schema value (i.e. something other than `false`) has been improved ([#996](https://togithub.com/python-jsonschema/jsonschema/issues/996)).
### [`v4.17.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4170)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.16.0...v4.17.0)
\=======
- The `check_schema` method on `jsonschema.protocols.Validator` instances
now *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.
- The `jsonschema` CLI (along with `jsonschema.cli` the module) are now
deprecated. Use `check-jsonschema` instead, which can be installed via
`pip install check-jsonschema` and found
`here `\_.
### [`v4.16.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4160)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.15.0...v4.16.0)
\=======
- Improve the base URI behavior when resolving a `$ref` to a resolution URI
which is different from the resolved schema's declared `$id`.
- Accessing `jsonschema.draftN_format_checker` is deprecated. Instead, if you
want access to the format checker itself, it is exposed as
`jsonschema.validators.DraftNValidator.FORMAT_CHECKER` on any
`jsonschema.protocols.Validator`.
### [`v4.15.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4150)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.14.0...v4.15.0)
\=======
- A specific API Reference page is now present in the documentation.
- `$ref` on earlier drafts (specifically draft 7 and 6) has been "fixed" to
follow 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`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4140)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.13.0...v4.14.0)
\=======
- `FormatChecker.cls_checks` is deprecated. Use `FormatChecker.checks` on
an instance of `FormatChecker` instead.
- `unevaluatedItems` has been fixed for draft 2019. It's nonetheless
discouraged to use draft 2019 for any schemas, new or old.
- Fix a number of minor annotation issues in `protocols.Validator`
### [`v4.13.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4130)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.12.1...v4.13.0)
\=======
- Add support for creating validator classes whose metaschema uses a different
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`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4121)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.12.0...v4.12.1)
\=======
- Fix some stray comments in the README.
### [`v4.12.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4120)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.11.0...v4.12.0)
\=======
- Warn at runtime when subclassing validator classes. Doing so was not
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`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4110)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.10.3...v4.11.0)
\=======
- Make the rendered README in PyPI simpler and fancier. Thanks Hynek ([#983](https://togithub.com/python-jsonschema/jsonschema/issues/983))!
### [`v4.10.3`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4103)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.10.2...v4.10.3)
\=======
- `jsonschema.validators.validator_for` now properly uses the explicitly
provided default validator even if the `$schema` URI is not found.
### [`v4.10.2`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4102)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.10.1...v4.10.2)
\=======
- Fix a second place where subclasses may have added attrs attributes ([#982](https://togithub.com/python-jsonschema/jsonschema/issues/982)).
### [`v4.10.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4101)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.10.0...v4.10.1)
\=======
- Fix Validator.evolve (and APIs like `iter_errors` which call it) for cases
where 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](https://togithub.com/python-jsonschema/jsonschema/issues/982)).
### [`v4.10.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4100)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.9.1...v4.10.0)
\=======
- Add support for referencing schemas with `$ref` across different versions
of the specification than the referrer's
### [`v4.9.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v491)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.9.0...v4.9.1)
\======
- Update some documentation examples to use newer validator releases in their
sample code.
### [`v4.9.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v490)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.8.0...v4.9.0)
\======
- Fix relative `$ref` resolution when the base URI is a URN or other scheme
([#544](https://togithub.com/python-jsonschema/jsonschema/issues/544)).
- `pkgutil.resolve_name` is now used to retrieve validators
provided 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 `\_
backport package. Note however that the CLI itself is due
to be deprecated shortly in favor of `check-jsonschema `\_.
### [`v4.8.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v480)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.7.2...v4.8.0)
\======
- `best_match` no longer traverses into `anyOf` and `oneOf` when all of
the errors within them seem equally applicable. This should lead to clearer
error messages in some cases where no branches were matched.
### [`v4.7.2`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v472)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.7.1...v4.7.2)
\======
- Also have `best_match` handle cases where the `type` validator is an
array.
### [`v4.7.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v471)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.7.0...v4.7.1)
\======
- Minor tweak of the PyPI hyperlink names
### [`v4.7.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v470)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.6.2...v4.7.0)
\======
- Enhance `best_match` to prefer errors from branches of the schema which
match the instance's type ([#728](https://togithub.com/python-jsonschema/jsonschema/issues/728))
### [`v4.6.2`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v462)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.6.1...v4.6.2)
\======
- Fix a number of minor typos in docstrings, mostly private ones ([#969](https://togithub.com/python-jsonschema/jsonschema/issues/969))
### [`v4.6.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v461)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.6.0...v4.6.1)
\======
- Gut the (incomplete) implementation of `recursiveRef` on draft 2019. It
needs completing, but for now can lead to recursion errors (e.g. [#847](https://togithub.com/python-jsonschema/jsonschema/issues/847)).
### [`v4.6.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v460)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.5.1...v4.6.0)
\======
- Fix `unevaluatedProperties` and `unevaluatedItems` for types they should
ignore ([#949](https://togithub.com/python-jsonschema/jsonschema/issues/949))
- `jsonschema` now uses `hatch `\_ for its build
process. This should be completely transparent to end-users (and only matters
to contributors).
### [`v4.5.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v451)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.5.0...v4.5.1)
\======
- Revert changes to `$dynamicRef` which caused a performance regression
in v4.5.0
### [`v4.5.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v450)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.4.0...v4.5.0)
\======
- Validator classes for each version now maintain references to the correct
corresponding format checker ([#905](https://togithub.com/python-jsonschema/jsonschema/issues/905))
- Development has moved to a `GitHub organization `\_.
No functional behavior changes are expected from the change.
### [`v4.4.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v440)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.3.3...v4.4.0)
\======
- Add `mypy` support ([#892](https://togithub.com/python-jsonschema/jsonschema/issues/892))
- Add support for Python 3.11
### [`v4.3.3`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v433)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.3.2...v4.3.3)
\======
- Properly report deprecation warnings at the right stack level ([#899](https://togithub.com/python-jsonschema/jsonschema/issues/899))
### [`v4.3.2`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v432)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.3.1...v4.3.2)
\======
- Additional performance improvements for resolving refs ([#896](https://togithub.com/python-jsonschema/jsonschema/issues/896))
### [`v4.3.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v431)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.3.0...v4.3.1)
\======
- Resolving refs has had performance improvements ([#893](https://togithub.com/python-jsonschema/jsonschema/issues/893))
### [`v4.3.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v430)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.2.1...v4.3.0)
\======
- Fix undesired fallback to brute force container uniqueness check on
certain input types ([#893](https://togithub.com/python-jsonschema/jsonschema/issues/893))
- Implement a PEP544 Protocol for validator classes ([#890](https://togithub.com/python-jsonschema/jsonschema/issues/890))
### [`v4.2.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v421)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.2.0...v4.2.1)
\======
- Pin `importlib.resources` from below ([#877](https://togithub.com/python-jsonschema/jsonschema/issues/877))
### [`v4.2.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v420)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.1.2...v4.2.0)
\======
- Use `importlib.resources` to load schemas ([#873](https://togithub.com/python-jsonschema/jsonschema/issues/873))
- Ensure all elements of arrays are verified for uniqueness by `uniqueItems`
([#866](https://togithub.com/python-jsonschema/jsonschema/issues/866))
### [`v4.1.2`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v412)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.1.1...v4.1.2)
\======
- Fix `dependentSchemas` to properly consider non-object instances to be
valid ([#850](https://togithub.com/python-jsonschema/jsonschema/issues/850))
### [`v4.1.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v411)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.1.0...v4.1.1)
\======
- Fix `prefixItems` not indicating which item was invalid within the instance
path ([#862](https://togithub.com/python-jsonschema/jsonschema/issues/862))
### [`v4.1.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v410)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.0.1...v4.1.0)
\======
- Add Python 3.10 to the list of supported Python versions
### [`v4.0.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v401)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.0.0...v4.0.1)
\======
- Fix the declaration of minimum supported Python version ([#846](https://togithub.com/python-jsonschema/jsonschema/issues/846))
### [`v4.0.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v400)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v3.2.0...v4.0.0)
\======
- Partial support for Draft 2020-12 (as well as 2019-09).
Thanks to Thomas Schmidt and Harald Nezbeda.
- `False` and `0` are now properly considered non-equal even
recursively within a container ([#686](https://togithub.com/python-jsonschema/jsonschema/issues/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 (with `plain` (default) or `pretty` 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 the `TypeChecker` 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 and 3.6 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](https://togithub.com/python-jsonschema/jsonschema/issues/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 to `Validator.iter_errors` and
`Validator.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.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
==3.2.0
->==4.17.3
Release Notes
python-jsonschema/jsonschema
### [`v4.17.3`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4173) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.17.1...v4.17.3) \======= - Fix instantiating validators with cached refs to boolean schemas rather than objects ([#1018](https://togithub.com/python-jsonschema/jsonschema/issues/1018)). ### [`v4.17.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4171) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.17.0...v4.17.1) \======= - The error message when using `unevaluatedProperties` with a non-trivial schema value (i.e. something other than `false`) has been improved ([#996](https://togithub.com/python-jsonschema/jsonschema/issues/996)). ### [`v4.17.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4170) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.16.0...v4.17.0) \======= - The `check_schema` method on `jsonschema.protocols.Validator` instances now *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. - The `jsonschema` CLI (along with `jsonschema.cli` the module) are now deprecated. Use `check-jsonschema` instead, which can be installed via `pip install check-jsonschema` and found `hereConfiguration
📅 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 has been generated by Mend Renovate. View repository job log here.