21.9 release docs (#2218)

* Beging 21.9 release docs

* Add PRs to changelog

* Change deprecation version

* Update logging tests

* Bump version

* Update changelog
This commit is contained in:
Adam Hopkins 2021-09-30 22:36:34 +03:00 committed by GitHub
parent f7abf3db1b
commit 59dd6814f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 57 additions and 26 deletions

View File

@ -1,3 +1,7 @@
.. note::
From v21.9, CHANGELOG files are maintained in ``./docs/sanic/releases``
Version 21.6.1 Version 21.6.1
-------------- --------------

View File

@ -10,10 +10,8 @@
import os import os
import sys import sys
# Add support for auto-doc
import recommonmark
from recommonmark.transform import AutoStructify # Add support for auto-doc
# Ensure that sanic is present in the path, to allow sphinx-apidoc to # Ensure that sanic is present in the path, to allow sphinx-apidoc to
@ -26,7 +24,7 @@ import sanic
# -- General configuration ------------------------------------------------ # -- General configuration ------------------------------------------------
extensions = ["sphinx.ext.autodoc", "recommonmark"] extensions = ["sphinx.ext.autodoc", "m2r2"]
templates_path = ["_templates"] templates_path = ["_templates"]
@ -162,20 +160,6 @@ autodoc_default_options = {
"member-order": "groupwise", "member-order": "groupwise",
} }
# app setup hook
def setup(app):
app.add_config_value(
"recommonmark_config",
{
"enable_eval_rst": True,
"enable_auto_doc_ref": False,
},
True,
)
app.add_transform(AutoStructify)
html_theme_options = { html_theme_options = {
"style_external_links": False, "style_external_links": False,
} }

View File

@ -1,4 +1,6 @@
📜 Changelog 📜 Changelog
============ ============
.. mdinclude:: ./releases/21.9.md
.. include:: ../../CHANGELOG.rst .. include:: ../../CHANGELOG.rst

View File

@ -1,4 +1,4 @@
♥️ Contributing ♥️ Contributing
============== ===============
.. include:: ../../CONTRIBUTING.rst .. include:: ../../CONTRIBUTING.rst

View File

