Path to this page:
Subject: CVS commit: pkgsrc/textproc/py-jsonschema
From: Adam Ciarcinski
Date: 2023-08-25 23:35:08
Message id: 20230825213508.72C1DFBDB@cvs.NetBSD.org
Log Message:
py-jsonschema: updated to 4.19.0
v4.19.0
=======
* Importing the ``Validator`` protocol directly from the package root is deprecated.
Import it from ``jsonschema.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.
v4.18.6
=======
* Set a ``jsonschema`` specific user agent when automatically retrieving remote \
references (which is deprecated).
v4.18.5
=======
* Declare support for Py3.12
v4.18.4
=======
* Improve the hashability of wrapped referencing exceptions when they contain \
hashable data.
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
=======
* Fix an additional regression with the deprecated ``jsonschema.RefResolver`` \
and pointer resolution.
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
=======
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 <https://github.com/python-jsonschema/referencing/>`_.
``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
* Speed up validation of ``unevaluatedProperties``
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``
Files: