Skip to content

Commit

Permalink
Merge branch 'master' into issue-355/normalize_path_middleware
Browse files Browse the repository at this point in the history
  • Loading branch information
argaen committed Jan 22, 2017
2 parents 764781e + 516c55c commit 5e389af
Show file tree
Hide file tree
Showing 151 changed files with 13,375 additions and 7,424 deletions.
11 changes: 9 additions & 2 deletions .travis.yml
Expand Up @@ -7,11 +7,18 @@ language: python
python:
- 3.4
- 3.5
# - nightly
- '3.6-dev'
- 'nightly'

os:
- linux
# - osx
# - osx # doesn't work on MacOSX -- the system has no Python installed

matrix:
allow_failures:
- python: '3.6-dev'
- python: 'nightly'
- os: osx

cache:
directories:
Expand Down
240 changes: 42 additions & 198 deletions CHANGES.rst
@@ -1,231 +1,75 @@
CHANGES
=======

1.0.0 (XX-XX-XXXX)
-------------------
1.2.1 (XXXX-XX-XX)
------------------

- Change default size for client session's connection pool from
unlimited to 20 #977
- Fix polls demo run application #1487

- Add IE support for cookie deletion. #994
- Ignore unknown 1XX status codes in client #1353

- Remove deprecated `WebSocketResponse.wait_closed` method (BACKWARD
INCOMPATIBLE)
- Fix sub-Multipart messages missing their headers on serialization #1525

- Remove deprecated `force` parameter for `ClientResponse.close`
method (BACKWARD INCOMPATIBLE)
- remove `web.Application` dependency from `web.UrlDispatcher` #1510

- Avoid using of mutable CIMultiDict kw param in make_mocked_request
#997
- Fix typo in FAQ section "How to programmatically close websocket server-side?"

- Make WebSocketResponse.close a little bit faster by avoiding new
task creating just for timeout measurement
- Allow users to specify what should happen to decoding errors when calling a responses `text()` method #1542

- Add `proxy` and `proxy_auth` params to `client.get()` and family,
deprecate `ProxyConnector` #998
1.2.0 (2016-12-17)
------------------

- Add support for websocket send_json and receive_json, synchronize
server and client API for websockets #984
- 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

- Implement router shourtcuts for most useful HTTP methods, use
`app.router.add_get()`, `app.router.add_post()` etc. instead of
`app.router.add_route()` #986
- Make `TestServer.make_url` compatible with `yarl.URL` #1389

- Support SSL connections for gunicorn worker #1003
- Implement range requests for static files #1382

- Move obsolete examples to legacy folder
- Support task attribute for StreamResponse #1410

- Switch to multidict 2.0 and title-cased strings #1015

- `{FOO}e` logger format is case-sensitive now

- Fix logger report for unix socket 8e8469b

- Rename aiohttp.websocket to aiohttp._ws_impl

- Rename aiohttp.MsgType tp aiohttp.WSMsgType

- Introduce aiohttp.WSMessage officially

- Rename Message -> WSMessage

- Remove deprecated decode param from resp.read(decode=True)

- Use 5min default client timeout #1028

- Relax HTTP method validation in UrlDispatcher #1037

- Pin minimal supported asyncio version to 3.4.2+ (`loop.is_close()`
should be present)

- Remove aiohttp.websocket module (BACKWARD IMCOMPATIBLE)
Please use high-level client and server approaches

- Link header for 451 status code is mandatory

- Fix test_client fixture to allow multiple clients per test #1072

- make_mocked_request now accepts dict as headers #1073

- Add Python 3.5.2/3.6+ compatibility patch for async generator
protocol change #1082

- Improvement test_client can accept instance object #1083

- Simplify ServerHttpProtocol implementation #1060

- Add a flag for optional showing directory index for static file
handling #921

- Define `web.Application.on_startup()` signal handler #1103

- Drop ChunkedParser and LinesParser #1111

- Call `Application.startup` in GunicornWebWorker #1105

- Fix client handling hostnames with 63 bytes when a port is given in
the url #1044

- Implement proxy support for ClientSession.ws_connect #1025

- Return named tuple from WebSocketResponse.can_prepare #1016

- Fix access_log_format in `GunicornWebWorker` #1117

- Setup Content-Type to application/octet-stream by default #1124

- Deprecate debug parameter from app.make_handler(), use
`Application(debug=True)` instead #1121

- Remove fragment string in request path #846

- Use aiodns.DNSResolver.gethostbyname() if available #1136


0.22.5 (08-02-2016)
-------------------

- Pin miltidict version to >=1.2.2

0.22.3 (07-26-2016)
-------------------

- Do not filter cookies if unsafe flag provided #1005


0.22.2 (07-23-2016)
-------------------

- Suppress CancelledError when Timeout raises TimeoutError #970

- Don't expose `aiohttp.__version__`

- Add unsafe parameter to CookieJar #968

