Version 22.6.0
Features
- #2378 Introduce HTTP/3 and autogeneration of TLS certificates in
DEBUG
mode- 👶 EARLY RELEASE FEATURE: Serving Sanic over HTTP/3 is an early release feature. It does not yet fully cover the HTTP/3 spec, but instead aims for feature parity with Sanic's existing HTTP/1.1 server. Websockets, WebTransport, push responses are examples of some features not yet implemented.
- 📦 EXTRA REQUIREMENT: Not all HTTP clients are capable of interfacing with HTTP/3 servers. You may need to install a HTTP/3 capable client.
- 📦 EXTRA REQUIREMENT: In order to use TLS autogeneration, you must install either mkcert or trustme.
- #2416 Add message to
task.cancel
- #2420 Add exception aliases for more consistent naming with standard HTTP response types (
BadRequest
,MethodNotAllowed
,RangeNotSatisfiable
) - #2432 Expose ASGI
scope
as a property on theRequest
object - #2438 Easier access to websocket class for annotation:
from sanic import Websocket
- #2439 New API for reading form values with options:
Request.get_form
- #2445 Add custom
loads
function - #2447, #2486 Improved API to support setting cache control headers
- #2453 Move verbosity filtering to logger
- #2475 Expose getter for current request using
Request.get_current()
Bugfixes
- #2448 Fix to allow running with
pythonw.exe
or places where there is nosys.stdout
- #2451 Trigger
http.lifecycle.request
signal in ASGI mode - #2455 Resolve typing of stacked route definitions
- #2463 Properly catch websocket CancelledError in websocket handler in Python 3.7
Deprecations and Removals
- #2487 v22.6 deprecations and changes
- Optional application registry
- Execution of custom handlers after some part of response was sent
- Configuring fallback handlers on the
ErrorHandler
- Custom
LOGO
setting sanic.response.stream
AsyncioServer.init
Developer infrastructure
Improved Documentation
- #2461 Update example to match current application naming standards
- #2466 Better type annotation for
Extend
- #2485 Improved help messages in CLI
New Contributors
- @azimovMichael made their first contribution in #2432
- @amitay87 made their first contribution in #2461
- @zozzz made their first contribution in #2451
- @kijk2869 made their first contribution in #2466
- @timmo001 made their first contribution in #2448
Full Changelog: v22.3.1...v22.6.0