@@ -14,6 +14,191 @@ Changelog
14
14
15
15
.. towncrier release notes start
16
16
17
+ 6.0.5 (2024-02-01)
18
+ ==================
19
+
20
+ Bug fixes
21
+ ---------
22
+
23
+ - Upgraded the C-API macros that have been deprecated in Python 3.9
24
+ and later removed in 3.13 -- by :user: `iemelyanov `.
25
+
26
+
27
+ *Related issues and pull requests on GitHub: *
28
+ :issue: `862 `, :issue: `864 `, :issue: `868 `, :issue: `898 `.
29
+
30
+
31
+
32
+ - Reverted to using the public argument parsing API
33
+ :c:func: `PyArg_ParseTupleAndKeywords ` under Python 3.12
34
+ -- by :user: `charles-dyfis-net ` and :user: `webknjaz `.
35
+
36
+ The effect is that this change prevents build failures with
37
+ clang 16.9.6 and gcc-14 reported in :issue: `926 `. It also
38
+ fixes a segmentation fault crash caused by passing keyword
39
+ arguments to :py:meth: `MultiDict.getall()
40
+ <multidict.MultiDict.getall> ` discovered by :user: `jonaslb `
41
+ and :user: `hroncok ` while examining the problem.
42
+
43
+
44
+ *Related issues and pull requests on GitHub: *
45
+ :issue: `862 `, :issue: `909 `, :issue: `926 `, :issue: `929 `.
46
+
47
+
48
+
49
+ - Fixed a ``SystemError: null argument to internal routine `` error on
50
+ a ``MultiDict.items().isdisjoint() `` call when using C Extensions.
51
+
52
+
53
+ *Related issues and pull requests on GitHub: *
54
+ :issue: `927 `.
55
+
56
+
57
+
58
+
59
+ Improved documentation
60
+ ----------------------
61
+
62
+ - On the `Contributing docs <https://github.com/aio-libs/multidict/blob/master/CHANGES/README.rst >`_ page,
63
+ a link to the ``Towncrier philosophy `` has been fixed.
64
+
65
+
66
+ *Related issues and pull requests on GitHub: *
67
+ :issue: `911 `.
68
+
69
+
70
+
71
+
72
+ Packaging updates and notes for downstreams
73
+ -------------------------------------------
74
+
75
+ - Stopped marking all files as installable package data
76
+ -- by :user: `webknjaz `.
77
+
78
+ This change helps ``setuptools `` understand that C-headers are
79
+ not to be installed under :file: `lib/python3.{ x } /site-packages/ `.
80
+
81
+
82
+
83
+ *Related commits on GitHub: *
84
+ :commit: `31e1170 `.
85
+
86
+
87
+ - Started publishing pure-python wheels to be installed
88
+ as a fallback -- by :user: `webknjaz `.
89
+
90
+
91
+
92
+ *Related commits on GitHub: *
93
+ :commit: `7ba0e72 `.
94
+
95
+
96
+ - Switched from ``setuptools ``' legacy backend (``setuptools.build_meta:__legacy__ ``)
97
+ to the modern one (``setuptools.build_meta ``) by actually specifying the
98
+ the ``[build-system] build-backend `` option in :file: `pyproject.toml `
99
+ -- by :user: `Jackenmen `.
100
+
101
+
102
+ *Related issues and pull requests on GitHub: *
103
+ :issue: `802 `.
104
+
105
+
106
+
107
+ - Declared Python 3.12 supported officially in the
108
+ distribution package metadata -- by :user: `hugovk `.
109
+
110
+
111
+ *Related issues and pull requests on GitHub: *
112
+ :issue: `877 `.
113
+
114
+
115
+
116
+
117
+ Contributor-facing changes
118
+ --------------------------
119
+
120
+ - The test framework has been refactored. In the previous state, the circular
121
+ imports reported in :issue: `837 ` caused the C-extension tests to be skipped.
122
+
123
+ Now, there is a set of the ``pytest `` fixtures that is set up in a parametrized
124
+ manner allowing to have a consistent way of accessing mirrored ``multidict ``
125
+ implementations across all the tests.
126
+
127
+ This change also implemented a pair of CLI flags (``--c-extensions `` /
128
+ ``--no-c-extensions ``) that allow to explicitly request deselecting the tests
129
+ running against the C-extension.
130
+
131
+ -- by :user: `webknjaz `.
132
+
133
+
134
+ *Related issues and pull requests on GitHub: *
135
+ :issue: `98 `, :issue: `837 `, :issue: `915 `.
136
+
137
+
138
+
139
+ - Updated the test pins lockfile used in the
140
+ ``cibuildwheel `` test stage -- by :user: `hoodmane `.
141
+
142
+
143
+ *Related issues and pull requests on GitHub: *
144
+ :issue: `827 `.
145
+
146
+
147
+
148
+ - Added an explicit ``void `` for arguments in C-function signatures
149
+ which addresses the following compiler warning:
150
+
151
+ .. code-block :: console
152
+
153
+ warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
154
+
155
+ -- by :user: `hoodmane `
156
+
157
+
158
+ *Related issues and pull requests on GitHub: *
159
+ :issue: `828 `.
160
+
161
+
162
+
163
+ - An experimental Python 3.13 job now runs in the CI
164
+ -- :user: `webknjaz `.
165
+
166
+
167
+ *Related issues and pull requests on GitHub: *
168
+ :issue: `920 `.
169
+
170
+
171
+
172
+ - Added test coverage for the :ref: `and <python:and >`, :ref: `or
173
+ <python:or>`, :py:obj: `sub <python:object.__sub__> `, and
174
+ :py:obj: `xor <python:object.__xor__> ` operators in the
175
+ :file: `multidict/_multidict_base.py ` module. It also covers
176
+ :py:data: `NotImplemented ` and
177
+ ":py:class: `~typing.Iterable `-but-not-:py:class: `~typing.Set `"
178
+ cases there.
179
+
180
+ -- by :user: `a5r0n `
181
+
182
+
183
+ *Related issues and pull requests on GitHub: *
184
+ :issue: `936 `.
185
+
186
+
187
+
188
+ - The version of pytest is now capped below 8, when running MyPy
189
+ against Python 3.7. This pytest release dropped support for
190
+ said runtime.
191
+
192
+
193
+ *Related issues and pull requests on GitHub: *
194
+ :issue: `937 `.
195
+
196
+
197
+
198
+
199
+ ----
200
+
201
+
17
202
6.0.4 (2022-12-24)
18
203
==================
19
204
0 commit comments