Skip to content

Releases: sanic-org/sanic

v19.6.0

21 Jun 05:19
891f99d
Compare
Choose a tag to compare

Sanic 19.6.0 is a standard release based on the CalVer versioning adopted in 2018.

Changes:
#1475 ASGI support (Beta)
#1436 Add Configure support from object string
#1544 Drop dependency on distutil
#1562 Switch to use request-async for test_client from aiohttp

Fixes:
#1587 Add missing handler for Expect header.
#1560 Allow to disable Transfer-Encoding: chunked.
#1558 Fix graceful shutdown.
#1594 Fix strict slashes behavior.

Deprecations:
#1568 Deprecate route removal.
#1562 Drop Python3.5 support.

v19.03.1

23 Mar 02:50
dab802f
Compare
Choose a tag to compare

A re-do of the 19.03 release

19.3 - Standard

17 Mar 19:15
Compare
Choose a tag to compare

Sanic 19.3 is a standard release based on the CalVer versioning adopted in 2018.

Changes:
#1502 Remove current_time prefetch
#1499 Add Route Resolution Benchmarking to Unit Test
#1497 Recognizes non-ASCII filenames in RFC 2231, and suport filename length is zero for multipart/form-data.
#1489 Added "databases" (documentation)
#1487 Remove deleted repo from extensions list
#1484 Enforce Datetime Type for Expires on Set-Cookie
#1483 Add sanic-zipkin to extensions list
#1482 Add stream support for bp.add_route()
#1481 Allow negative int/number in path
#1478 Upgrade setuptools version and use native docutils in doc build
#1472 Remove unwanted None check for repr in Request class
#1470 make Sanic.create_server return an asyncio.Server

Fixes:
#1516 Fix typo at the exception documentation
#1515 fix linter issue causing travis build failures (fix #1514)
#1510 fix typo in Asyncio example
#1501 Fix the auto_reloader to work when the executable was launched with a module
#1490 Fix python version in doc build
#1486 did you mean specific? (documentation typo)
#1477 Fix grammar in README.md
#1476 add Request.not_grouped_args, deprecation warning Request.raw_args deprecation idea discussion
#1464 Upgrade pytest, and fix caplog unit tests

18.12 Long Term Support

27 Dec 20:07
aa7f275
Compare
Choose a tag to compare
  • Changes:

    • Improved codebase test coverage from 81% to 91%.
    • Added stream_large_files and host examples in static_file document
    • Added methods to append and finish body content on Request (#1379)
    • Integrated with .appveyor.yml for windows ci support
    • Added documentation for AF_INET6 and AF_UNIX socket usage
    • Adopt black/isort for codestyle
    • Cancel task when connection_lost
    • Simplify request ip and port retrieval logic
    • Handle config error in load config file.
    • Integrate with codecov for CI
    • Add missed documentation for config section.
    • Deprecate Handler.log
    • Pinned httptools requirement to version 0.0.10+
  • Fixes:

    • Fix remove_entity_headers helper function (#1415)
    • Fix TypeError when use Blueprint.group() to group blueprint with default url_prefix, Use os.path.normpath to avoid invalid url_prefix like api//v1
      f8a6af1 Rename the http module to helpers to prevent conflicts with the built-in Python http library (fixes #1323)
    • Fix unittests on windows
    • Fix Namespacing of sanic logger
    • Fix missing quotes in decorator example
    • Fix redirect with quoted param
    • Fix doc for latest blueprint code
    • Fix build of latex documentation relating to markdown lists
    • Fix loop exception handling in app.py
    • Fix content length mismatch in windows and other platform
    • Fix Range header handling for static files (#1402)
    • Fix the logger and make it work (#1397)
    • Fix type pikcle->pickle in multiprocessing test
    • Fix pickling blueprints Change the string passed in the "name" section of the namedtuples in Blueprint to match the name of the Blueprint module attribute name. This allows blueprints to be pickled and unpickled, without errors, which is a requirment of running Sanic in multiprocessing mode in Windows. Added a test for pickling and unpickling blueprints Added a test for pickling and unpickling sanic itself Added a test for enabling multiprocessing on an app with a blueprint (only useful to catch this bug if the tests are run on Windows).
    • Fix document for logging

0.8.0: Merge pull request #1292 from seemethere/increment_080

17 Aug 18:53
a87934d
Compare
Choose a tag to compare

Logging refactors, Websocket Refactors, Various bug fixes

06 Dec 03:27
21435c1
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/12?closed=1

Highlights

  • Fixed a bug where trigger_events didn't actually trigger events in async create_server #885 (Thanks to @yunstanford)
  • Changed strict_slashes to be True by default #900 (Thanks to @yunstanford)
  • Changed Unauthorized exception __init__ to be more like the rest of the exceptions #914 (Thanks to @CharAct3)
  • Added an option to define a name for a route #901 (Thanks to @lixxu)
  • Made the prefixes for the environment variables configurable #931 (Thanks to @Tim-Erwin)
  • Fixed windows support where syslog raises an ImportError #947 (Thanks to @lanfon72)
  • Added support for vhosts in static routes #953 (Thanks to @r0fls)
  • Split RequestTimeout, ResponseTimeout, and KeepAliveTimeout into different timeouts #939 (Thanks to @ashleysommer)
  • Fixed Connection lost before response written #965 (Thanks to @samael500)
  • SanicTestClient now gets its own port #1008 (Thanks to @youknowone)

Streaming Requests, File streams, Gunicorn Worker Recycling etc.

03 Aug 02:25
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/10?closed=1

Highlights

  • Fix error where transport.get_extra_info returned None #717
  • Remove uvloop requirement for gunicorn worker #719
  • Fix error where request.token() would fail if Authorization headers were not provided #731
  • Added an abort function to easily exit out of route handlers #740
  • Added a file_stream response handler #733
  • Add support for streaming large static files #734
  • Added streaming requests #697
  • Added websocket max_size and max_queue configuration #748
  • Fixed test client not working with HTTP2 #809
  • Added match_info property to request class #802
  • Added support for recycling the gunicorn worker #800
  • Added an Unauthorized exception #813
  • Added a Forbidden exception #814
  • Added a graceful timeout when shutdown #815

Removing some things, Adding an access log

09 May 00:46
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/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.

Highlights

  • Fix ImportError not preserved in __main__.py #665 (Thanks to @pyx)
  • Removed an un-needed if statement #662 (Thanks to @rsrdesarrollo)
  • Create an access log #625 (Thanks to @zenixls2)
  • Correctly kill child processes #668
  • Added full exception chain rendering #677 (Thanks to @abuckenheimer)
  • Remove the things we said we were going to remove #681 #686 (Thanks to @38elements)
  • Actually have the README show up correctly on PyPI (hopefully) (Thanks to @graingert)

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