Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use jsonschema ≥4.18.0 and new referencing library
In v4.18.0, jsonschema.RefResolver was deprecated in favor of the new referencing library.¹ The intro² and API³ docs were helpful in determining the necessary changes. I've tested that our new usage is not backwards compatible with v4.17.3 and thus updated the minimum requirement to v4.18.0. I chose v0.29.1 as the minimum supported version of referencing because that was the version released alongside jsonschema v4.18.0. The default behavior no longer tries to access the network, so I've reworded the retrieval function comment and error message. Local reference mismatches are now a "PointerToNowhere" error instead of an "Unresolvable JSON pointer" error. It shows the entire schema JSON in the output which can seem unnecessarily verbose, but I think it's fine since this is only intended to show on internal errors with the schema. ¹ https://github.com/python-jsonschema/jsonschema/blob/93e0caa5752947ec77333da81a634afe41a022ed/CHANGELOG.rst#v4180 ² https://python-jsonschema.readthedocs.io/en/stable/referencing/#introduction-to-the-referencing-api ³ https://referencing.readthedocs.io/en/stable/api/#referencing.Registry.with_contents
- Loading branch information