Skip to content

Releases: aio-libs/aiohttp

0.21.4 aiohttp release

12 Mar 17:24
Compare
Choose a tag to compare

Minor release, has a couple of bug fixes

CHANGES

  • Fix ResourceAdapter: dont add method to allowed if resource is not
    match #826
  • Fix Resouce: append found method to returned allowed methods

aiohttp 0.21.2 release

16 Feb 15:00
Compare
Choose a tag to compare

Bugfix release for fixing subtle regression

Changes

  • Fix a regression: support for handling ~/path in static file routes was
    broken #782

aiohttp 0.21.1 release

16 Feb 14:59
Compare
Choose a tag to compare

Bugfix release to restore aiohttp_debugtoolar functionality.

Changes

  • Make new resources classes public #767
  • Add router.resources() view
  • Fix cmd-line parameter names in doc

aiohttp 0.21.0 release

04 Feb 12:51
Compare
Choose a tag to compare

The release has many changes, most interesting are:

  • Web router is deeply refactored
  • Added utility function for application running
  • Added command line command for running a web server
  • Added raw http headers (not converted into utf-8)
  • Client CORK/NODELAY optimization
  • Full-functional demo added

Full list of changes:

  • Introduce on_shutdown signal #722
  • Implement raw input headers #726
  • Implement web.run_app utility function #734
  • Introduce on_cleanup signal
  • Deprecate Application.finish() / Application.register_on_finish() in favor of
    on_cleanup.
  • Get rid of bare aiohttp.request(), aiohttp.get() and family in docs #729
  • Deprecate bare aiohttp.request(), aiohttp.get() and family #729
  • Refactor keep-alive support #737:
    • Enable keepalive for HTTP 1.0 by default
    • Disable it for HTTP 0.9 (who cares about 0.9, BTW?)
    • For keepalived connections
      • Send Connection: keep-alive for HTTP 1.0 only
      • don't send Connection header for HTTP 1.1
    • For non-keepalived connections
      • Send Connection: close for HTTP 1.1 only
      • don't send Connection header for HTTP 1.0
  • Add version parameter to ClientSession constructor,
    deprecate it for session.request() and family #736
  • Enable access log by default #735
  • Deprecate app.router.register_route() (the method was not documented
    intentionally BTW).
  • Deprecate app.router.named_routes() in favor of app.router.named_resources()
  • route.add_static accepts pathlib.Path now #743
  • Add command line support: $ python -m aiohttp.web package.main #740
  • FAQ section was added to docs. Enjoy and fill free to contribute new topics
  • Add async context manager support to ClientSession
  • Document ClientResponse's host, method, url properties
  • Use CORK/NODELAY in client API #748
  • ClientSession.close and Connector.close are coroutines now
  • Close client connection on exception in ClientResponse.release()
  • Allow to read multipart parts without content-length specified #750
  • Add support for unix domain sockets to gunicorn worker #470
  • Add test for default Expect handler #601
  • Add the first demo project
  • Rename loader keyword argument in web.Request.json method. #646
  • Add local socket binding for TCPConnector #678

aiohttp 0.20.2 release

07 Jan 21:48
Compare
Choose a tag to compare

aiohttp 0.20.2 bugfix

The main reason for making the release is fixing memory leak #723 -- very old, small but annoying problem.

Couple minor fixed was published also.

Changes

  • Enable use of await for a class based view #717
  • Check address family to fill wsgi env properly #718
  • Fix memory leak in headers processing (thanks to Marco Paolini) #723

aiohttp 0.20.1 release

30 Dec 15:49
Compare
Choose a tag to compare

Bugfix release, mostly for fixing benoitc/gunicorn#1055

Full list of changes:

  • Raise RuntimeError is Timeout context manager was used outside of
    task context.
  • Add number of bytes to stream.read_nowait #700
  • Use X-FORWARDED-PROTO for wsgi.url_scheme when available

aiohttp 0.20.0 release

28 Dec 05:40
Compare
Choose a tag to compare

The release has many optimizations as well as other improvements and bug fixes.

The most notable ones:

  • Use TCP_CORK/TCP_NOPUSH and TCP_NODELAY for disabling Nagle algorithm
  • Reduce amount of syscalls for chunked encoding transfer
  • Improve performance of websocket mask applying
  • Round server timeouts to seconds for grouping pending calls
  • Implement Class Based Views
  • Fix broken support for https proxies with authentication

Full list of changes:

  • Extend list of web exceptions, add HTTPMisdirectedRequest,
    HTTPUpgradeRequired, HTTPPreconditionRequired, HTTPTooManyRequests,
    HTTPRequestHeaderFieldsTooLarge, HTTPVariantAlsoNegotiates,
    HTTPNotExtended, HTTPNetworkAuthenticationRequired status codes #644
  • Do not remove AUTHORIZATION header by WSGI handler #649
  • Fix broken support for https proxies with authentication #617
  • Get REMOTE_* and SEVER_* http vars from headers when listening on
    unix socket #654
  • Add HTTP 308 support #663
  • Add Tf format (time to serve request in seconds, %06f format) to
    access log #669
  • Remove one and a half years long deprecated
    ClientResponse.read_and_close() method
  • Optimize chunked encoding: use a single syscall instead of 3 calls
    on sending chunked encoded data
  • Use TCP_CORK and TCP_NODELAY to optimize network latency and
    throughput #680
  • Websocket XOR performance improved #687
  • Avoid sending cookie attributes in Cookie header #613
  • Round server timeouts to second for grouping pending call. That
    leads to less amount of poller syscalls e.g epoll.poll(). #702
  • Close connection on websocket handshake error #703
  • Implement class based views #684
  • Add headers parameter to ws_connect() #709
  • Drop unused function parse_remote_addr() #708
  • Close session on exception #707
  • Store http code and headers in WSServerHandshakeError #706
  • Make some low-level message properties readonly #710

aiohttp 0.19.0

25 Nov 15:53
Compare
Choose a tag to compare

Major aiohttp 0.19.0 release

Highlighted features

async for support for websockets and client multiparts,
support redirects history for client requests,
Timeout context manager for limiting execution time of inner block.

Full list of changes

  • Memory leak in ParserBuffer #579
  • Suppport gunicorn's max_requests settings in gunicorn worker
  • Fix wsgi environment building #573
  • Improve access logging #572
  • Drop unused host and port from low-level server #586
  • Add Python 3.5 async for implementation to server websocket #543
  • Add Python 3.5 async for implementation to client websocket
  • Add Python 3.5 async with implementation to client websocket
  • Add charset parameter to web.Response constructor #593
  • Forbid passing both Content-Type header and content_type or charset
    params into web.Response constructor
  • Forbid duplicating of web.Application and web.Request #602
  • Add an option to pass Origin header in ws_connect #607
  • Add json_response function #592
  • Make concurrent connections respect limits #581
  • Collect history of responses if redirects occur #614
  • Enable passing pre-compressed data in requests #621
  • Expose named routes via UrlDispatcher.named_routes() #622
  • Allow disabling sendfile by environment variable AIOHTTP_NOSENDFILE #629
  • Use ensure_future if available
  • Always quote params for Content-Disposition #641
  • Support async for in multipart reader #640
  • Add Timeout context manager #611

aiohttp 0.18.4

13 Nov 15:50
Compare
Choose a tag to compare

Bugfix release.

Changes

  • Relax rule for router names again by adding dash to allowed
    characters: they may contain identifiers, dashes, dots and columns

aiohttp 0.18.3 bugfix release

25 Oct 12:34
Compare
Choose a tag to compare

Changes

  • Fix formatting for _RequestContextManager helper #590