Releases: aio-libs/aiohttp
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
FormData
fields #916 - 416 Range Not Satisfiable if requested range end > file size #1588
- Having a
:
or@
in a route does not work #1552 - Added
receive_timeout
timeout for websocket to receive complete message. #1325 - Added
heartbeat
parameter for websocket to automatically sendping
message. #1024 #777 - Remove
web.Application
dependency 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
setsockopt
may raiseOSError
exception 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.cookies
for 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
RuntimeError
is 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 app
viaapp.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
BaseRequest
fromweb.Request
, introduceweb.Server
(formerRequestHandlerFactory
), introduce new low-level web server
which is not coupled withweb.Application
and routing #1362 - Make
TestServer.make_url
compatible withyarl.URL
#1389 - Implement range requests for static files #1382
- Support task attribute for StreamResponse #1410
- Drop
TestClient.app
property, useTestClient.server.app
instead
(BACKWARD INCOMPATIBLE) - Drop
TestClient.handler
property, useTestClient.server.handler
instead
(BACKWARD INCOMPATIBLE) TestClient.server
property 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-Length
header inweb.Response
if 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
RuntimeError
when 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
aiohttp 1.1.2
aiohttp 1.1.1
Changes
- Fix documentation generation #1120
aiohttp 1.1.0 releae
Main news are:
- sub-application support
- using YARL library for working with URLs on both client and server side
- performance improvements
Full list of changes:
-
Drop deprecated
WSClientDisconnectedError
(BACKWARD INCOMPATIBLE) -
Use
yarl.URL
in client API. The change is 99% backward compatible
butClientResponse.url
is anyarl.URL
instance now. #1217 -
Close idle keep-alive connections on shutdown #1222
-
Modify regex in AccessLogger to accept underscore and numbers #1225
-
Use
yarl.URL
in web server API.web.Request.rel_url
and
web.Request.url
are added. URLs and templates are percent-encoded
now. #1224 -
Accept
yarl.URL
by server redirections #1278 -
Return
yarl.URL
by.make_url()
testing utility #1279 -
Properly format IPv6 addresses by
aiohttp.web.run_app
#1139 -
Use
yarl.URL
by server API #1288- Introduce
resource.url_for()
, deprecateresource.url()
. - Implement
StaticResource
. - Inherit
SystemRoute
fromAbstractRoute
- Drop old-style routes:
Route
,PlainRoute
,DynamicRoute
,
StaticRoute
,ResourceAdapter
.
- Introduce
-
Revert
resp.url
back tostr
, introduceresp.url_obj
#1292 -
Raise ValueError if BasicAuth login has a ":" character #1307
-
Fix bug when ClientRequest send payload file with opened as
open('filename', 'r+b') #1306 -
Enhancement to AccessLogger (pass extra dict) #1303
-
Show more verbose message on import errors #1319
-
Added save and load functionality for
CookieJar
#1219 -
Added option on
StaticRoute
to follow symlinks #1299 -
Force encoding of
application/json
content type to utf-8 #1339 -
Fix invalid invocations of
errors.LineTooLong
#1335 -
Websockets: Stop
async for
iteration when connection is closed #1144 -
Ensure TestClient HTTP methods return a context manager #1318
-
Raise
ClientDisconnectedError
toFlowControlStreamReader
read function
ifClientSession
object is closed by client when reading data. #1323 -
Document deployment without
Gunicorn
#1120 -
Add deprecation warning for MD5 and SHA1 digests when used for fingerprint
of site certs in TCPConnector. #1186 -
Implement sub-applications #1301
-
Don't inherit
web.Request
fromdict
but implement
MutableMapping
protocol. -
Implement frozen signals
-
Don't inherit
web.Application
fromdict
but implement
MutableMapping
protocol. -
Support freezing for web applications
-
Accept access_log parameter in
web.run_app
, useNone
to disable logging -
Don't flap
tcp_cork
andtcp_nodelay
in regular request handling.
tcp_nodelay
is still enabled by default. -
Improve performance of web server by removing premature computing of
Content-Type if the value was set byweb.Response
constructor.While the patch boosts speed of trivial
web.Response(text='OK', content_type='text/plain)
very well please don't expect significant
boost of your application -- a couple DB requests and business logic
is still the main bottleneck. -
Boost performance by adding a custom time service #1350
-
Extend
ClientResponse
withcontent_type
andcharset
properties like inweb.Request
. #1349 -
Disable aiodns by default #559
-
Don't flap
tcp_cork
in client code, use TCP_NODELAY mode by default. -
Implement
web.Request.clone()
#1361
aiohttp 1.0.5 release
CHANGES
- Fix StreamReader._read_nowait to return all available
data up to the requested amount. It boosts a performance in edge cases #1297