This commit is contained in:
lixxu 2017-07-13 08:43:37 +08:00
commit daeef0a428
21 changed files with 204 additions and 4 deletions

View File

@ -25,6 +25,7 @@ Guides
sanic/deploying sanic/deploying
sanic/extensions sanic/extensions
sanic/contributing sanic/contributing
sanic/releases_notes
Module Documentation Module Documentation
@ -33,4 +34,5 @@ Module Documentation
.. toctree:: .. toctree::
* :ref:`genindex` * :ref:`genindex`
* :ref:`modindex`
* :ref:`search` * :ref:`search`

View File

@ -0,0 +1,3 @@
# v0.1.2 (2016-10-16)
- 0.1.2

View File

@ -0,0 +1,3 @@
# v0.1.3 (2016-10-16)
- 0.1.3

View File

@ -0,0 +1,3 @@
# v0.1.4 (2016-10-18)
- multiprocessing

View File

@ -0,0 +1,10 @@
# v0.1.5 (2016-10-23)
- Cookies
- Blueprint listeners and ordering
- Faster Router
- Fix: Incomplete file reads on medium+ sized post requests
### Breaking:
- `after_start` and `before_stop` now pass sanic as their first argument. Current event listeners will need to be updated to accept the new argument

View File

@ -0,0 +1,5 @@
# v0.1.6 (2016-10-25)
## Merge pull request [#110](https://github.com/channelcat/sanic/issues/110) from channelcat/cookies-lazy-creation
- Lazy cookie creation

View File

@ -0,0 +1,6 @@
# v0.1.7 (2016-10-25)
## Static files
- Static file support
- Lazy Cookie Setting (slight speed improvement when not setting cookies)

View File

