Skip to content

Releases: aio-libs/aiohttp

aiohttp 0.18.4

13 Nov 15:50

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

Choose a tag to compare

Changes

  • Fix formatting for _RequestContextManager helper #590

aiohttp 0.18.2

22 Oct 18:33

Choose a tag to compare

Bugfix release, fixes regression with usage OpenSSL < 1.0.0 #584

aiohttp 0.18.1

20 Oct 16:37

Choose a tag to compare

0.18.1 bugfix release

Changes

  • Relax rule for router names: they may contain dots and columns
    starting from now

aiohttp 0.18.0

19 Oct 08:17

Choose a tag to compare

Major aiohttp release.

Added support for async for and async with, e.g.

async with client.get(url) as resp:
    async for line in resp.content:
        print(line)

auto-closes response object and iterates over response's content.

Server-side signals added (allows, for example, setup http headers for long-living responses in signal hook).

Python 3.3 support dropped.

Full list of changes is pretty huge:

Changes

  • Use errors.HttpProcessingError.message as HTTP error reason and
    message #459

  • Optimize cythonized multidict a bit

  • Change repr's of multidicts and multidict views

  • default headers in ClientSession are now case-insensitive

  • Make '=' char and 'wss://' schema safe in urls #477

  • ClientResponse.close() forces connection closing by default from now #479
    N.B. Backward incompatible change: was .close(force=False) Usingforceparameter for the method is deprecated: use.release()` instead.

  • Properly requote URL's path #480

  • add skip_auto_headers parameter for client API #486

  • Properly parse URL path in aiohttp.web.Request #489

  • Raise RuntimeError when chunked enabled and HTTP is 1.0 #488

  • Fix a bug with processing io.BytesIO as data parameter for client API #500

  • Skip auto-generation of Content-Type header #507

  • Use sendfile facility for static file handling #503

  • Default response_factory in app.router.add_static now is
    StreamResponse, not None. The functionality is not changed if
    default is not specified.

  • Drop ClientResponse.message attribute, it was always implementation detail.

  • Streams are optimized for speed and mostly memory in case of a big
    HTTP message sizes #496

  • Fix a bug for server-side cookies for dropping cookie and setting it
    again without Max-Age parameter.

  • Don't trim redirect URL in client API #499

  • Extend precision of access log "D" to milliseconds #527

  • Deprecate StreamResponse.start() method in favor of
    StreamResponse.prepare() coroutine #525

    .start() is still supported but responses begun with .start()
    doesn't call signal for response preparing to be sent.

  • Add StreamReader.__repr__

  • Drop Python 3.3 support, from now minimal required version is Python
    3.4.1 #541

  • Add async with support for ClientSession.request() and family #536

  • Ignore message body on 204 and 304 responses #505

  • TCPConnector processed both IPv4 and IPv6 by default #559

  • Add .routes() view for urldispatcher #519

  • Route name should be a valid identifier name from now #567

  • Implement server signals #562

  • Drop an year-old deprecated files parameter from client API.

  • Added async for support for aiohttp stream #542

aiohttp 0.17.4 release

29 Sep 10:52

Choose a tag to compare

Minor aiohttp release.

The main change is making code pep-492 compatible.
So you can use await in client API, e.g.:

async def getter(url):
    resp = await aiohttp.get(url)
    try:
        text = await resp.read()
        return text
    finally:
        await resp.release()

Changes

  • Properly parse URL path in aiohttp.web.Request #489
  • Add missing coroutine decorator, the code is await-compatible now

aiohttp 0.17.3

28 Aug 17:43

Choose a tag to compare

aiohttp 0.17.3 bugfix release

Changes

  • Remove Content-Length header on compressed responses #450
  • Support Python 3.5
  • Improve performance of transport in-use list #472
  • Fix connection pooling #473

aiohttp 0.17.2 release

11 Aug 15:15

Choose a tag to compare

Bugfix release

Changes

  • Don't forget to pass data argument forward #462
  • Fix multipart read bytes count #463

aiohttp 0.17.1 release

10 Aug 23:18

Choose a tag to compare

Bugfix release

Fixed multidict comparison (c727d25)

Major aiohttp 0.17.0 release

04 Aug 18:50

Choose a tag to compare

Major release

Actually it doesn't introduce many new features but has a lot of bug fixes.

New features are

  • slightly improve client API by adding toplevel get(), post(), put(), head(), delete(), options(),
    patch() coroutines
  • Add context manager support to ClientSession for session closing.
  • Make StaticRoute supporting Last-Modified and If-Modified-Since headers
  • Pass SSL context through proxy connector

Also please take a look on documentation: http://aiohttp.readthedocs.org/en/stable/ now has a comment section (powered by disqus) on the bottom of every page. We hope your comments will increase docs quality very well.

Full list of changes

  • Make StaticRoute support Last-Modified and If-Modified-Since headers #386
  • Add Request.if_modified_since and Stream.Response.last_modified properties
  • Fix deflate compression when writing a chunked response #395
  • Request`s content-length header is cleared now after redirect from
    POST method #391
  • Return a 400 if server received a non HTTP content #405
  • Fix keep-alive support for aiohttp clients #406
  • Allow gzip compression in high-level server response interface #403
  • Rename TCPConnector.resolve and family to dns_cache #415
  • Make UrlDispatcher ignore quoted characters during url matching #414
    Backward-compatibility warning: this may change the url matched by
    your queries if they send quoted character (like %2F for /) #414
  • Use optional cchardet accelerator if present #418
  • Borrow loop from Connector in ClientSession if loop is not set
  • Add context manager support to ClientSession for session closing.
  • Add toplevel get(), post(), put(), head(), delete(), options(),
    patch() coroutines.
  • Fix IPv6 support for client API #425
  • Pass SSL context through proxy connector #421
  • Make the rule: path for add_route should start with slash
  • Don't process request finishing by low-level server on closed event loop
  • Don't override data if multiple files are uploaded with same key #433
  • Ensure multipart.BodyPartReader.read_chunk read all the necessary data
    to avoid false assertions about malformed multipart payload
  • Dont sent body for 204, 205 and 304 http exceptions #442
  • Correctly skip Cython compilation in MSVC not found #453
  • Add response factory to StaticRoute #456
  • Don't append trailing CRLF for multipart.BodyPartReader #454