Releases: sanic-org/sanic
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
Highlights
- New contributing rules are now present for all incoming PR's
- Now allow unknown status codes per #643 (Thanks to @aryeh)
- Fix absolute path bug for static files #647
- Fix signals being shared amongst multiple Sanic apps #652 (Thanks to @38elements)
- Fix duplicate signal settings for gunicorn worker #655
- Update token attribute to function with/without
Token:
prefix #656 - Allow disabling of keep-alive functionality through config/environment variable. #646
Fixes static file security hole
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
Highlights
- Allow a socket to be passed even when not multiprocessing #506 (Thanks to @zenixls2)
- Websockets! #469 (Thanks to @miguelgrinberg)
- Streaming content handlers #473 (Thanks to @subyraman)
- A gunicorn worker! #545 (Thanks to @messense)
- Setting configurations through environment variables #573
- Adding a way to pass in a custom request class #622 (Thanks to @aryeh)
Fix pip installation, Fix minor routing issue
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
Highlights
- Content range (HTTP 1.1 feature) #378 (Thanks to @aquacash5)
- Added a loop property to app class for easier access #409 (Thanks to @r0fls)
- Middleware decorators now take explicit args #406 (Thanks to @agoose77)
- uvloop is now a soft dependency for Windows users #402 (Thanks to @agoose77)
- Event listeners (like `before_start, after_start etc.) are now handled through decorators #408 (Thanks to @agoose77)
- Ensure future added as a way to ensure execution of functions after an app starts #411 (Thanks to @r0fls)
- CompositionView now has tests! #416 (Thanks to @subyraman)
- Blueprints now support adding HTTPMethodView as routes #424 (Thanks to @growingdever)
- App object now has a flask-like
test_client
property #431 (Thanks to @subyraman) - Request object now includes
app
which acts as the currently running app #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.
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
Highlights
- #199 Add methods to load configs from a file (Thanks to @Tim-Erwin)
- #362 We're on readthedocs! (Thanks to @channelcat)
- #360 Fixed dynamic route overloading
- #387 Added
url_for
method (Thanks to @subyraman)
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
Highlights
- Added in redirect method (#294, thanks to @pcdinh and @subyraman)
- Added rich HTML tracebacks for debug mode (#291, thanks to @subyraman)
- Fixes a write_error loop that could lead to stack overflows (#309, #307, #241)
- Route overloading! Multiple functions for different methods of routes! (#311, thanks to @youknowone)
- Greatly improved documentation along with sphinx compatibility (#229, thanks to @kdelwat)
- Function decorators now have `['GET'] as the default method (#316, thanks to @youknowone)
- Removed the multidict requirement with our own implementation of CIDict (#302, #328)
- Added an async run function to the app (#348)
- Removed loop as an argument for the app (#335)
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
Highlights:
- Multiprocessing fix #276 (Thank you to @r0fls)
- Updates to class based views to make them thread safe #274 (Thank you to @AntonDnepr)
- Adding support for virtual hosts through the main application and blueprints #285, #287
- Added methods to remove routes from api/router #243 (Thanks to @dutradda)
Next up on the table:
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
Changes:
- 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