- Use unsafe cookie jar in test client tools

- Expose aiohttp.CookieJar name


0.22.1 (07-16-2016)
-------------------

- Large cookie expiration/max-age doesn't break an event loop from now
(fixes #967)


0.22.0 (07-15-2016)
-------------------

- Fix bug in serving static directory #803

- Fix command line arg parsing #797

- Fix a documentation chapter about cookie usage #790

- Handle empty body with gzipped encoding #758

- Support 451 Unavailable For Legal Reasons http status #697

- Fix Cookie share example and few small typos in docs #817

- UrlDispatcher.add_route with partial coroutine handler #814

- Optional support for aiodns #728

- Add ServiceRestart and TryAgainLater websocket close codes #828

- Fix prompt message for `web.run_app` #832

- Allow to pass None as a timeout value to disable timeout logic #834

- Fix leak of connection slot during connection error #835

- Gunicorn worker with uvloop support `aiohttp.worker.GunicornUVLoopWebWorker` #878

- Don't send body in response to HEAD request #838

- Skip the preamble in MultipartReader #881

- Implement BasicAuth decode classmethod. #744

- Don't crash logger when transport is None #889

- Use a create_future compatibility wrapper instead of creating
Futures directly #896

- Add test utilities to aiohttp #902

- Improve Request.__repr__ #875

- Skip DNS resolving if provided host is already an ip address #874

- Add headers to ClientSession.ws_connect #785

- Document that server can send pre-compressed data #906

- Don't add Content-Encoding and Transfer-Encoding if no body #891

- Add json() convenience methods to websocket message objects #897

- Add client_resp.raise_for_status() #908
- Drop `TestClient.app` property, use `TestClient.server.app` instead
(BACKWARD INCOMPATIBLE)

- Implement cookie filter #799
- Drop `TestClient.handler` property, use `TestClient.server.handler` instead
(BACKWARD INCOMPATIBLE)

- Include an example of middleware to handle error pages #909
- `TestClient.server` property returns a test server instance, was
`asyncio.AbstractServer` (BACKWARD INCOMPATIBLE)

- Fix error handling in StaticFileMixin #856
- Follow gunicorn's signal semantics in `Gunicorn[UVLoop]WebWorker` #1201

- Add mocked request helper #900
- Call worker_int and worker_abort callbacks in
`Gunicorn[UVLoop]WebWorker` #1202

- Fix empty ALLOW Response header for cls based View #929
- Has functional tests for client proxy #1218

- Respect CONNECT method to implement a proxy server #847
- Fix bugs with client proxy target path and proxy host with port #1413

- Add pytest_plugin #914
- Fix bugs related to the use of unicode hostnames #1444

- Add tutorial
- Preserve cookie quoting/escaping #1453

- Add backlog option to support more than 128 (default value in
"create_server" function) concurrent connections #892
- FileSender will send gzipped response if gzip version available #1426

- Allow configuration of header size limits #912
- Don't override `Content-Length` header in `web.Response` if no body
was set #1400

- Separate sending file logic from StaticRoute dispatcher #901
- Introduce `router.post_init()` for solving #1373

- Drop deprecated share_cookies connector option (BACKWARD INCOMPATIBLE)
- Fix raise error in case of multiple calls of `TimeServive.stop()`

- Drop deprecated support for tuple as auth parameter.
Use aiohttp.BasicAuth instead (BACKWARD INCOMPATIBLE)
- Allow to raise web exceptions on router resolving stage #1460

- Remove deprecated `request.payload` property, use `content` instead.
(BACKWARD INCOMPATIBLE)
- Add a warning for session creation outside of coroutine #1468

- Drop all mentions about api changes in documentation for versions
older than 0.16
- Avoid a race when application might start accepting incoming requests
but startup signals are not processed yet e98e8c6

- Allow to override default cookie jar #963
- Raise a `RuntimeError` when trying to change the status of the HTTP response
after the headers have been sent #1480

- Add manylinux wheel builds
- Fix bug with https proxy acquired cleanup #1340

- Dup a socket for sendfile usage #964
- Use UTF-8 as the default encoding for multipart text parts #1484
4 changes: 3 additions & 1 deletion CONTRIBUTING.rst
Expand Up @@ -20,7 +20,7 @@ Workflow is pretty straightforward:

4. Commit changes to own aiohttp clone

5. Make pull request from github page for your clone
5. Make pull request from github page for your clone against master branch

.. note::
If your PR has long history or many commits
Expand All @@ -39,13 +39,15 @@ If you like to use *virtualenv* please run:
$ cd aiohttp
$ virtualenv --python=`which python3` venv
$ . venv/bin/activate
For standard python *venv*:

.. code-block:: shell
$ cd aiohttp
$ python3 -m venv venv
$ . venv/bin/activate
For *virtualenvwrapper* (my choice):

Expand Down

0 comments on commit 5e389af

Please sign in to comment.