diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e0ee0d93..d38dc50b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,9 +1,92 @@ +Version 20.12.0 +=============== + +Features +******** + + * + `#1954 `_ + Fix static routes registration on a blueprint + + * + `#1961 `_ + Add Python 3.9 support + + * + `#1962 `_ + Sanic CLI upgrade + + * + `#1967 `_ + Update aiofile version requirements + + * + `#1969 `_ + Update multidict version requirements + + * + `#1970 `_ + Add py.typed file + + * + `#1972 `_ + Speed optimization in request handler + + * + `#1979 `_ + Add app registry and Sanic class level app retrieval + +Bugfixes +******** + + * + `#1965 `_ + Fix Chunked Transport-Encoding in ASGI streaming response + +Deprecations and Removals +************************* + + * + `#1981 `_ + Cleanup and remove deprecated code + +Developer infrastructure +************************ + + * + `#1956 `_ + Fix load module test + + * + `#1973 `_ + Transition Travis from .org to .com + + * + `#1986 `_ + Update tox requirements + +Improved Documentation +********************** + + * + `#1951 `_ + Documentation improvements + + * + `#1983 `_ + Remove duplicate contents in testing.rst + + * + `#1984 `_ + Fix typo in routing.rst + + Version 20.9.1 =============== Bugfixes ******** - + * `#1954 `_ Fix static route registration on blueprints @@ -17,7 +100,7 @@ Version 19.12.3 Bugfixes ******** - + * `#1959 `_ Removes duplicate headers in ASGI streaming body @@ -37,27 +120,27 @@ Features * `#1894 `_ Automatically set ``test_mode`` flag on app instance - + * - `#1903 `_ + `#1903 `_ Add new unified method for updating app values - + * `#1906 `_, `#1909 `_ Adds WEBSOCKET_PING_TIMEOUT and WEBSOCKET_PING_INTERVAL configuration values - + * `#1935 `_ httpx version dependency updated, it is slated for removal as a dependency in v20.12 * - `#1937 `_ + `#1937 `_ Added auto, text, and json fallback error handlers (in v21.3, the default will change form html to auto) Bugfixes ******** - + * `#1897 `_ Resolves exception from unread bytes in stream @@ -98,7 +181,7 @@ Version 20.6.3 Bugfixes ******** - + * `#1884 `_ Revert change to multiprocessing mode @@ -109,7 +192,7 @@ Version 20.6.2 Features ******** - + * `#1641 `_ Socket binding implemented properly for IPv6 and UNIX sockets @@ -120,7 +203,7 @@ Version 20.6.1 Features ******** - + * `#1760 `_ Add version parameter to websocket routes @@ -131,7 +214,7 @@ Features * `#1880 `_ - Add handler names for websockets for url_for usage + Add handler names for websockets for url_for usage Bugfixes ******** @@ -151,7 +234,7 @@ Bugfixes * `#1848 `_ Reverse named_response_middlware execution order, to match normal response middleware execution order - + * `#1853 `_ Fix pickle error when attempting to pickle an application which contains websocket routes @@ -203,28 +286,28 @@ Version 20.3.0 Features ******** - * + * `#1762 `_ Add ``srv.start_serving()`` and ``srv.serve_forever()`` to ``AsyncioServer`` - * + * `#1767 `_ Make Sanic usable on ``hypercorn -k trio myweb.app`` - * + * `#1768 `_ No tracebacks on normal errors and prettier error pages - * + * `#1769 `_ Code cleanup in file responses - * + * `#1793 `_ and - `#1819 `_ + `#1819 `_ Upgrade ``str.format()`` to f-strings - * + * `#1798 `_ Allow multiple workers on MacOS with Python 3.8 @@ -235,19 +318,19 @@ Features Bugfixes ******** - * + * `#1748 `_ Remove loop argument in ``asyncio.Event`` in Python 3.8 - * + * `#1764 `_ Allow route decorators to stack up again - * + * `#1789 `_ Fix tests using hosts yielding incorrect ``url_for`` - * + * `#1808 `_ Fix Ctrl+C and tests on Windows @@ -261,7 +344,7 @@ Deprecations and Removals * `#1801 `_ Complete deprecation from `#1666 `_ of dictionary context on ``request`` objects. - + * `#1807 `_ Remove server config args that can be read directly from app @@ -284,22 +367,22 @@ Dependencies Developer infrastructure ************************ - * + * `#1833 `_ Resolve broken documentation builds Improved Documentation ********************** - * + * `#1755 `_ Usage of ``response.empty()`` - * + * `#1778 `_ Update README - * + * `#1783 `_ Fix typo @@ -326,7 +409,7 @@ Improved Documentation * `#1834 `_ Order of listeners - + Version 19.12.0 =============== @@ -392,16 +475,16 @@ Version 19.6.2 Features ******** - * + * `#1562 `_ Remove ``aiohttp`` dependency and create new ``SanicTestClient`` based upon `requests-async `_ - * + * `#1475 `_ Added ASGI support (Beta) - * + * `#1436 `_ Add Configure support from object string @@ -409,19 +492,19 @@ Features Bugfixes ******** - * + * `#1587 `_ Add missing handle for Expect header. - * + * `#1560 `_ Allow to disable Transfer-Encoding: chunked. - * + * `#1558 `_ Fix graceful shutdown. - * + * `#1594 `_ Strict Slashes behavior fix @@ -432,11 +515,11 @@ Deprecations and Removals `#1544 `_ Drop dependency on distutil - * + * `#1562 `_ Drop support for Python 3.5 - * + * `#1568 `_ Deprecate route removal. @@ -453,39 +536,39 @@ Version 19.3 Features ******** - * + * `#1497 `_ Add support for zero-length and RFC 5987 encoded filename for multipart/form-data requests. - * + * `#1484 `_ The type of ``expires`` attribute of ``sanic.cookies.Cookie`` is now enforced to be of type ``datetime``. - * + * `#1482 `_ Add support for the ``stream`` parameter of ``sanic.Sanic.add_route()`` available to ``sanic.Blueprint.add_route()``. - * + * `#1481 `_ Accept negative values for route parameters with type ``int`` or ``number``. - * + * `#1476 `_ Deprecated the use of ``sanic.request.Request.raw_args`` - it has a fundamental flaw in which is drops repeated query string parameters. Added ``sanic.request.Request.query_args`` as a replacement for the original use-case. - * + * `#1472 `_ Remove an unwanted ``None`` check in Request class ``repr`` implementation. This changes the default ``repr`` of a Request from ```` to ```` - * + * `#1470 `_ Added 2 new parameters to ``sanic.app.Sanic.create_server``\ : @@ -496,21 +579,21 @@ Features This is a breaking change. - * + * `#1499 `_ Added a set of test cases that test and benchmark route resolution. - * + * `#1457 `_ The type of the ``"max-age"`` value in a ``sanic.cookies.Cookie`` is now enforced to be an integer. Non-integer values are replaced with ``0``. - * + * `#1445 `_ Added the ``endpoint`` attribute to an incoming ``request``\ , containing the name of the handler function. - * + * `#1423 `_ Improved request streaming. ``request.stream`` is now a bounded-size buffer instead of an unbounded queue. Callers must now call @@ -523,7 +606,7 @@ Bugfixes ******** - * + * `#1502 `_ Sanic was prefetching ``time.time()`` and updating it once per second to avoid excessive ``time.time()`` calls. The implementation was observed to @@ -531,25 +614,25 @@ Bugfixes to negligible, so this has been removed. Fixes `#1500 `_ - * + * `#1501 `_ Fix a bug in the auto-reloader when the process was launched as a module i.e. ``python -m init0.mod1`` where the sanic server is started in ``init0/mod1.py`` with ``debug`` enabled and imports another module in ``init0``. - * + * `#1376 `_ Allow sanic test client to bind to a random port by specifying ``port=None`` when constructing a ``SanicTestClient`` - * + * `#1399 `_ Added the ability to specify middleware on a blueprint group, so that all routes produced from the blueprints in the group have the middleware applied. - * + * `#1442 `_ Allow the the use the ``SANIC_ACCESS_LOG`` environment variable to enable/disable the access log when not explicitly passed to ``app.run()``. @@ -591,7 +674,7 @@ Version 18.12 18.12.0 ******* -* +* Changes: @@ -609,7 +692,7 @@ Version 18.12 * Deprecate Handler.log * Pinned httptools requirement to version 0.0.10+ -* +* Fixes: diff --git a/sanic/__version__.py b/sanic/__version__.py index 0d8f82c6..cb74ea5e 100644 --- a/sanic/__version__.py +++ b/sanic/__version__.py @@ -1 +1 @@ -__version__ = "20.9.1" +__version__ = "20.12.0"