Skip to content

Releases: sanic-org/sanic

Fix gunicorn worker, Update token attribute, etc.

24 Apr 18:47
Compare
Choose a tag to compare

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

14 Apr 19:03
Compare
Choose a tag to compare

Quick release to fix a security flaw found by @yeahx in issue #633

Websockets, Streaming content, Gunicorn Worker

11 Apr 21:07
Compare
Choose a tag to compare

To see the exhaustive list of pull requests included in this release see:
https://github.com/channelcat/sanic/milestone/6?closed=1

Highlights

Fix pip installation, Fix minor routing issue

28 Feb 14:57
Compare
Choose a tag to compare

Highlights

  • Fixes issue #492, where users could not install the pip package with older versions of setuptools
  • Fixes issue #494, where multiple handlers with the same route would not be registered correctly to the router.

Test Clients, Content Range, Event Listeners, Coverage, Ensure Future, Request Now includes an App object!

25 Feb 19:52
Compare
Choose a tag to compare

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.

09 Feb 01:26
Compare
Choose a tag to compare

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

28 Jan 01:47
Compare
Choose a tag to compare

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.

14 Jan 17:31
Compare
Choose a tag to compare

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:

  • Finishing up WSGI compliance (Maybe looking into ASGI compliance as well)
  • Working to finish up live reload as highlighted in #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

Bug Fixes, Various Error Handling Improvements

25 Dec 02:59
Compare
Choose a tag to compare

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

Adding HTTPMethodView

29 Nov 22:07
Compare
Choose a tag to compare

Changelog:

  • Added HTTPMethodView #167
  • Added shared request storage #163
  • Changed request timeout process #172
  • Provide a default app name #159