Jschon

Latest version: v0.11.1

Safety actively analyzes 623760 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

0.11.1

--------------------
Features:

* Allow adding a source with a base URI of ``None`` to match full URIs as the ``relative_path``
* ``JSONPointer`` and ``RelativeJSONPointer`` now have class attributes defining
the exceptions that they use, which can be overidden in subclasses
* Cached properties for accessing document and resource root schemas from subschemas

Documentation:

* Update project description and contributing guidelines

Miscellaneous:

* Test infrastructure for maintaining a detailed status report of the pass/skip/fail
status of all tests in the JSON Schema Test Suite

0.11.0

--------------------
Breaking changes:

* ``RelativeJSONPointerError`` superseded by ``RelativeJSONPointerMalformedError``
and ``RelativeJSONPointerReferenceError``

Deprecations:

* Exception classes dropped from the top-level package API
* ``jschon.exceptions`` module renamed to ``jschon.exc``

Documentation:

* Exception classes documented
* Custom keyword example refactored to raise exception in constructor

Miscellaneous:

* ``JschonError`` base exception class introduced
* ``JSONPointerError`` partitioned into ``JSONPointerMalformedError``,
``JSONPointerReferenceError``, ``RelativeJSONPointerMalformedError``
and ``RelativeJSONPointerReferenceError``

0.10.3

--------------------
Bug Fixes:

* Non-scalar annotation values are now fully unwrapped from the JSON class

Documentation:

* Spell 'meta-schema' consistently in tutorials and examples

0.10.2

--------------------
Experimental:

* "$id" no longer allows empty fragments in draft-next

Bug Fixes:

* "$id" allows non-normalized URI references
* "$id" allows empty fragments in 2019-09 and 2020-12

Miscellaneous:

* Set default (2019-09, 2020-12) for ``--testsuite-version`` pytest option
* ``integer`` is no longer considered a type for keyword evaluation restriction purposes
* Drop ``Keyword.can_evaluate()`` method
* Preload rather than implicit-load standard meta-schemas

0.10.1

--------------------
Miscellaneous:

* Rename submodules `json-schema-spec-2019-09` and `json-schema-spec-2020-12` to
`json-schema-2019-09` and `json-schema-2020-12`, respectively
(run ``git submodule init`` to update local git config)
* LocalSource now includes the filename in the CatalogError when the file is not found

0.10.0

--------------------
Features:

* ``format_validator`` decorator
* `json-pointer` format validator
* Annotation filtering for `basic` output format (32)
* JSON ``null``, ``true``, ``false`` literals
* Relative JSON Pointer ``+``/``-`` array index adjustments
* Unknown keywords are collected as annotations
* Automatically create metaschemas as referenced by ``"$schema"``
on first access of the now-cached ``JSONSchema.metaschema`` property
* Automatically detect the core vocabulary in metaschemas,
but allow specifying a default to use when none is detectable

Experimental:

* Catalog support for the `next` JSON Schema draft
* `hierarchical` output format
* In-place JSON Patch `add`, `remove` and `replace` operations on ``JSON`` class

Breaking changes:

* ``Catalog.add_format_validators()`` superseded by ``format_validator`` / ``Catalog.enable_formats()``
* Rename ``Catalog.session()`` context manager to ``Catalog.cache()``
* Rename ``session`` parameter to ``cacheid`` in many places
* Rename public functions in the ``jsonpatch`` module
* Rename ``*Applicator*`` keyword class mixins to ``*Subschema*``

Bug Fixes:

* "$dynamicRef" works with non-plain-name fragment URIs
* Fixed remote anchor ref resolution

Documentation:

* Rename `User Guide` to `Tutorial`
* Restructure the API docs index page

Miscellaneous:

* ``output_formatter`` decorator now identifies output formats explicitly
* Add ``JSONCompatible`` and ``Result`` classes to the top-level package API
* Remove implicit fall-through to looking up a schema in the `__meta__` cache
if not found in the parameterized cache, in ``Catalog.get_schema()`` (40)
* Added ``Catalog.get_metaschema()``, analogous to ``Catalog.get_schema()``
* ``Catalog.create_metaschema()`` and ``Catalog.create_vocabulary()`` return the created instance
* Rename ``core_vocabulary`` and ``core_vocabulary_uri`` parameters for
``Metaschema.__init__()`` and ``Catalog.create_metaschema()`` respectively to
``default_core_vocabulary`` and ``default_core_vocabulary_uri``
* Improve kwarg-based construction of ``RelativeJSONPointer``
* Rename ``AnnotationKeyword`` to ``_AnnotationKeyword``
* Rename ``vocabularies`` parameter of ``create_catalog()`` to ``versions``
* Allow passthrough of arguments to pytest when invoking tox
* Add pytest command line options ``--testsuite-file`` and ``--testsuite-description``
* Python 3.11 is now tested (no changes were required to support it)
* Pinned ``hypothesis<6.0.4`` to avoid
`python/cpython102126 <https://github.com/python/cpython/issues/102126>`_
in Python 3.10.10 and 3.11.2

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.