Skip to content

Releases: aio-libs/aiohttp

aiohttp 1.3.2

16 Feb 19:12
Compare
Choose a tag to compare

CHANGES

  • Awaiting on WebSocketResponse.send_* does not work #1645
  • Fix multiple calls to client ws_connect when using a shared header dict #1643
  • Make CookieJar.filter_cookies() accept plain string parameter. #1636

aiohttp 1.3.1

09 Feb 14:51
Compare
Choose a tag to compare

CHANGES

  • Handle CLOSING in WebSocketResponse.__anext__
  • Fixed AttributeError 'drain' for server websocket handler #1613

aiohttp 1.3.0

08 Feb 18:40
Compare
Choose a tag to compare

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 send ping message. #1024 #777
  • Remove web.Application dependency from web.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 raise OSError 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 responses text() 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 via app.router.add_subapp() is deprecated
    use app.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() and Application.register_on_finish()
    will be removed in 1.4 #1602

aiohttp 1.2.0

17 Dec 04:37
Compare
Choose a tag to compare

CHANGES

  • Extract BaseRequest from web.Request, introduce web.Server
    (former RequestHandlerFactory), introduce new low-level web server
    which is not coupled with web.Application and routing #1362
  • Make TestServer.make_url compatible with yarl.URL #1389
  • Implement range requests for static files #1382
  • Support task attribute for StreamResponse #1410
  • Drop TestClient.app property, use TestClient.server.app instead
    (BACKWARD INCOMPATIBLE)
  • Drop TestClient.handler property, use TestClient.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 in web.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

14 Nov 17:15
Compare
Choose a tag to compare

Bugfix release.

Changes

  • Make TestServer.make_url compatible with yarl.URL #1389
  • Generate informative exception on redirects from server which
    doesn't provide redirection headers #1396

aiohttp 1.1.3

10 Nov 21:05
Compare
Choose a tag to compare

Fixes

  • Support root resources for sub-applications #1379

aiohttp 1.1.2

08 Nov 16:20
Compare
Choose a tag to compare

Bugfix release.

Fixed bugs:

  • Allow starting variables with an underscore #1379
  • Properly process UNIX sockets by gunicorn worker #1375
  • Fix ordering for FrozenList
  • Don't propagate pre and post signals to sub-application #1377

aiohttp 1.1.1

04 Nov 08:56
Compare
Choose a tag to compare

Changes

  • Fix documentation generation #1120

aiohttp 1.1.0 releae

03 Nov 20:52
Compare
Choose a tag to compare

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
    but ClientResponse.url is an yarl.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(), deprecate resource.url().
    • Implement StaticResource.
    • Inherit SystemRoute from AbstractRoute
    • Drop old-style routes: Route, PlainRoute, DynamicRoute,
      StaticRoute, ResourceAdapter.
  • Revert resp.url back to str, introduce resp.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 to FlowControlStreamReader read function
    if ClientSession 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 from dict but implement
    MutableMapping protocol.

  • Implement frozen signals

  • Don't inherit web.Application from dict but implement
    MutableMapping protocol.

  • Support freezing for web applications

  • Accept access_log parameter in web.run_app, use None to disable logging

  • Don't flap tcp_cork and tcp_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 by web.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 with content_type and charset
    properties like in web.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

11 Oct 17:40
Compare
Choose a tag to compare

CHANGES

  • Fix StreamReader._read_nowait to return all available
    data up to the requested amount. It boosts a performance in edge cases #1297