1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
|
=========
Changelog
=========
v0.36.2
-------
* Release using the newer twine release to preserve PEP 639 license metadata.
v0.36.1
-------
* Add a lower pin on ``typing-extensions`` for the version we depend on.
v0.36.0
-------
* Declare support for Python 3.13.
v0.35.1
-------
* Make ``Resource.pointer`` also properly handle empty pointers (which refer to the root document).
This fix likely only affects you if you were using that function directly, as ``Resource.lookup`` already handles empty fragments.
v0.35.0
-------
* Ensure that ``Registry.contents()`` also raises ``NoSuchResource`` exceptions for nonexistent resources, not ``KeyError`` (which is an implementation detail).
v0.34.0
-------
* Also look inside ``definitions`` keywords even on newer dialects.
The specification recommends doing so regardless of the rename to ``$defs``.
v0.33.0
-------
* Add a ``referencing.jsonschema.SchemaResource`` type alias to go along with the other JSON Schema specialized types.
v0.32.1
-------
* Make ``Specification.detect`` raise a ``CannotDetermineSpecification`` error even if passed a mapping with a ``$schema`` key that doesn't match JSON Schema dialect semantics (e.g. a non-string).
v0.32.0
-------
* Add ``Specification.detect``, which essentially operates like ``Resource.from_contents`` without constructing a resource (i.e. it simply returns the detected specification).
v0.31.1
-------
* No user facing changes.
v0.31.0
-------
* Add ``referencing.jsonschema.EMPTY_REGISTRY`` (which simply has a convenient type annotation, but otherwise is just ``Registry()``).
v0.30.2
-------
* Minor docs improvement.
v0.30.1
-------
* Ensure that an ``sdist`` contains the test suite JSON files.
v0.30.0
-------
* Declare support for Python 3.12.
v0.29.3
-------
* Documentation fix.
v0.29.2
-------
* Improve the hashability of exceptions when they contain hashable data.
v0.29.1
-------
* Minor docs improvement.
v0.29.0
-------
* 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.
v0.28.6
-------
* No user-facing changes.
v0.28.5
-------
* Fix a type annotation and fill in some missing test coverage.
v0.28.4
-------
* Fix a type annotation.
v0.28.3
-------
* No user-facing changes.
v0.28.2
-------
* Added some additional packaging trove classifiers.
v0.28.1
-------
* More minor documentation improvements
v0.28.0
-------
* Minor documentation improvement
v0.27.4
-------
* Minor simplification to the docs structure.
v0.27.3
-------
* Also strip fragments when using ``__getitem__`` on URIs with empty fragments.
v0.27.2
-------
* Another fix for looking up anchors from non-canonical URIs, now when they're inside a subresource which has a relative ``$id``.
v0.27.1
-------
* Improve a small number of docstrings.
v0.27.0
-------
* 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 anchor ``http://example.com#foo`` now works even if the resource has some internal ``$id`` saying its canonical URI is ``http://somethingelse.example.com``.
v0.26.4
-------
* Further API documentation.
v0.26.3
-------
* Add some documentation on ``referencing`` public and non-public API.
v0.26.2
-------
* Also suggest a proper JSON Pointer for users who accidentally use ``#/`` and intend to refer to the entire resource.
v0.26.1
-------
* No changes.
v0.26.0
-------
* 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)
v0.25.3
-------
* 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.
v0.25.2
-------
* Minor tweaks to the package keywords and description.
v0.25.1
-------
* Minor internal tweaks to the docs configuration.
v0.25.0
-------
* Bump the minimum version of ``rpds.py`` used, enabling registries to be used from multiple threads.
v0.24.4
-------
* Fix handling of IDs with empty fragments (which are equivalent to URIs with no fragment)
v0.24.3
-------
* Further intro documentation
v0.24.2
-------
* Fix handling of ``additionalProperties`` with boolean value on Draft 4 (where the boolean isn't a schema, it's a special allowed value)
v0.24.1
-------
* Add a bit of intro documentation
v0.24.0
-------
* ``pyrsistent`` was replaced with ``rpds.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.
|