@@ -14,6 +14,191 @@ Changelog
1414
1515.. towncrier release notes start
1616
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+
172026.0.4 (2022-12-24)
18203==================
19204
0 commit comments