@ -0,0 +1,8 @@
# v0.1.8 (2016-11-30)
## Adding HTTPMethodView
- Added HTTPMethodView [#167](https://github.com/channelcat/sanic/issues/167)
- Added shared request storage [#163](https://github.com/channelcat/sanic/issues/163)
- Changed request timeout process [#172](https://github.com/channelcat/sanic/issues/172)
- Provide a default app name [#159](https://github.com/channelcat/sanic/issues/159)

View File

@ -0,0 +1,9 @@
# v0.1.9 (2016-12-25)
## Bug Fixes, Various Error Handling Improvements
PR's included in the milestone can be found here: [https://github.com/channelcat/sanic/milestone/1?closed=1](https://github.com/channelcat/sanic/milestone/1?closed=1)
- Addition of Python 3.6 to tox tests and travis tests (We will eventually be using the tox.ini as our main travis testing script as well)
- New raising of error if an invalid response is returned
- Add in a way to encode objects that are un-encodable in response objects

View File

@ -0,0 +1,18 @@
# v0.2.0 (2017-01-15)
## Multi-worker Fix, Virtual Hosts support, etc.
This pull request encompasses a lot of bug fixes among other things.
To see the exhaustive list visit: [https://github.com/channelcat/sanic/milestone/2?closed=1](https://github.com/channelcat/sanic/milestone/2?closed=1)
- Multiprocessing fix [#276](https://github.com/channelcat/sanic/issues/276) (Thank you to @r0fls)
- Updates to class based views to make them thread safe [#274](https://github.com/channelcat/sanic/issues/274) (Thank you to @AntonDnepr)
- Adding support for virtual hosts through the main application and blueprints [#285](https://github.com/channelcat/sanic/issues/285), [#287](https://github.com/channelcat/sanic/issues/287)
- Added methods to remove routes from api/router [#243](https://github.com/channelcat/sanic/issues/243) (Thanks to @dutradda)
### Next up on the table:
- Finishing up WSGI compliance (Maybe looking into ASGI compliance as well)
- Working to finish up live reload as highlighted in [#168](https://github.com/channelcat/sanic/issues/168) (We have a prototype but it's not as efficient as I'd like it to be)
- Moving our documentation to Sphinx and publishing to readthedocs as highlighted in [#229](https://github.com/channelcat/sanic/issues/229)

View File

@ -0,0 +1,17 @@
# v0.3.0 (2017-01-28)
## Redirect, HTML Tracebacks, No more stack overflows (Hopefully), Route Overloading
New features galore!
To see the exhaustive list of pull requests included in this release see: [https://github.com/channelcat/sanic/milestone/3?closed=1](https://github.com/channelcat/sanic/milestone/3?closed=1)
- Added in redirect method ([#294](https://github.com/channelcat/sanic/issues/294), thanks to @pcdinh and @subyraman)
- Added rich HTML tracebacks for debug mode ([#291](https://github.com/channelcat/sanic/issues/291), thanks to @subyraman)
- Fixes a write_error loop that could lead to stack overflows ([#309](https://github.com/channelcat/sanic/issues/309), [#307](https://github.com/channelcat/sanic/issues/307), [#241](https://github.com/channelcat/sanic/issues/241))
- Route overloading! Multiple functions for different methods of routes! ([#311](https://github.com/channelcat/sanic/issues/311), thanks to @youknowone)
- Greatly improved documentation along with sphinx compatibility ([#229](https://github.com/channelcat/sanic/issues/229), thanks to @kdelwat)
- Function decorators now have `['GET']` as the default method ([#316](https://github.com/channelcat/sanic/issues/316), thanks to @youknowone)
- Removed the multidict requirement with our own implementation of CIDict ([#302](https://github.com/channelcat/sanic/issues/302), [#328](https://github.com/channelcat/sanic/issues/328))
- Added an async run function to the app ([#348](https://github.com/channelcat/sanic/issues/348))
- Removed loop as an argument for the app ([#335](https://github.com/channelcat/sanic/issues/335))

View File

@ -0,0 +1,11 @@
# v0.3.1 (2017-02-09)
## Dynamic Route Overloading, url_for, Inherited Exceptions, etc.
To see the exhaustive list of pull requests included in this release see:
[https://github.com/channelcat/sanic/milestone/4?closed=1](https://github.com/channelcat/sanic/milestone/4?closed=1)
- [#199](https://github.com/channelcat/sanic/issues/199) Add methods to load configs from a file (Thanks to @Tim-Erwin)
- [#362](https://github.com/channelcat/sanic/issues/362) We're on readthedocs! (Thanks to @channelcat)
- [#360](https://github.com/channelcat/sanic/issues/360) Fixed dynamic route overloading
- [#387](https://github.com/channelcat/sanic/issues/387) Added url_for method (Thanks to @subyraman)

View File

@ -0,0 +1,22 @@
# v0.4.0 (2017-02-26)
## Test Clients, Content Range, Event Listeners, Coverage, Ensure Future, Request Now includes an App object!
To see the exhaustive list of pull requests included in this release see:
[https://github.com/channelcat/sanic/milestone/5?closed=1](https://github.com/channelcat/sanic/milestone/5?closed=1)
- Content range (HTTP 1.1 feature) [#378](https://github.com/channelcat/sanic/issues/378) (Thanks to @aquacash5)
- Added a loop property to app class for easier access [#409](https://github.com/channelcat/sanic/issues/409) (Thanks to @r0fls)
- Middleware decorators now take explicit args [#406](https://github.com/channelcat/sanic/issues/406) (Thanks to @agoose77)
- uvloop is now a soft dependency for Windows users [#402](https://github.com/channelcat/sanic/issues/402) (Thanks to @agoose77)
- Event listeners (like `before_start`, `after_start` etc.) are now handled through decorators [#408](https://github.com/channelcat/sanic/issues/408) (Thanks to @agoose77)
- Ensure future added as a way to ensure execution of functions after an app starts [#411](https://github.com/channelcat/sanic/issues/411) (Thanks to @r0fls)
- CompositionView now has tests! [#416](https://github.com/channelcat/sanic/issues/416) (Thanks to @subyraman)
- Blueprints now support adding HTTPMethodView as routes [#424](https://github.com/channelcat/sanic/issues/424) (Thanks to @growingdever)
- App object now has a flask-like test_client property [#431](https://github.com/channelcat/sanic/issues/431) (Thanks to @subyraman)
- Request object now includes app which acts as the currently running app [#476](https://github.com/channelcat/sanic/issues/476)
### Notes
- This release may be a bit short-lived, we have a number of great pull requests that support features like websockets, HTTP pipelining, streaming content, and http2 support so 0.5.0 may come as early as next week.

View File

@ -0,0 +1,6 @@
# v0.4.1 (2017-02-28)
## Fix pip installation, Fix minor routing issue
- Fixes issue [#492](https://github.com/channelcat/sanic/issues/492), where users could not install the pip package with older versions of setuptools
- Fixes issue [#494](https://github.com/channelcat/sanic/issues/494), where multiple handlers with the same route would not be registered correctly to the router.

View File

@ -0,0 +1,13 @@
# v0.5.0 (2017-04-12)
## Websockets, Streaming content, Gunicorn Worker
To see the exhaustive list of pull requests included in this release see:
[https://github.com/channelcat/sanic/milestone/6?closed=1](https://github.com/channelcat/sanic/milestone/6?closed=1)
- Allow a socket to be passed even when not multiprocessing [#506](https://github.com/channelcat/sanic/issues/506) (Thanks to @zenixls2)
- Websockets! [#469](https://github.com/channelcat/sanic/issues/469) (Thanks to @miguelgrinberg)
- Streaming content handlers [#473](https://github.com/channelcat/sanic/issues/473) (Thanks to @subyraman)
- A gunicorn worker! [#545](https://github.com/channelcat/sanic/issues/545) (Thanks to @messense)
- Setting configurations through environment variables [#573](https://github.com/channelcat/sanic/issues/573)
- Adding a way to pass in a custom request class [#622](https://github.com/channelcat/sanic/issues/622) (Thanks to @aryeh)

View File

@ -0,0 +1,5 @@
# v0.5.1 (2017-04-15)
## Fixes static file security hole
- Quick release to fix a security flaw found by @yeahx in issue [#633](https://github.com/channelcat/sanic/issues/633)

View File

@ -0,0 +1,14 @@
# v0.5.2 (2017-04-25)
## Fix gunicorn worker, Update token attribute, etc.
To see the exhaustive list of pull requests included in this release see:
[https://github.com/channelcat/sanic/milestone/8?closed=1](https://github.com/channelcat/sanic/milestone/8?closed=1)
- New contributing rules are now present for all incoming PR's
- Now allow unknown status codes per [#643](https://github.com/channelcat/sanic/issues/643) (Thanks to @aryeh)
- Fix absolute path bug for static files [#647](https://github.com/channelcat/sanic/issues/647)
- Fix signals being shared amongst multiple Sanic apps [#652](https://github.com/channelcat/sanic/issues/652) (Thanks to @38elements)
- Fix duplicate signal settings for gunicorn worker [#655](https://github.com/channelcat/sanic/issues/655)
- Update token attribute to function with/without Token: prefix [#656](https://github.com/channelcat/sanic/issues/656)
- Allow disabling of keep-alive functionality through config/environment variable. [#646](https://github.com/channelcat/sanic/issues/646)

View File

@ -0,0 +1,3 @@
# v0.5.3 (2017-05-06)
## Merge pull request [#695](https://github.com/channelcat/sanic/issues/695) from kszucs/aiopeewee

View File

@ -0,0 +1,18 @@
# v0.5.4 (2017-05-09)
## Removing some things, Adding an access log
To see the exhaustive list of pull requests included in this release see:
[https://github.com/channelcat/sanic/milestone/9?closed=1](https://github.com/channelcat/sanic/milestone/9?closed=1)
If you're wondering why 0.5.3 exists and there's no change-log for it, the release was actually botched by my error.
Consider 0.5.4 the latest and greatest for sanic.
- Fix ImportError not preserved in __main__.py [#665](https://github.com/channelcat/sanic/issues/665) (Thanks to @pyx)
- Removed an un-needed if statement [#662](https://github.com/channelcat/sanic/issues/662) (Thanks to @rsrdesarrollo)
- Create an access log [#625](https://github.com/channelcat/sanic/issues/625) (Thanks to @zenixls2)
- Correctly kill child processes [#668](https://github.com/channelcat/sanic/issues/668)
- Added full exception chain rendering [#677](https://github.com/channelcat/sanic/issues/677) (Thanks to @abuckenheimer)
- Remove the things we said we were going to remove [#681](https://github.com/channelcat/sanic/issues/681) [#686](https://github.com/channelcat/sanic/issues/686) (Thanks to @38elements)
- Actually have the README show up correctly on PyPI (hopefully) (Thanks to @graingert)

View File

@ -0,0 +1,24 @@
Release Notes
=============
.. toctree::
:maxdepth: 2
releases/v0.5.4
releases/v0.5.3
releases/v0.5.2
releases/v0.5.1
releases/v0.5.0
releases/v0.4.1
releases/v0.4.0
releases/v0.3.1
releases/v0.3.0
releases/v0.2.0
releases/v0.1.9
releases/v0.1.8
releases/v0.1.7
releases/v0.1.6
releases/v0.1.5
releases/v0.1.4
releases/v0.1.3
releases/v0.1.2

View File

@ -2,7 +2,7 @@
Sanic endpoints can be tested locally using the `test_client` object, which Sanic endpoints can be tested locally using the `test_client` object, which
depends on the additional [aiohttp](https://aiohttp.readthedocs.io/en/stable/) depends on the additional [aiohttp](https://aiohttp.readthedocs.io/en/stable/)
library. library.
The `test_client` exposes `get`, `post`, `put`, `delete`, `patch`, `head` and `options` methods The `test_client` exposes `get`, `post`, `put`, `delete`, `patch`, `head` and `options` methods
for you to run against your application. A simple example (using pytest) is like follows: for you to run against your application. A simple example (using pytest) is like follows:
@ -20,8 +20,8 @@ def test_index_put_not_allowed():
assert response.status == 405 assert response.status == 405
``` ```
Internally, each time you call one of the `test_client` methods, the Sanic app is run at `127.0.01:42101` and Internally, each time you call one of the `test_client` methods, the Sanic app is run at `127.0.01:42101` and
your test request is executed against your application, using `aiohttp`. your test request is executed against your application, using `aiohttp`.
The `test_client` methods accept the following arguments and keyword arguments: The `test_client` methods accept the following arguments and keyword arguments:
@ -59,7 +59,7 @@ the available arguments to aiohttp can be found
[in the documentation for ClientSession](https://aiohttp.readthedocs.io/en/stable/client_reference.html#client-session). [in the documentation for ClientSession](https://aiohttp.readthedocs.io/en/stable/client_reference.html#client-session).
# pytest-sanic ## pytest-sanic
[pytest-sanic](https://github.com/yunstanford/pytest-sanic) is a pytest plugin, it helps you to test your code asynchronously. [pytest-sanic](https://github.com/yunstanford/pytest-sanic) is a pytest plugin, it helps you to test your code asynchronously.
Just write tests like, Just write tests like,