- Minor docs improvement.
- Ensure that an
sdist
contains the test suite JSON files.
- Declare support for Python 3.12.
- Documentation fix.
- Improve the hashability of exceptions when they contain hashable data.
- Minor docs improvement.
- Add
referencing.retrieval.to_cached_resource
, a simple caching decorator useful when writing a retrieval function turning JSON text into resources without repeatedly hitting the network, filesystem, etc.
- No user-facing changes.
- Fix a type annotation and fill in some missing test coverage.
- Fix a type annotation.
- No user-facing changes.
- Added some additional packaging trove classifiers.
- More minor documentation improvements
- Minor documentation improvement
- Minor simplification to the docs structure.
- Also strip fragments when using
__getitem__
on URIs with empty fragments.
- Another fix for looking up anchors from non-canonical URIs, now when they're inside a subresource which has a relative
$id
.
- Improve a small number of docstrings.
- Support looking up anchors from non-canonical URIs. In other words, if you add a resource at the URI
http://example.com
, then looking up the anchorhttp://example.com#foo
now works even if the resource has some internal$id
saying its canonical URI ishttp://somethingelse.example.com
.
- Further API documentation.
- Add some documentation on
referencing
public and non-public API.
- Also suggest a proper JSON Pointer for users who accidentally use
#/
and intend to refer to the entire resource.
- No changes.
- Attempt to suggest a correction if someone uses '#foo/bar', which is neither a valid plain name anchor (as it contains a slash) nor a valid JSON pointer (as it doesn't start with a slash)
- Normalize the ID of JSON Schema resources with empty fragments (by removing the fragment). Having a schema with an ID with empty fragment is discouraged, and newer versions of the spec may flat-out make it an error, but older meta-schemas indeed used IDs with empty fragments, so some extra normalization was needed and useful here even beyond what was previously done. TBD on whether this is exactly right if/when another referencing spec defines differing behavior.
- Minor tweaks to the package keywords and description.
- Minor internal tweaks to the docs configuration.
- Bump the minimum version of
rpds.py
used, enabling registries to be used from multiple threads.
- Fix handling of IDs with empty fragments (which are equivalent to URIs with no fragment)
- Further intro documentation
- Fix handling of
additionalProperties
with boolean value on Draft 4 (where the boolean isn't a schema, it's a special allowed value)
- Add a bit of intro documentation
pyrsistent
was replaced withrpds.py
(Python bindings to the Rust rpds crate), which seems to be quite a bit faster. No user-facing changes really should be expected here.