Skip to content

Commit b3397c7

Browse files
Release v3.9.4 (#8201)
Preparing for tomorrow, let me know if there's any reason to delay. @bdraco @webknjaz --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent a7e240a commit b3397c7

24 files changed

+214
-52
lines changed

CHANGES.rst

+213
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,219 @@
1010

1111
.. towncrier release notes start
1212
13+
14+
3.9.4 (2024-04-11)
15+
==================
16+
17+
Bug fixes
18+
---------
19+
20+
- The asynchronous internals now set the underlying causes
21+
when assigning exceptions to the future objects
22+
-- by :user:`webknjaz`.
23+
24+
25+
*Related issues and pull requests on GitHub:*
26+
:issue:`8089`.
27+
28+
29+
30+
- Treated values of ``Accept-Encoding`` header as case-insensitive when checking
31+
for gzip files -- by :user:`steverep`.
32+
33+
34+
*Related issues and pull requests on GitHub:*
35+
:issue:`8104`.
36+
37+
38+
39+
- Improved the DNS resolution performance on cache hit -- by :user:`bdraco`.
40+
41+
This is achieved by avoiding an :mod:`asyncio` task creation in this case.
42+
43+
44+
*Related issues and pull requests on GitHub:*
45+
:issue:`8163`.
46+
47+
48+
- Changed the type annotations to allow ``dict`` on :meth:`aiohttp.MultipartWriter.append`,
49+
:meth:`aiohttp.MultipartWriter.append_json` and
50+
:meth:`aiohttp.MultipartWriter.append_form` -- by :user:`cakemanny`
51+
52+
53+
*Related issues and pull requests on GitHub:*
54+
:issue:`7741`.
55+
56+
57+
58+
- Ensure websocket transport is closed when client does not close it
59+
-- by :user:`bdraco`.
60+
61+
The transport could remain open if the client did not close it. This
62+
change ensures the transport is closed when the client does not close
63+
it.
64+
65+
66+
*Related issues and pull requests on GitHub:*
67+
:issue:`8200`.
68+
69+
70+
71+
- Leave websocket transport open if receive times out or is cancelled
72+
-- by :user:`bdraco`.
73+
74+
This restores the behavior prior to the change in #7978.
75+
76+
77+
*Related issues and pull requests on GitHub:*
78+
:issue:`8251`.
79+
80+
81+
82+
- Fixed content not being read when an upgrade request was not supported with the pure Python implementation.
83+
-- by :user:`bdraco`.
84+
85+
86+
*Related issues and pull requests on GitHub:*
87+
:issue:`8252`.
88+
89+
90+
91+
- Fixed a race condition with incoming connections during server shutdown -- by :user:`Dreamsorcerer`.
92+
93+
94+
*Related issues and pull requests on GitHub:*
95+
:issue:`8271`.
96+
97+
98+
99+
- Fixed ``multipart/form-data`` compliance with :rfc:`7578` -- by :user:`Dreamsorcerer`.
100+
101+
102+
*Related issues and pull requests on GitHub:*
103+
:issue:`8280`.
104+
105+
106+
107+
- Fixed blocking I/O in the event loop while processing files in a POST request
108+
-- by :user:`bdraco`.
109+
110+
111+
*Related issues and pull requests on GitHub:*
112+
:issue:`8283`.
113+
114+
115+
116+
- Escaped filenames in static view -- by :user:`bdraco`.
117+
118+
119+
*Related issues and pull requests on GitHub:*
120+
:issue:`8317`.
121+
122+
123+
124+
- Fixed the pure python parser to mark a connection as closing when a
125+
response has no length -- by :user:`Dreamsorcerer`.
126+
127+
128+
*Related issues and pull requests on GitHub:*
129+
:issue:`8320`.
130+
131+
132+
133+
134+
Features
135+
--------
136+
137+
- Upgraded *llhttp* to 9.2.1, and started rejecting obsolete line folding
138+
in Python parser to match -- by :user:`Dreamsorcerer`.
139+
140+
141+
*Related issues and pull requests on GitHub:*
142+
:issue:`8146`, :issue:`8292`.
143+
144+
145+
146+
147+
Deprecations (removal in next major release)
148+
--------------------------------------------
149+
150+
- Deprecated ``content_transfer_encoding`` parameter in :py:meth:`FormData.add_field()
151+
<aiohttp.FormData.add_field>` -- by :user:`Dreamsorcerer`.
152+
153+
154+
*Related issues and pull requests on GitHub:*
155+
:issue:`8280`.
156+
157+
158+
159+
160+
Improved documentation
161+
----------------------
162+
163+
- Added a note about canceling tasks to avoid delaying server shutdown -- by :user:`Dreamsorcerer`.
164+
165+
166+
*Related issues and pull requests on GitHub:*
167+
:issue:`8267`.
168+
169+
170+
171+
172+
Contributor-facing changes
173+
--------------------------
174+
175+
- The pull request template is now asking the contributors to
176+
answer a question about the long-term maintenance challenges
177+
they envision as a result of merging their patches
178+
-- by :user:`webknjaz`.
179+
180+
181+
*Related issues and pull requests on GitHub:*
182+
:issue:`8099`.
183+
184+
185+
186+
- Updated CI and documentation to use NPM clean install and upgrade
187+
node to version 18 -- by :user:`steverep`.
188+
189+
190+
*Related issues and pull requests on GitHub:*
191+
:issue:`8116`.
192+
193+
194+
195+
- A pytest fixture ``hello_txt`` was introduced to aid
196+
static file serving tests in
197+
:file:`test_web_sendfile_functional.py`. It dynamically
198+
provisions ``hello.txt`` file variants shared across the
199+
tests in the module.
200+
201+
-- by :user:`steverep`
202+
203+
204+
*Related issues and pull requests on GitHub:*
205+
:issue:`8136`.
206+
207+
208+
209+
210+
Packaging updates and notes for downstreams
211+
-------------------------------------------
212+
213+
- Added an ``internal`` pytest marker for tests which should be skipped
214+
by packagers (use ``-m 'not internal'`` to disable them) -- by :user:`Dreamsorcerer`.
215+
216+
217+
*Related issues and pull requests on GitHub:*
218+
:issue:`8299`.
219+
220+
221+
222+
223+
----
224+
225+
13226
3.9.3 (2024-01-29)
14227
==================
15228

CHANGES/7741.bugfix.rst

-3
This file was deleted.

CHANGES/8089.bugfix.rst

-3
This file was deleted.

CHANGES/8099.contrib.rst

-4
This file was deleted.

CHANGES/8104.bugfix.rst

-1
This file was deleted.

CHANGES/8116.contrib.rst

-1
This file was deleted.

CHANGES/8136.contrib.rst

-7
This file was deleted.

CHANGES/8139.contrib.rst

-1
This file was deleted.

CHANGES/8146.feature.rst

-1
This file was deleted.

CHANGES/8163.bugfix.rst

-5
This file was deleted.

CHANGES/8197.doc

-1
This file was deleted.

CHANGES/8200.bugfix.rst

-6
This file was deleted.

CHANGES/8251.bugfix.rst

-4
This file was deleted.

CHANGES/8252.bugfix.rst

-2
This file was deleted.

CHANGES/8267.doc.rst

-1
This file was deleted.

CHANGES/8271.bugfix.rst

-1
This file was deleted.

CHANGES/8280.bugfix.rst

-1
This file was deleted.

CHANGES/8280.deprecation.rst

-2
This file was deleted.

CHANGES/8283.bugfix.rst

-2
This file was deleted.

CHANGES/8292.feature.rst

-1
This file was deleted.

CHANGES/8299.packaging.rst

-2
This file was deleted.

CHANGES/8317.bugfix.rst

-1
This file was deleted.

CHANGES/8320.bugfix.rst

-1
This file was deleted.

aiohttp/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "3.9.3.dev0"
1+
__version__ = "3.9.4"
22

33
from typing import TYPE_CHECKING, Tuple
44

0 commit comments

Comments
 (0)