Skip to content

Commit 7f29851

Browse files
authored
Release 3.10.0 (attempt 2) (#8552)
1 parent fc201e8 commit 7f29851

File tree

1 file changed

+53
-63
lines changed

1 file changed

+53
-63
lines changed

CHANGES.rst

Lines changed: 53 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,6 @@
1616
Bug fixes
1717
---------
1818

19-
- Adjusted ``FileResponse`` to check file existence and access when preparing the response -- by :user:`steverep`.
20-
21-
The :py:class:`~aiohttp.web.FileResponse` class was modified to respond with
22-
403 Forbidden or 404 Not Found as appropriate. Previously, it would cause a
23-
server error if the path did not exist or could not be accessed. Checks for
24-
existence, non-regular files, and permissions were expected to be done in the
25-
route handler. For static routes, this now permits a compressed file to exist
26-
without its uncompressed variant and still be served. In addition, this
27-
changes the response status for files without read permission to 403, and for
28-
non-regular files from 404 to 403 for consistency.
29-
30-
31-
*Related issues and pull requests on GitHub:*
32-
:issue:`8182`.
33-
34-
35-
3619
- Fixed server response headers for ``Content-Type`` and ``Content-Encoding`` for
3720
static compressed files -- by :user:`steverep`.
3821

@@ -47,15 +30,32 @@ Bug fixes
4730

4831

4932

50-
- Fix duplicate cookie expiration calls in the CookieJar implementation
33+
- Fixed duplicate cookie expiration calls in the CookieJar implementation
5134

5235

5336
*Related issues and pull requests on GitHub:*
5437
:issue:`7784`.
5538

5639

5740

58-
- Fix ``AsyncResolver`` to match ``ThreadedResolver`` behavior
41+
- Adjusted ``FileResponse`` to check file existence and access when preparing the response -- by :user:`steverep`.
42+
43+
The :py:class:`~aiohttp.web.FileResponse` class was modified to respond with
44+
403 Forbidden or 404 Not Found as appropriate. Previously, it would cause a
45+
server error if the path did not exist or could not be accessed. Checks for
46+
existence, non-regular files, and permissions were expected to be done in the
47+
route handler. For static routes, this now permits a compressed file to exist
48+
without its uncompressed variant and still be served. In addition, this
49+
changes the response status for files without read permission to 403, and for
50+
non-regular files from 404 to 403 for consistency.
51+
52+
53+
*Related issues and pull requests on GitHub:*
54+
:issue:`8182`.
55+
56+
57+
58+
- Fixed ``AsyncResolver`` to match ``ThreadedResolver`` behavior
5959
-- by :user:`bdraco`.
6060

6161
On system with IPv6 support, the :py:class:`~aiohttp.resolver.AsyncResolver` would not fallback
@@ -71,7 +71,7 @@ Bug fixes
7171

7272

7373

74-
- Fix ``ws_connect`` not respecting `receive_timeout`` on WS(S) connection.
74+
- Fixed ``ws_connect`` not respecting `receive_timeout`` on WS(S) connection.
7575
-- by :user:`arcivanov`.
7676

7777

@@ -99,7 +99,7 @@ Bug fixes
9999
Features
100100
--------
101101

102-
- Add a Request.wait_for_disconnection() method, as means of allowing request handlers to be notified of premature client disconnections.
102+
- Added a Request.wait_for_disconnection() method, as means of allowing request handlers to be notified of premature client disconnections.
103103

104104

105105
*Related issues and pull requests on GitHub:*
@@ -134,7 +134,7 @@ Features
134134

135135

136136

137-
- Implement filter_cookies() with domain-matching and path-matching on the keys, instead of testing every single cookie.
137+
- Implemented filter_cookies() with domain-matching and path-matching on the keys, instead of testing every single cookie.
138138
This may break existing cookies that have been saved with `CookieJar.save()`. Cookies can be migrated with this script::
139139

140140
import pickle
@@ -151,7 +151,7 @@ Features
151151

152152

153153
*Related issues and pull requests on GitHub:*
154-
:issue:`7583`.
154+
:issue:`7583`, :issue:`8535`.
155155

156156

157157

@@ -163,7 +163,7 @@ Features
163163

164164

165165

166-
- Implement happy eyeballs
166+
- Implemented happy eyeballs
167167

168168

169169
*Related issues and pull requests on GitHub:*
@@ -180,18 +180,41 @@ Features
180180

181181

182182

183+
Removals and backward incompatible breaking changes
184+
---------------------------------------------------
185+
186+
- The shutdown logic in 3.9 waited on all tasks, which caused issues with some libraries.
187+
In 3.10 we've changed this logic to only wait on request handlers. This means that it's
188+
important for developers to correctly handle the lifecycle of background tasks using a
189+
library such as ``aiojobs``. If an application is using ``handler_cancellation=True`` then
190+
it is also a good idea to ensure that any :func:`asyncio.shield` calls are replaced with
191+
:func:`aiojobs.aiohttp.shield`.
192+
193+
Please read the updated documentation on these points: \
194+
https://docs.aiohttp.org/en/stable/web_advanced.html#graceful-shutdown \
195+
https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation
196+
197+
-- by :user:`Dreamsorcerer`
198+
199+
200+
*Related issues and pull requests on GitHub:*
201+
:issue:`8495`.
202+
203+
204+
205+
183206
Improved documentation
184207
----------------------
185208

186-
- Add documentation for ``aiohttp.web.FileResponse``.
209+
- Added documentation for ``aiohttp.web.FileResponse``.
187210

188211

189212
*Related issues and pull requests on GitHub:*
190213
:issue:`3958`.
191214

192215

193216

194-
- Improve the docs for the `ssl` params.
217+
- Improved the docs for the `ssl` params.
195218

196219

197220
*Related issues and pull requests on GitHub:*
@@ -212,42 +235,9 @@ Contributor-facing changes
212235

213236

214237

215-
Removals and backward incompatible breaking changes
216-
---------------------------------------------------
217-
218-
- The shutdown logic in 3.9 waited on all tasks, which caused issues with some libraries.
219-
In 3.10 we've changed this logic to only wait on request handlers. This means that it's
220-
important for developers to correctly handle the lifecycle of background tasks using a
221-
library such as ``aiojobs``. If an application is using ``handler_cancellation=True`` then
222-
it is also a good idea to ensure that any :func:`asyncio.shield` calls are replaced with
223-
:func:`aiojobs.aiohttp.shield`.
224-
225-
Please read the updated documentation on these points:
226-
https://docs.aiohttp.org/en/stable/web_advanced.html#graceful-shutdown
227-
https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation
228-
229-
-- by :user:`Dreamsorcerer`
230-
231-
232-
*Related issues and pull requests on GitHub:*
233-
:issue:`8495`.
234-
235-
236-
237-
238238
Miscellaneous internal changes
239239
------------------------------
240240

241-
- Improve performance of filtering cookies -- by :user:`bdraco`.
242-
243-
This change is a followup to the improvements in :issue:`7583`
244-
245-
246-
*Related issues and pull requests on GitHub:*
247-
:issue:`8535`.
248-
249-
250-
251241
- Improved URL handler resolution time by indexing resources in the UrlDispatcher.
252242
For applications with a large number of handlers, this should increase performance significantly.
253243
-- by :user:`bdraco`
@@ -258,7 +248,7 @@ Miscellaneous internal changes
258248

259249

260250

261-
- Add `nacl_middleware <https://github.com/CosmicDNA/nacl_middleware>`_ to the list of middlewares in the third party section of the documentation.
251+
- Added `nacl_middleware <https://github.com/CosmicDNA/nacl_middleware>`_ to the list of middlewares in the third party section of the documentation.
262252

263253

264254
*Related issues and pull requests on GitHub:*
@@ -290,15 +280,15 @@ Miscellaneous internal changes
290280

291281

292282

293-
- Avoid creating a future on every websocket receive -- by :user:`bdraco`.
283+
- Avoided creating a future on every websocket receive -- by :user:`bdraco`.
294284

295285

296286
*Related issues and pull requests on GitHub:*
297287
:issue:`8498`.
298288

299289

300290

301-
- Use identity checks for all ``WSMsgType`` type compares -- by :user:`bdraco`.
291+
- Updated identity checks for all ``WSMsgType`` type compares -- by :user:`bdraco`.
302292

303293

304294
*Related issues and pull requests on GitHub:*
@@ -314,7 +304,7 @@ Miscellaneous internal changes
314304

315305

316306

317-
- Restore :py:class:`~aiohttp.resolver.AsyncResolver` to be the default resolver. -- by :user:`bdraco`.
307+
- Restored :py:class:`~aiohttp.resolver.AsyncResolver` to be the default resolver. -- by :user:`bdraco`.
318308

319309
:py:class:`~aiohttp.resolver.AsyncResolver` was disabled by default because
320310
of IPv6 compatibility issues. These issues have been resolved and

0 commit comments

Comments
 (0)