Compare commits

...

13 Commits

Author SHA1 Message Date
Adam Hopkins
97635111af Align setup.py 2021-02-16 09:33:48 +02:00
Adam Hopkins
7f3fe40cd4 Bump version 2021-02-16 08:50:35 +02:00
Adam Hopkins
ea34bcd849 Merge branch '20.12LTS' of github.com:sanic-org/sanic into 20.12LTS 2021-02-16 08:43:15 +02:00
Adam Hopkins
05f758583b
Merge pull request #2029 from ashleysommer/tox_requires_2012
Fix tox requirements conflicts for 20.12LTS
2021-02-16 08:37:59 +02:00
Ashley Sommer
760c74a293 Merge remote-tracking branch 'origin/20.12LTS' into tox_requires_2012 2021-02-16 10:31:42 +10:00
Ashley Sommer
9def46beb8 Remove old chardet requirement, add our real multidict requirement 2021-02-16 10:03:40 +10:00
Ashley Sommer
04be8e95a5
Merge pull request #2026 from sanic-org/fix-uvloop-2012
Fix uvloop version for 20.12LTS
2021-02-16 09:23:57 +10:00
Adam Hopkins
78ced20fc7 fix uvloop version 2021-02-15 14:30:57 +02:00
Adam Hopkins
c3003413d3 Bump to version 20.12.1 2021-01-05 18:26:47 +02:00
Adam Hopkins
fe3fdc5d83
#1993 Disable registry (#1994)
* Bump to v20.12 (#1987)

* Bump to v20.12

* Update Changelog

* Add disable app registry

* squash

* Create FUNDING.yml (#1995)
2021-01-05 17:00:25 +02:00
Adam Hopkins
b66fb6f9e8
Merge branch 'master' into 20.12LTS 2020-12-28 23:21:46 +02:00
Adam Hopkins
bf6175fb20 Update Changelog 2020-12-28 23:18:19 +02:00
Adam Hopkins
58ca887be4 Bump to v20.12 2020-12-28 23:11:29 +02:00
8 changed files with 184 additions and 62 deletions

12
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,12 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: sanic-org # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@ -1,3 +1,90 @@
Version 20.12.0
===============
Features
********
*
`#1945 <https://github.com/huge-success/sanic/pull/1945>`_
Static route more verbose if file not found
*
`#1954 <https://github.com/huge-success/sanic/pull/1954>`_
Fix static routes registration on a blueprint
*
`#1961 <https://github.com/huge-success/sanic/pull/1961>`_
Add Python 3.9 support
*
`#1962 <https://github.com/huge-success/sanic/pull/1962>`_
Sanic CLI upgrade
*
`#1967 <https://github.com/huge-success/sanic/pull/1967>`_
Update aiofile version requirements
*
`#1969 <https://github.com/huge-success/sanic/pull/1969>`_
Update multidict version requirements
*
`#1970 <https://github.com/huge-success/sanic/pull/1970>`_
Add py.typed file
*
`#1972 <https://github.com/huge-success/sanic/pull/1972>`_
Speed optimization in request handler
*
`#1979 <https://github.com/huge-success/sanic/pull/1979>`_
Add app registry and Sanic class level app retrieval
Bugfixes
********
*
`#1965 <https://github.com/huge-success/sanic/pull/1965>`_
Fix Chunked Transport-Encoding in ASGI streaming response
Deprecations and Removals
*************************
*
`#1981 <https://github.com/huge-success/sanic/pull/1981>`_
Cleanup and remove deprecated code
Developer infrastructure
************************
*
`#1956 <https://github.com/huge-success/sanic/pull/1956>`_
Fix load module test
*
`#1973 <https://github.com/huge-success/sanic/pull/1973>`_
Transition Travis from .org to .com
*
`#1986 <https://github.com/huge-success/sanic/pull/1986>`_
Update tox requirements
Improved Documentation
**********************
*
`#1951 <https://github.com/huge-success/sanic/pull/1951>`_
Documentation improvements
*
`#1983 <https://github.com/huge-success/sanic/pull/1983>`_
Remove duplicate contents in testing.rst
*
`#1984 <https://github.com/huge-success/sanic/pull/1984>`_
Fix typo in routing.rst
Version 20.9.1 Version 20.9.1
=============== ===============

View File

@ -1 +1 @@
__version__ = "20.9.1" __version__ = "20.12.2"

View File

@ -50,6 +50,7 @@ class Sanic:
strict_slashes=False, strict_slashes=False,
log_config=None, log_config=None,
configure_logging=True, configure_logging=True,
register=None,
): ):
# Get name from previous stack frame # Get name from previous stack frame
@ -88,6 +89,10 @@ class Sanic:
# Register alternative method names # Register alternative method names
self.go_fast = self.run self.go_fast = self.run
if register is not None:
self.config.REGISTER = register
if self.config.REGISTER:
self.__class__.register_app(self) self.__class__.register_app(self)
@property @property

