File: changes.rst

package info (click to toggle)
referencing 0.36.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 376 kB
  • sloc: python: 2,618; makefile: 13
file content (233 lines) | stat: -rw-r--r-- 5,114 bytes parent folder | download | duplicates (2)
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.