2024-08-15 23:58:10 by Thomas Klausner | Files touched by this commit (1) |
Log message:
py-jsonschema: remove support for Python 3.8
|
2024-07-17 10:09:19 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-jsonschema: updated to 4.23.0
v4.23.0
* Do not reorder dictionaries (schemas, instances) that are printed as part of \
validation errors.
* Declare support for Py3.13
|
2024-05-08 10:23:39 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-jsonschema: updated to 4.22.0
v4.22.0
* Improve ``best_match`` (and thereby error messages from \
``jsonschema.validate``) in cases where there are multiple *sibling* errors from \
applying ``anyOf`` / ``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.
* (Micro-)optimize equality checks when comparing for JSON Schema equality by \
first checking for object identity, as ``==`` would.
|
2024-01-20 09:01:49 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-jsonschema: updated to 4.21.1
v4.21.1
* Slightly speed up the ``contains`` keyword by removing some unnecessary \
validator (re-)creation.
|
2024-01-16 19:18:35 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-jsonschema: updated to 4.21.0
v4.21.0
* Fix the behavior of ``enum`` in the presence of ``0`` or ``1`` to properly \
consider ``True`` and ``False`` unequal.
* Special case the error message for ``{min,max}{Items,Length,Properties}`` when \
they're checking for emptiness rather than true length.
|
2023-11-27 16:37:10 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-jsonschema: updated to 4.20.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 of ``jsonschema`` should never be mutating \
objects owned by the library.
|
2023-11-02 12:01:10 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-jsonschema: updated to 4.19.2
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 by ``items``.
|
2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | |
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation
This follows the recommended bootstrap method (flit_core, build, installer).
However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
|
2023-09-20 18:45:53 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-jsonschema: updated to 4.19.1
v4.19.1
* Single label hostnames are now properly considered valid according to the \
``hostname`` format.
This is the behavior specified by the relevant RFC (1123).
IDN hostname behavior was already correct.
|
2023-08-25 23:35:08 by Adam Ciarcinski | Files touched by this commit (3) | |
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``
|