View File

@ -40,6 +40,7 @@ DEFAULT_CONFIG = {
"PROXIES_COUNT": None, "PROXIES_COUNT": None,
"FORWARDED_FOR_HEADER": "X-Forwarded-For", "FORWARDED_FOR_HEADER": "X-Forwarded-For",
"FALLBACK_ERROR_FORMAT": "html", "FALLBACK_ERROR_FORMAT": "html",
"REGISTER": True,
} }

View File

@ -57,7 +57,8 @@ setup_kwargs = {
"author": "Sanic Community", "author": "Sanic Community",
"author_email": "admhpkns@gmail.com", "author_email": "admhpkns@gmail.com",
"description": ( "description": (
"A web server and web framework that's written to go fast. Build fast. Run fast." "A web server and web framework that's written to go fast. "
"Build fast. Run fast."
), ),
"long_description": long_description, "long_description": long_description,
"packages": ["sanic"], "packages": ["sanic"],
@ -80,7 +81,7 @@ env_dependency = (
'; sys_platform != "win32" ' 'and implementation_name == "cpython"' '; sys_platform != "win32" ' 'and implementation_name == "cpython"'
) )
ujson = "ujson>=1.35" + env_dependency ujson = "ujson>=1.35" + env_dependency
uvloop = "uvloop>=0.5.3" + env_dependency uvloop = "uvloop>=0.5.3,<0.15.0" + env_dependency
requirements = [ requirements = [
"httptools>=0.0.10", "httptools>=0.0.10",

View File

@ -3,6 +3,7 @@ import logging
import sys import sys
from inspect import isawaitable from inspect import isawaitable
from os import environ
from unittest.mock import patch from unittest.mock import patch
import pytest import pytest
@ -290,6 +291,7 @@ def test_app_registry_name_reuse():
with pytest.raises(SanicException): with pytest.raises(SanicException):
Sanic("test") Sanic("test")
Sanic.test_mode = True Sanic.test_mode = True
Sanic("test")
def test_app_registry_retrieval(): def test_app_registry_retrieval():
@ -306,3 +308,17 @@ def test_get_app_does_not_exist_force_create():
assert isinstance( assert isinstance(
Sanic.get_app("does-not-exist", force_create=True), Sanic Sanic.get_app("does-not-exist", force_create=True), Sanic
) )
def test_app_no_registry():
Sanic("no-register", register=False)
with pytest.raises(SanicException):
Sanic.get_app("no-register")
def test_app_no_registry_env():
environ["SANIC_REGISTER"] = "False"
Sanic("no-register")
with pytest.raises(SanicException):
Sanic.get_app("no-register")
del environ["SANIC_REGISTER"]

View File

@ -16,7 +16,7 @@ deps =
pytest-dependency pytest-dependency
httpcore==0.11.* httpcore==0.11.*
httpx==0.15.4 httpx==0.15.4
chardet==3.* multidict>=5.0,<6.0
beautifulsoup4 beautifulsoup4
gunicorn==20.0.4 gunicorn==20.0.4
uvicorn uvicorn