Features
- #2569 Add
JSONResponse
class with some convenient methods when updating a response object - #2598 Change
uvloop
requirement to>=0.15.0
- #2609 Add compatibility with
websockets
v11.0 - #2610 Kill server early on worker error
- Raise deadlock timeout to 30s
- #2617 Scale number of running server workers
- #2621 #2634 Send
SIGKILL
on subsequentctrl+c
to force worker exit - #2622 Add API to restart all workers from the multiplexer
- #2624 Default to
spawn
for all subprocesses unless specifically set:from sanic import Sanic Sanic.start_method = "fork"
- #2625 Filename normalisation of form-data/multipart file uploads
- #2626 Move to HTTP Inspector:
- Remote access to inspect running Sanic instances
- TLS support for encrypted calls to Inspector
- Authentication to Inspector with API key
- Ability to extend Inspector with custom commands
- #2632 Control order of restart operations
- #2633 Move reload interval to class variable
- #2636 Add
priority
toregister_middleware
method - #2639 Add
unquote
toadd_route
method - #2640 ASGI websockets to receive
text
orbytes
Bugfixes
- #2607 Force socket shutdown before close to allow rebinding
- #2590 Use actual
StrEnum
in Python 3.11+ - #2615 Ensure middleware executes only once per request timeout
- #2627 Crash ASGI application on lifespan failure
- #2635 Resolve error with low-level server creation on Windows
Deprecations and Removals
- #2608 #2630 Signal conditions and triggers saved on
signal.extra
- #2626 Move to HTTP Inspector
- 🚨 BREAKING CHANGE: Moves the Inspector to a Sanic app from a simple TCP socket with a custom protocol
- DEPRECATE: The
--inspect*
commands have been deprecated in favor ofinspect ...
commands
- #2628 Replace deprecated
distutils.strtobool
Developer infrastructure
- #2612 Add CI testing for Python 3.11
Full Changelog: v22.9.1...v22.12.0