Skip to content

Latest commit

 

History

History
189 lines (140 loc) · 9.77 KB

CHANGES.rst

File metadata and controls

189 lines (140 loc) · 9.77 KB

Changelog

3.5.4 (2019-01-12)

Bugfixes

  • Fix stream .read() / .readany() / .iter_any() which used to return a partial content only in case of compressed content #3525

3.5.3 (2019-01-10)

Bugfixes

  • Fix type stubs for aiohttp.web.run_app(access_log=True) and fix edge case of access_log=True and the event loop being in debug mode. #3504
  • Fix aiohttp.ClientTimeout type annotations to accept None for fields #3511
  • Send custom per-request cookies even if session jar is empty #3515
  • Restore Linux binary wheels publishing on PyPI

3.5.2 (2019-01-08)

Features

  • FileResponse from web_fileresponse.py uses a ThreadPoolExecutor to work with files asynchronously. I/O based payloads from payload.py uses a ThreadPoolExecutor to work with I/O objects asynchronously. #3313
  • Internal Server Errors in plain text if the browser does not support HTML. #3483

Bugfixes

  • Preserve MultipartWriter parts headers on write.

    Refactor the way how Payload.headers are handled. Payload instances now always have headers and Content-Type defined.

    Fix Payload Content-Disposition header reset after initial creation. #3035

  • Log suppressed exceptions in GunicornWebWorker. #3464

  • Remove wildcard imports. #3468

  • Use the same task for app initialization and web server handling in gunicorn workers. It allows to use Python3.7 context vars smoothly. #3471

  • Fix handling of chunked+gzipped response when first chunk does not give uncompressed data #3477

  • Replace collections.MutableMapping with collections.abc.MutableMapping to avoid a deprecation warning. #3480

  • Payload.size type annotation changed from Optional[float] to Optional[int]. #3484

  • Ignore done tasks when cancels pending activities on web.run_app finalization. #3497

Improved Documentation

  • Add documentation for aiohttp.web.HTTPException. #3490

Misc


3.5.1 (2018-12-24)

  • Fix a regression about ClientSession._requote_redirect_url modification in debug mode.

3.5.0 (2018-12-22)

Features

  • The library type annotations are checked in strict mode now.

  • Add support for setting cookies for individual request (#2387)

  • Application.add_domain implementation (#2809)

  • The default app in the request returned by test_utils.make_mocked_request can now have objects assigned to it and retrieved using the [] operator. (#3174)

  • Make request.url accessible when transport is closed. (#3177)

  • Add zlib_executor_size argument to Response constructor to allow compression to run in a background executor to avoid blocking the main thread and potentially triggering health check failures. (#3205)

  • Enable users to set ClientTimeout in aiohttp.request (#3213)

  • Don't raise a warning if NETRC environment variable is not set and ~/.netrc file doesn't exist. (#3267)

  • Add default logging handler to web.run_app

    If the Application.debug flag is set and the default logger aiohttp.access is used, access logs will now be output using a stderr StreamHandler if no handlers are attached. Furthermore, if the default logger has no log level set, the log level will be set to DEBUG. (#3324)

  • Add method argument to session.ws_connect().

    Sometimes server API requires a different HTTP method for WebSocket connection establishment.

    For example, Docker exec needs POST. (#3378)

  • Create a task per request handling. (#3406)

Bugfixes

  • Enable passing access_log_class via handler_args (#3158)
  • Return empty bytes with end-of-chunk marker in empty stream reader. (#3186)
  • Accept CIMultiDictProxy instances for headers argument in web.Response constructor. (#3207)
  • Don't uppercase HTTP method in parser (#3233)
  • Make method match regexp RFC-7230 compliant (#3235)
  • Add app.pre_frozen state to properly handle startup signals in sub-applications. (#3237)
  • Enhanced parsing and validation of helpers.BasicAuth.decode. (#3239)
  • Change imports from collections module in preparation for 3.8. (#3258)
  • Ensure Host header is added first to ClientRequest to better replicate browser (#3265)
  • Fix forward compatibility with Python 3.8: importing ABCs directly from the collections module will not be supported anymore. (#3273)
  • Keep the query string by normalize_path_middleware. (#3278)
  • Fix missing parameter raise_for_status for aiohttp.request() (#3290)
  • Bracket IPv6 addresses in the HOST header (#3304)
  • Fix default message for server ping and pong frames. (#3308)
  • Fix tests/test_connector.py typo and tests/autobahn/server.py duplicate loop def. (#3337)
  • Fix false-negative indicator end_of_HTTP_chunk in StreamReader.readchunk function (#3361)
  • Release HTTP response before raising status exception (#3364)
  • Fix task cancellation when sendfile() syscall is used by static file handling. (#3383)
  • Fix stack trace for asyncio.TimeoutError which was not logged, when it is caught in the handler. (#3414)

Improved Documentation

  • Improve documentation of Application.make_handler parameters. (#3152)
  • Fix BaseRequest.raw_headers doc. (#3215)
  • Fix typo in TypeError exception reason in web.Application._handle (#3229)
  • Make server access log format placeholder %b documentation reflect behavior and docstring. (#3307)

Deprecations and Removals

  • Deprecate modification of session.requote_redirect_url (#2278)
  • Deprecate stream.unread_data() (#3260)
  • Deprecated use of boolean in resp.enable_compression() (#3318)
  • Encourage creation of aiohttp public objects inside a coroutine (#3331)
  • Drop dead Connection.detach() and Connection.writer. Both methods were broken for more than 2 years. (#3358)
  • Deprecate app.loop, request.loop, client.loop and connector.loop properties. (#3374)
  • Deprecate explicit debug argument. Use asyncio debug mode instead. (#3381)
  • Deprecate body parameter in HTTPException (and derived classes) constructor. (#3385)
  • Deprecate bare connector close, use async with connector: and await connector.close() instead. (#3417)
  • Deprecate obsolete read_timeout and conn_timeout in ClientSession constructor. (#3438)

Misc

  • #3341, #3351