Skip to content

Commit

Permalink
Move 3.0 changelogs to history
Browse files Browse the repository at this point in the history
  • Loading branch information
asvetlov committed Mar 21, 2018
1 parent bea1dba commit ab55fa1
Show file tree
Hide file tree
Showing 2 changed files with 191 additions and 189 deletions.
189 changes: 0 additions & 189 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,192 +14,3 @@ Changelog

.. towncrier release notes start
3.0.9 (2018-03-14)
==================

- Close a connection if an unexpected exception occurs while sending a request
(#2827)


3.0.8 (2018-03-12)
==================

- Use ``asyncio.current_task()`` on Python 3.7 (#2825)

3.0.7 (2018-03-08)
==================

- Fix SSL proxy support by client. (#2810)
- Restore a imperative check in ``setup.py`` for python version. The check
works in parallel to environment marker. As effect a error about unsupported
Python versions is raised even on outdated systems with very old
``setuptools`` version installed. (#2813)


3.0.6 (2018-03-05)
==================

- Add ``_reuse_address`` and ``_reuse_port`` to
``web_runner.TCPSite.__slots__``. (#2792)

3.0.5 (2018-02-27)
==================

- Fix ``InvalidStateError`` on processing a sequence of two
``RequestHandler.data_received`` calls on web server. (#2773)

3.0.4 (2018-02-26)
==================

- Fix ``IndexError`` in HTTP request handling by server. (#2752)
- Fix MultipartWriter.append* no longer returning part/payload. (#2759)


3.0.3 (2018-02-25)
==================

- Relax ``attrs`` dependency to minimal actually supported version
17.0.3 The change allows to avoid version conflicts with currently
existing test tools.

3.0.2 (2018-02-23)
==================

Security Fix
------------

- Prevent Windows absolute URLs in static files. Paths like
``/static/D:\path`` and ``/static/\\hostname\drive\path`` are
forbidden.

3.0.1
=====

- Technical release for fixing distribution problems.

3.0.0 (2018-02-12)
==================

Features
--------

- Speed up the `PayloadWriter.write` method for large request bodies. (#2126)
- StreamResponse and Response are now MutableMappings. (#2246)
- ClientSession publishes a set of signals to track the HTTP request execution.
(#2313)
- Content-Disposition fast access in ClientResponse (#2455)
- Added support to Flask-style decorators with class-based Views. (#2472)
- Signal handlers (registered callbacks) should be coroutines. (#2480)
- Support ``async with test_client.ws_connect(...)`` (#2525)
- Introduce *site* and *application runner* as underlying API for `web.run_app`
implementation. (#2530)
- Only quote multipart boundary when necessary and sanitize input (#2544)
- Make the `aiohttp.ClientResponse.get_encoding` method public with the
processing of invalid charset while detecting content encoding. (#2549)
- Add optional configurable per message compression for
`ClientWebSocketResponse` and `WebSocketResponse`. (#2551)
- Add hysteresis to `StreamReader` to prevent flipping between paused and
resumed states too often. (#2555)
- Support `.netrc` by `trust_env` (#2581)
- Avoid to create a new resource when adding a route with the same name and
path of the last added resource (#2586)
- `MultipartWriter.boundary` is `str` now. (#2589)
- Allow a custom port to be used by `TestServer` (and associated pytest
fixtures) (#2613)
- Add param access_log_class to web.run_app function (#2615)
- Add ``ssl`` parameter to client API (#2626)
- Fixes performance issue introduced by #2577. When there are no middlewares
installed by the user, no additional and useless code is executed. (#2629)
- Rename PayloadWriter to StreamWriter (#2654)
- New options *reuse_port*, *reuse_address* are added to `run_app` and
`TCPSite`. (#2679)
- Use custom classes to pass client signals parameters (#2686)
- Use ``attrs`` library for data classes, replace `namedtuple`. (#2690)
- Pytest fixtures renaming, add ``aiohttp_`` prefix (#2578)
- Add ``aiohttp-`` prefix for ``pytest-aiohttp`` command line
parameters (#2578)

Bugfixes
--------

- Correctly process upgrade request from server to HTTP2. ``aiohttp`` does not
support HTTP2 yet, the protocol is not upgraded but response is handled
correctly. (#2277)
- Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy
connector (#2408)
- Fix connector convert OSError to ClientConnectorError (#2423)
- Fix connection attempts for multiple dns hosts (#2424)
- Fix writing to closed transport by raising `asyncio.CancelledError` (#2499)
- Fix warning in `ClientSession.__del__` by stopping to try to close it.
(#2523)
- Fixed race-condition for iterating addresses from the DNSCache. (#2620)
- Fix default value of `access_log_format` argument in `web.run_app` (#2649)
- Freeze sub-application on adding to parent app (#2656)
- Do percent encoding for `.url_for()` parameters (#2668)
- Correctly process request start time and multiple request/response
headers in access log extra (#2641)

Improved Documentation
----------------------

- Improve tutorial docs, using `literalinclude` to link to the actual files.
(#2396)
- Small improvement docs: better example for file uploads. (#2401)
- Rename `from_env` to `trust_env` in client reference. (#2451)
- Fixed mistype in `Proxy Support` section where `trust_env` parameter was
used in `session.get("http://python.org", trust_env=True)` method instead of
aiohttp.ClientSession constructor as follows:
`aiohttp.ClientSession(trust_env=True)`. (#2688)
- Fix issue with unittest example not compiling in testing docs. (#2717)

Deprecations and Removals
-------------------------

- Simplify HTTP pipelining implementation (#2109)
- Drop `StreamReaderPayload` and `DataQueuePayload`. (#2257)
- Drop `md5` and `sha1` finger-prints (#2267)
- Drop WSMessage.tp (#2321)
- Drop Python 3.4 and Python 3.5.0, 3.5.1, 3.5.2. Minimal supported Python
versions are 3.5.3 and 3.6.0. `yield from` is gone, use `async/await` syntax.
(#2343)
- Drop `aiohttp.Timeout` and use `async_timeout.timeout` instead. (#2348)
- Drop `resolve` param from TCPConnector. (#2377)
- Add DeprecationWarning for returning HTTPException (#2415)
- `send_str()`, `send_bytes()`, `send_json()`, `ping()` and `pong()` are
genuine async functions now. (#2475)
- Drop undocumented `app.on_pre_signal` and `app.on_post_signal`. Signal
handlers should be coroutines, support for regular functions is dropped.
(#2480)
- `StreamResponse.drain()` is not a part of public API anymore, just use `await
StreamResponse.write()`. `StreamResponse.write` is converted to async
function. (#2483)
- Drop deprecated `slow_request_timeout` param and `**kwargs`` from
`RequestHandler`. (#2500)
- Drop deprecated `resource.url()`. (#2501)
- Remove `%u` and `%l` format specifiers from access log format. (#2506)
- Drop deprecated `request.GET` property. (#2547)
- Simplify stream classes: drop `ChunksQueue` and `FlowControlChunksQueue`,
merge `FlowControlStreamReader` functionality into `StreamReader`, drop
`FlowControlStreamReader` name. (#2555)
- Do not create a new resource on `router.add_get(..., allow_head=True)`
(#2585)
- Drop access to TCP tuning options from PayloadWriter and Response classes
(#2604)
- Drop deprecated `encoding` parameter from client API (#2606)
- Deprecate ``verify_ssl``, ``ssl_context`` and ``fingerprint`` parameters in
client API (#2626)
- Get rid of the legacy class StreamWriter. (#2651)
- Forbid non-strings in `resource.url_for()` parameters. (#2668)
- Deprecate inheritance from ``ClientSession`` and ``web.Application`` and
custom user attributes for ``ClientSession``, ``web.Request`` and
``web.Application`` (#2691)
- Drop `resp = await aiohttp.request(...)` syntax for sake of `async with
aiohttp.request(...) as resp:`. (#2540)
- Forbid synchronous context managers for `ClientSession` and test
server/client. (#2362)


Misc
----

- #2552
191 changes: 191 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,194 @@
3.0.9 (2018-03-14)
==================

- Close a connection if an unexpected exception occurs while sending a request
(#2827)


3.0.8 (2018-03-12)
==================

- Use ``asyncio.current_task()`` on Python 3.7 (#2825)

3.0.7 (2018-03-08)
==================

- Fix SSL proxy support by client. (#2810)
- Restore a imperative check in ``setup.py`` for python version. The check
works in parallel to environment marker. As effect a error about unsupported
Python versions is raised even on outdated systems with very old
``setuptools`` version installed. (#2813)


3.0.6 (2018-03-05)
==================

- Add ``_reuse_address`` and ``_reuse_port`` to
``web_runner.TCPSite.__slots__``. (#2792)

3.0.5 (2018-02-27)
==================

- Fix ``InvalidStateError`` on processing a sequence of two
``RequestHandler.data_received`` calls on web server. (#2773)

3.0.4 (2018-02-26)
==================

- Fix ``IndexError`` in HTTP request handling by server. (#2752)
- Fix MultipartWriter.append* no longer returning part/payload. (#2759)


3.0.3 (2018-02-25)
==================

- Relax ``attrs`` dependency to minimal actually supported version
17.0.3 The change allows to avoid version conflicts with currently
existing test tools.

3.0.2 (2018-02-23)
==================

Security Fix
------------

- Prevent Windows absolute URLs in static files. Paths like
``/static/D:\path`` and ``/static/\\hostname\drive\path`` are
forbidden.

3.0.1
=====

- Technical release for fixing distribution problems.

3.0.0 (2018-02-12)
==================

Features
--------

- Speed up the `PayloadWriter.write` method for large request bodies. (#2126)
- StreamResponse and Response are now MutableMappings. (#2246)
- ClientSession publishes a set of signals to track the HTTP request execution.
(#2313)
- Content-Disposition fast access in ClientResponse (#2455)
- Added support to Flask-style decorators with class-based Views. (#2472)
- Signal handlers (registered callbacks) should be coroutines. (#2480)
- Support ``async with test_client.ws_connect(...)`` (#2525)
- Introduce *site* and *application runner* as underlying API for `web.run_app`
implementation. (#2530)
- Only quote multipart boundary when necessary and sanitize input (#2544)
- Make the `aiohttp.ClientResponse.get_encoding` method public with the
processing of invalid charset while detecting content encoding. (#2549)
- Add optional configurable per message compression for
`ClientWebSocketResponse` and `WebSocketResponse`. (#2551)
- Add hysteresis to `StreamReader` to prevent flipping between paused and
resumed states too often. (#2555)
- Support `.netrc` by `trust_env` (#2581)
- Avoid to create a new resource when adding a route with the same name and
path of the last added resource (#2586)
- `MultipartWriter.boundary` is `str` now. (#2589)
- Allow a custom port to be used by `TestServer` (and associated pytest
fixtures) (#2613)
- Add param access_log_class to web.run_app function (#2615)
- Add ``ssl`` parameter to client API (#2626)
- Fixes performance issue introduced by #2577. When there are no middlewares
installed by the user, no additional and useless code is executed. (#2629)
- Rename PayloadWriter to StreamWriter (#2654)
- New options *reuse_port*, *reuse_address* are added to `run_app` and
`TCPSite`. (#2679)
- Use custom classes to pass client signals parameters (#2686)
- Use ``attrs`` library for data classes, replace `namedtuple`. (#2690)
- Pytest fixtures renaming, add ``aiohttp_`` prefix (#2578)
- Add ``aiohttp-`` prefix for ``pytest-aiohttp`` command line
parameters (#2578)

Bugfixes
--------

- Correctly process upgrade request from server to HTTP2. ``aiohttp`` does not
support HTTP2 yet, the protocol is not upgraded but response is handled
correctly. (#2277)
- Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy
connector (#2408)
- Fix connector convert OSError to ClientConnectorError (#2423)
- Fix connection attempts for multiple dns hosts (#2424)
- Fix writing to closed transport by raising `asyncio.CancelledError` (#2499)
- Fix warning in `ClientSession.__del__` by stopping to try to close it.
(#2523)
- Fixed race-condition for iterating addresses from the DNSCache. (#2620)
- Fix default value of `access_log_format` argument in `web.run_app` (#2649)
- Freeze sub-application on adding to parent app (#2656)
- Do percent encoding for `.url_for()` parameters (#2668)
- Correctly process request start time and multiple request/response
headers in access log extra (#2641)

Improved Documentation
----------------------

- Improve tutorial docs, using `literalinclude` to link to the actual files.
(#2396)
- Small improvement docs: better example for file uploads. (#2401)
- Rename `from_env` to `trust_env` in client reference. (#2451)
- Fixed mistype in `Proxy Support` section where `trust_env` parameter was
used in `session.get("http://python.org", trust_env=True)` method instead of
aiohttp.ClientSession constructor as follows:
`aiohttp.ClientSession(trust_env=True)`. (#2688)
- Fix issue with unittest example not compiling in testing docs. (#2717)

Deprecations and Removals
-------------------------

- Simplify HTTP pipelining implementation (#2109)
- Drop `StreamReaderPayload` and `DataQueuePayload`. (#2257)
- Drop `md5` and `sha1` finger-prints (#2267)
- Drop WSMessage.tp (#2321)
- Drop Python 3.4 and Python 3.5.0, 3.5.1, 3.5.2. Minimal supported Python
versions are 3.5.3 and 3.6.0. `yield from` is gone, use `async/await` syntax.
(#2343)
- Drop `aiohttp.Timeout` and use `async_timeout.timeout` instead. (#2348)
- Drop `resolve` param from TCPConnector. (#2377)
- Add DeprecationWarning for returning HTTPException (#2415)
- `send_str()`, `send_bytes()`, `send_json()`, `ping()` and `pong()` are
genuine async functions now. (#2475)
- Drop undocumented `app.on_pre_signal` and `app.on_post_signal`. Signal
handlers should be coroutines, support for regular functions is dropped.
(#2480)
- `StreamResponse.drain()` is not a part of public API anymore, just use `await
StreamResponse.write()`. `StreamResponse.write` is converted to async
function. (#2483)
- Drop deprecated `slow_request_timeout` param and `**kwargs`` from
`RequestHandler`. (#2500)
- Drop deprecated `resource.url()`. (#2501)
- Remove `%u` and `%l` format specifiers from access log format. (#2506)
- Drop deprecated `request.GET` property. (#2547)
- Simplify stream classes: drop `ChunksQueue` and `FlowControlChunksQueue`,
merge `FlowControlStreamReader` functionality into `StreamReader`, drop
`FlowControlStreamReader` name. (#2555)
- Do not create a new resource on `router.add_get(..., allow_head=True)`
(#2585)
- Drop access to TCP tuning options from PayloadWriter and Response classes
(#2604)
- Drop deprecated `encoding` parameter from client API (#2606)
- Deprecate ``verify_ssl``, ``ssl_context`` and ``fingerprint`` parameters in
client API (#2626)
- Get rid of the legacy class StreamWriter. (#2651)
- Forbid non-strings in `resource.url_for()` parameters. (#2668)
- Deprecate inheritance from ``ClientSession`` and ``web.Application`` and
custom user attributes for ``ClientSession``, ``web.Request`` and
``web.Application`` (#2691)
- Drop `resp = await aiohttp.request(...)` syntax for sake of `async with
aiohttp.request(...) as resp:`. (#2540)
- Forbid synchronous context managers for `ClientSession` and test
server/client. (#2362)


Misc
----

- #2552


2.3.10 (2018-02-02)
===================

Expand Down

0 comments on commit ab55fa1

Please sign in to comment.