--------------------
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