python-jsonschema/jsonschema (jsonschema)
### [`v4.18.4`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4184)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.3...v4.18.4)
\=======
- Improve the hashability of wrapped referencing exceptions when they contain hashable data.
### [`v4.18.3`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4183)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.2...v4.18.3)
\=======
- Properly preserve `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`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4182)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.1...v4.18.2)
\=======
- Fix an additional regression with the deprecated `jsonschema.RefResolver` and pointer resolution.
### [`v4.18.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4181)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.0...v4.18.1)
\=======
- Fix a regression with `jsonschema.RefResolver` based resolution when used in combination with a custom validation dialect (via `jsonschema.validators.create`).
### [`v4.18.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4180)
[Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.17.3...v4.18.0)
\=======
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 new `referencing library `\_.
`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 the `jsonschema` issue tracker if you have issues with existing code not functioning the same, or with figuring out how to change it to use `referencing`.
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).
- Support for Python 3.7 has been dropped, as it is nearing end-of-life.
This should not be a "visible" change in the sense that `requires-python` has been updated, so users using 3.7 should still receive `v4.17.3` when installing the library.
- On draft 2019-09, `unevaluatedItems` now properly does *not* consider items to be evaluated by an `additionalItems` schema if `items` is missing from the schema, as the specification says in this case that `additionalItems` must be completely ignored.
- Fix the `date` format checker on Python 3.11 (when format assertion behavior is enabled), where it was too liberal ([#1076](https://togithub.com/python-jsonschema/jsonschema/issues/1076)).
- Speed up validation of `unevaluatedProperties` ([#1075](https://togithub.com/python-jsonschema/jsonschema/issues/1075)).
## Deprecations
- `jsonschema.RefResolver` -- see above for details on the replacement
- `jsonschema.RefResolutionError` -- see above for details on the replacement
- relying on automatic resolution of remote references -- see above for details on the replacement
- importing `jsonschema.ErrorTree` -- instead import it via `jsonschema.exceptions.ErrorTree`
- importing `jsonschema.FormatError` -- instead import it via `jsonschema.exceptions.FormatError`
Configuration
📅 Schedule: Branch creation - "on the 2nd and 4th day instance on sunday" (UTC), 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:
<4.18
-><4.19
Release Notes
python-jsonschema/jsonschema (jsonschema)
### [`v4.18.4`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4184) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.3...v4.18.4) \======= - Improve the hashability of wrapped referencing exceptions when they contain hashable data. ### [`v4.18.3`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4183) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.2...v4.18.3) \======= - Properly preserve `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`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4182) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.1...v4.18.2) \======= - Fix an additional regression with the deprecated `jsonschema.RefResolver` and pointer resolution. ### [`v4.18.1`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4181) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.18.0...v4.18.1) \======= - Fix a regression with `jsonschema.RefResolver` based resolution when used in combination with a custom validation dialect (via `jsonschema.validators.create`). ### [`v4.18.0`](https://togithub.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4180) [Compare Source](https://togithub.com/python-jsonschema/jsonschema/compare/v4.17.3...v4.18.0) \======= 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 new `referencing libraryConfiguration
📅 Schedule: Branch creation - "on the 2nd and 4th day instance on sunday" (UTC), 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.