Releases: aio-libs/aiohttp
aiohttp 2.0.0rc1
Major aiohttp2.0 release!
Warning! This is not final release. It contains backward incompatible change,
please check compatibility before installing on production systems.
For this release we completely refactored low-level implementation of http handling.
Finally uvloop gives performance improvement. Overall performance improvement
should be around 70-90% compared to 1.x version.
We took opportunity to refactor long standing api design problem across whole package.
Client exceptions handling has been cleaned up and now much more strait forward. Client payload
management simplified and allows to extends with any custom types. Client collection pool
implementation has been redesigned as well, now there is no need for actively releasing responses,
aiohttp handles connection release automatically.
Another major change, we moved aiohttp development to public organization https://github.com/aio-libs
The aiohttp community would like to thank Keepsafe (https://www.getkeepsafe.com) for it's support in the early days of the project.
Alas we had to make backward incompatible changes. Please check this migration document http://aiohttp.readthedocs.io/en/latest/migration.html
Please report problems or annoyance with with api to https://github.com/aio-libs/aiohttp
You can install and test this release with::
pip install https://github.com/aio-libs/aiohttp/archive/2.0.0rc1.tar.gz#egg=aiohttp-2.0.0rc1
aiohttp 1.3.4
CHANGES
-
Revert timeout handling in client request
-
Fix StreamResponse representation after eof
-
Fix file_sender to not fall on bad request (range out of file size)
-
Fix file_sender to correct stream video to Chromes
-
Fix NotImplementedError server exception #1703
-
Clearer error message for URL without a host name. #1691
-
Silence deprecation warning in repr #1690
-
IDN + HTTPS =
ssl.CertificateError#1685
aiohttp 1.3.3
CHANGES
- Fixed memory leak in time service #1656
aiohttp 1.3.2
aiohttp 1.3.1
CHANGES
- Handle CLOSING in
WebSocketResponse.__anext__ - Fixed AttributeError 'drain' for server websocket handler #1613
aiohttp 1.3.0
CHANGES
- Multipart writer validates the data on append instead of on a request send #920
- Multipart reader accepts multipart messages with or without their epilogue
to consistently handle valid and legacy behaviors #1526 #1581 - Separate read + connect + request timeouts # 1523
- Do not swallow Upgrade header #1587
- Fix polls demo run application #1487
- Ignore unknown 1XX status codes in client #1353
- Fix sub-Multipart messages missing their headers on serialization #1525
- Do not use readline when reading the content of a part
in the multipart reader #1535 - Add optional flag for quoting
FormDatafields #916 - 416 Range Not Satisfiable if requested range end > file size #1588
- Having a
:or@in a route does not work #1552 - Added
receive_timeouttimeout for websocket to receive complete message. #1325 - Added
heartbeatparameter for websocket to automatically sendpingmessage. #1024 #777 - Remove
web.Applicationdependency fromweb.UrlDispatcher#1510 - Accepting back-pressure from slow websocket clients #1367
- Do not pause transport during set_parser stage #1211
- Lingering close doesn't terminate before timeout #1559
setsockoptmay raiseOSErrorexception if socket is closed already #1595- Lots of CancelledError when requests are interrupted #1565
- Allow users to specify what should happen to decoding errors
when calling a responsestext()method #1542 - Back port std module
http.cookiesfor python3.4.2 #1566 - Maintain url's fragment in client response #1314
- Allow concurrently close WebSocket connection #754
- Gzipped responses with empty body raises ContentEncodingError #609
- Return 504 if request handle raises TimeoutError.
- Refactor how we use keep-alive and close lingering timeouts.
- Close response connection if we can not consume whole http
message during client response release - Abort closed ssl client transports, broken servers can keep socket open un-limit time #1568
- Log warning instead of
RuntimeErroris websocket connection is closed. - Deprecated:
aiohttp.protocol.HttpPrefixParser
will be removed in 1.4 #1590 - Deprecated: Servers response's
.started,.start()and.can_start()method
will be removed in 1.4 #1591 - Deprecated: Adding
sub appviaapp.router.add_subapp()is deprecated
useapp.add_subapp()instead, will be removed in 1.4 #1592 - Deprecated: aiohttp.get(), aiohttp.options(), aiohttp.head(), aiohttp.post(),
aiohttp.put(), aiohttp.patch(), aiohttp.delete(), and aiohttp.ws_connect()
will be removed in 1.4 #1593 - Deprecated:
Application.finish()andApplication.register_on_finish()
will be removed in 1.4 #1602
aiohttp 1.2.0
CHANGES
- Extract
BaseRequestfromweb.Request, introduceweb.Server
(formerRequestHandlerFactory), introduce new low-level web server
which is not coupled withweb.Applicationand routing #1362 - Make
TestServer.make_urlcompatible withyarl.URL#1389 - Implement range requests for static files #1382
- Support task attribute for StreamResponse #1410
- Drop
TestClient.appproperty, useTestClient.server.appinstead
(BACKWARD INCOMPATIBLE) - Drop
TestClient.handlerproperty, useTestClient.server.handlerinstead
(BACKWARD INCOMPATIBLE) TestClient.serverproperty returns a test server instance, was
asyncio.AbstractServer(BACKWARD INCOMPATIBLE)- Follow gunicorn's signal semantics in
Gunicorn[UVLoop]WebWorker#1201 - Call worker_int and worker_abort callbacks in
Gunicorn[UVLoop]WebWorker#1202 - Has functional tests for client proxy #1218
- Fix bugs with client proxy target path and proxy host with port #1413
- Fix bugs related to the use of unicode hostnames #1444
- Preserve cookie quoting/escaping #1453
- FileSender will send gzipped response if gzip version available #1426
- Don't override
Content-Lengthheader inweb.Responseif no body
was set #1400 - Introduce
router.post_init()for solving #1373 - Fix raise error in case of multiple calls of
TimeServive.stop() - Allow to raise web exceptions on router resolving stage #1460
- Add a warning for session creation outside of coroutine #1468
- Avoid a race when application might start accepting incoming requests
but startup signals are not processed yet e98e8c6 - Raise a
RuntimeErrorwhen trying to change the status of the HTTP response
after the headers have been sent #1480 - Fix bug with https proxy acquired cleanup #1340
- Use UTF-8 as the default encoding for multipart text parts #1484
aiohttp 1.1.4
aiohttp 1.1.3
Fixes
- Support root resources for sub-applications #1379