@ -0,0 +1,40 @@
## Version 21.9
### Features
- [#2158](https://github.com/sanic-org/sanic/pull/2158), [#2248](https://github.com/sanic-org/sanic/pull/2248) Complete overhaul of I/O to websockets
- [#2160](https://github.com/sanic-org/sanic/pull/2160) Add new 17 signals into server and request lifecycles
- [#2162](https://github.com/sanic-org/sanic/pull/2162) Smarter `auto` fallback formatting upon exception
- [#2184](https://github.com/sanic-org/sanic/pull/2184) Introduce implementation for copying a Blueprint
- [#2200](https://github.com/sanic-org/sanic/pull/2200) Accept header parsing
- [#2207](https://github.com/sanic-org/sanic/pull/2207) Log remote address if available
- [#2209](https://github.com/sanic-org/sanic/pull/2209) Add convenience methods to BP groups
- [#2216](https://github.com/sanic-org/sanic/pull/2216) Add default messages to SanicExceptions
- [#2225](https://github.com/sanic-org/sanic/pull/2225) Type annotation convenience for annotated handlers with path parameters
- [#2236](https://github.com/sanic-org/sanic/pull/2236) Allow Falsey (but not-None) responses from route handlers
- [#2238](https://github.com/sanic-org/sanic/pull/2238) Add `exception` decorator to Blueprint Groups
- [#2244](https://github.com/sanic-org/sanic/pull/2244) Explicit static directive for serving file or dir (ex: `static(..., resource_type="file")`)
- [#2245](https://github.com/sanic-org/sanic/pull/2245) Close HTTP loop when connection task cancelled
### Bugfixes
- [#2188](https://github.com/sanic-org/sanic/pull/2188) Fix the handling of the end of a chunked request
- [#2195](https://github.com/sanic-org/sanic/pull/2195) Resolve unexpected error handling on static requests
- [#2208](https://github.com/sanic-org/sanic/pull/2208) Make blueprint-based exceptions attach and trigger in a more intuitive manner
- [#2211](https://github.com/sanic-org/sanic/pull/2211) Fixed for handling exceptions of asgi app call
- [#2213](https://github.com/sanic-org/sanic/pull/2213) Fix bug where ws exceptions not being logged
- [#2231](https://github.com/sanic-org/sanic/pull/2231) Cleaner closing of tasks by using `abort()` in strategic places to avoid dangling sockets
- [#2247](https://github.com/sanic-org/sanic/pull/2247) Fix logging of auto-reload status in debug mode
- [#2246](https://github.com/sanic-org/sanic/pull/2246) Account for BP with exception handler but no routes
### Developer infrastructure
- [#2194](https://github.com/sanic-org/sanic/pull/2194) HTTP unit tests with raw client
- [#2199](https://github.com/sanic-org/sanic/pull/2199) Switch to codeclimate
- [#2214](https://github.com/sanic-org/sanic/pull/2214) Try Reopening Windows Tests
- [#2229](https://github.com/sanic-org/sanic/pull/2229) Refactor `HttpProtocol` into a base class
- [#2230](https://github.com/sanic-org/sanic/pull/2230) Refactor `server.py` into multi-file module
### Miscellaneous
- [#2173](https://github.com/sanic-org/sanic/pull/2173) Remove Duplicated Dependencies and PEP 517 Support
- [#2193](https://github.com/sanic-org/sanic/pull/2193), [#2196](https://github.com/sanic-org/sanic/pull/2196), [#2217](https://github.com/sanic-org/sanic/pull/2217) Type annotation changes

View File

@ -1 +1 @@
__version__ = "21.6.2" __version__ = "21.9.0"

View File

@ -58,7 +58,7 @@ class BaseSanic(
if name not in self.__fake_slots__: if name not in self.__fake_slots__:
warn( warn(
f"Setting variables on {self.__class__.__name__} instances is " f"Setting variables on {self.__class__.__name__} instances is "
"deprecated and will be removed in version 21.9. You should " "deprecated and will be removed in version 21.12. You should "
f"change your {self.__class__.__name__} instance to use " f"change your {self.__class__.__name__} instance to use "
f"instance.ctx.{name} instead.", f"instance.ctx.{name} instead.",
DeprecationWarning, DeprecationWarning,

View File

@ -60,6 +60,7 @@ class Config(dict):
REQUEST_MAX_SIZE: int REQUEST_MAX_SIZE: int
REQUEST_TIMEOUT: int REQUEST_TIMEOUT: int
RESPONSE_TIMEOUT: int RESPONSE_TIMEOUT: int
SERVER_NAME: str
WEBSOCKET_MAX_SIZE: int WEBSOCKET_MAX_SIZE: int
WEBSOCKET_PING_INTERVAL: int WEBSOCKET_PING_INTERVAL: int
WEBSOCKET_PING_TIMEOUT: int WEBSOCKET_PING_TIMEOUT: int

View File

@ -927,7 +927,7 @@ class RouteMixin:
if len(http_response_types) == 1: if len(http_response_types) == 1:
return next(iter(http_response_types)) return next(iter(http_response_types))
except OSError: except (OSError, TypeError):
... ...
return "auto" return "auto"

View File

@ -93,7 +93,7 @@ requirements = [
] ]
tests_require = [ tests_require = [
"sanic-testing>=0.7.0b2", "sanic-testing>=0.7.0",
"pytest==5.2.1", "pytest==5.2.1",
"coverage==5.3", "coverage==5.3",
"gunicorn==20.0.4", "gunicorn==20.0.4",
@ -117,9 +117,9 @@ tests_require = [
docs_require = [ docs_require = [
"sphinx>=2.1.2", "sphinx>=2.1.2",
"sphinx_rtd_theme>=0.4.3", "sphinx_rtd_theme>=0.4.3",
"recommonmark>=0.5.0",
"docutils", "docutils",
"pygments", "pygments",
"m2r2",
] ]
dev_require = tests_require + [ dev_require = tests_require + [

View File

@ -388,7 +388,7 @@ def test_app_set_attribute_warning(app):
assert len(record) == 1 assert len(record) == 1
assert record[0].message.args[0] == ( assert record[0].message.args[0] == (
"Setting variables on Sanic instances is deprecated " "Setting variables on Sanic instances is deprecated "
"and will be removed in version 21.9. You should change your " "and will be removed in version 21.12. You should change your "
"Sanic instance to use instance.ctx.foo instead." "Sanic instance to use instance.ctx.foo instead."
) )

View File

@ -1085,6 +1085,6 @@ def test_bp_set_attribute_warning():
assert len(record) == 1 assert len(record) == 1
assert record[0].message.args[0] == ( assert record[0].message.args[0] == (
"Setting variables on Blueprint instances is deprecated " "Setting variables on Blueprint instances is deprecated "
"and will be removed in version 21.9. You should change your " "and will be removed in version 21.12. You should change your "
"Blueprint instance to use instance.ctx.foo instead." "Blueprint instance to use instance.ctx.foo instead."
) )