From c3d6da4345279ba66a0c8c424ea8062d2caf3956 Mon Sep 17 00:00:00 2001 From: Adam Hopkins Date: Wed, 30 Mar 2022 09:42:51 +0300 Subject: [PATCH 1/2] Bump version and 22.3 changelog --- docs/sanic/changelog.rst | 1 + sanic/__version__.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sanic/changelog.rst b/docs/sanic/changelog.rst index 3bcb03d214..d810075abe 100644 --- a/docs/sanic/changelog.rst +++ b/docs/sanic/changelog.rst @@ -1,6 +1,7 @@ 📜 Changelog ============ +.. mdinclude:: ./releases/22/22.3.md .. mdinclude:: ./releases/21/21.12.md .. mdinclude:: ./releases/21/21.9.md .. include:: ../../CHANGELOG.rst diff --git a/sanic/__version__.py b/sanic/__version__.py index 30861f8db8..847ff8e612 100644 --- a/sanic/__version__.py +++ b/sanic/__version__.py @@ -1 +1 @@ -__version__ = "22.3.0.dev1" +__version__ = "22.3.0" From 335a905d74749a5ccabd7d8a46df57161e0f28a4 Mon Sep 17 00:00:00 2001 From: Adam Hopkins Date: Wed, 30 Mar 2022 10:17:35 +0300 Subject: [PATCH 2/2] Add v22 changelog --- docs/sanic/releases/22/22.3.md | 52 ++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 docs/sanic/releases/22/22.3.md diff --git a/docs/sanic/releases/22/22.3.md b/docs/sanic/releases/22/22.3.md new file mode 100644 index 0000000000..0a890eed68 --- /dev/null +++ b/docs/sanic/releases/22/22.3.md @@ -0,0 +1,52 @@ +## Version 22.3.0 + +### Features +- [#2347](https://github.com/sanic-org/sanic/pull/2347) API for multi-application server + - 🚨 *BREAKING CHANGE*: The old `sanic.worker.GunicornWorker` has been **removed**. To run Sanic with `gunicorn`, you should use it thru `uvicorn` [as described in their docs](https://www.uvicorn.org/#running-with-gunicorn). + - 🧁 *SIDE EFFECT*: Named background tasks are now supported, even in Python 3.7 +- [#2357](https://github.com/sanic-org/sanic/pull/2357) Parse `Authorization` header as `Request.credentials` +- [#2361](https://github.com/sanic-org/sanic/pull/2361) Add config option to skip `Touchup` step in application startup +- [#2372](https://github.com/sanic-org/sanic/pull/2372) Updates to CLI help messaging +- [#2382](https://github.com/sanic-org/sanic/pull/2382) Downgrade warnings to backwater debug messages +- [#2396](https://github.com/sanic-org/sanic/pull/2396) Allow for `multidict` v0.6 +- [#2401](https://github.com/sanic-org/sanic/pull/2401) Upgrade CLI catching for alternative application run types +- [#2402](https://github.com/sanic-org/sanic/pull/2402) Conditionally inject CLI arguments into factory +- [#2413](https://github.com/sanic-org/sanic/pull/2413) Add new start and stop event listeners to reloader process +- [#2414](https://github.com/sanic-org/sanic/pull/2414) Remove loop as required listener arg +- [#2415](https://github.com/sanic-org/sanic/pull/2415) Better exception for bad URL parsing +- [sanic-routing#47](https://github.com/sanic-org/sanic-routing/pull/47) Add a new extention parameter type: ``, ``, ``, ``, ``, `` + - 👶 *BETA FEATURE*: This feature will not work with `path` type matching, and is being released as a beta feature only. +- [sanic-routing#57](https://github.com/sanic-org/sanic-routing/pull/57) Change `register_pattern` to accept a `str` or `Pattern` +- [sanic-routing#58](https://github.com/sanic-org/sanic-routing/pull/58) Default matching on non-empty strings only, and new `strorempty` pattern type + - 🚨 *BREAKING CHANGE*: Previously a route with a dynamic string parameter (`/` or `/`) would match on any string, including empty strings. It will now **only** match a non-empty string. To retain the old behavior, you should use the new parameter type: `/`. + +### Bugfixes +- [#2373](https://github.com/sanic-org/sanic/pull/2373) Remove `error_logger` on websockets +- [#2381](https://github.com/sanic-org/sanic/pull/2381) Fix newly assigned `None` in task registry +- [sanic-routing#52](https://github.com/sanic-org/sanic-routing/pull/52) Add type casting to regex route matching +- [sanic-routing#60](https://github.com/sanic-org/sanic-routing/pull/60) Add requirements check on regex routes (this resolves, for example, multiple static directories with differing `host` values) + +### Deprecations and Removals +- [#2362](https://github.com/sanic-org/sanic/pull/2362) 22.3 Deprecations and changes + 1. `debug=True` and `--debug` do _NOT_ automatically run `auto_reload` + 2. Default error render is with plain text (browsers still get HTML by default because `auto` looks at headers) + 3. `config` is required for `ErrorHandler.finalize` + 4. `ErrorHandler.lookup` requires two positional args + 5. Unused websocket protocol args removed +- [#2344](https://github.com/sanic-org/sanic/pull/2344) Deprecate loading of lowercase environment variables + +### Developer infrastructure +- [#2363](https://github.com/sanic-org/sanic/pull/2363) Revert code coverage back to Codecov +- [#2405](https://github.com/sanic-org/sanic/pull/2405) Upgrade tests for `sanic-routing` changes +- [sanic-testing#35](https://github.com/sanic-org/sanic-testing/pull/35) Allow for httpx v0.22 + +### Improved Documentation +- [#2350](https://github.com/sanic-org/sanic/pull/2350) Fix link in README for ASGI +- [#2398](https://github.com/sanic-org/sanic/pull/2398) Document middleware on_request and on_response +- [#2409](https://github.com/sanic-org/sanic/pull/2409) Add missing documentation for `Request.respond` + +### Miscellaneous +- [#2376](https://github.com/sanic-org/sanic/pull/2376) Fix typing for `ListenerMixin.listener` +- [#2383](https://github.com/sanic-org/sanic/pull/2383) Clear deprecation warning in `asyncio.wait` +- [#2387](https://github.com/sanic-org/sanic/pull/2387) Cleanup `__slots__` implementations +- [#2390](https://github.com/sanic-org/sanic/pull/2390) Clear deprecation warning in `asyncio.get_event_loop`