3.4 KiB
Version 23.3.0
Features
-
#2545 Standardize init of exceptions for more consistent control of HTTP responses using exceptions
-
#2606 Decode headers as UTF-8 also in ASGI
-
#2646 Separate ASGI request and lifespan callables
-
#2659 Use
FALLBACK_ERROR_FORMATfor handlers that returnempty() -
#2662 Add basic file browser (HTML page) and auto-index serving
-
#2667 Nicer traceback formatting (HTML page)
-
#2668 Smarter error page rendering format selection; more reliant upon header and "common sense" defaults
-
#2680 Check the status of socket before shutting down with
SHUT_RDWR -
#2687 Refresh
Request.acceptfunctionality to be more performant and spec-compliant -
#2696 Add header accessors as properties
Example-Field: Foo, Bar Example-Field: Bazrequest.headers.example_field == "Foo, Bar,Baz" -
#2700 Simpler CLI targets
$ sanic path.to.module:app # global app instance $ sanic path.to.module:create_app # factory pattern $ sanic ./path/to/directory/ # simple serve -
#2701 API to define a number of workers in managed processes
-
#2704 Add convenience for dynamic changes to routing
-
#2706 Add convenience methods for cookie creation and deletion
response = text("...") response.add_cookie("test", "It worked!", domain=".yummy-yummy-cookie.com") -
#2707 Simplified
parse_content_headerescaping to be RFC-compliant and remove outdated FF hack -
#2710 Stricter charset handling and escaping of request URLs
-
#2711 Consume body on
DELETEby default -
#2719 Allow
passwordto be passed to TLS context -
#2720 Skip middleware on
RequestCancelled -
#2721 Change access logging format to
%s -
#2722 Add
CertLoaderas application option for directly controllingSSLContextobjects -
#2725 Worker sync state tolerance on race condition
Bugfixes
- #2651 ASGI websocket to pass thru bytes as is
- #2697 Fix comparison between datetime aware and naive in
filewhen usingIf-Modified-Since
Deprecations and Removals
- #2666 Remove deprecated
__blueprintname__property
Improved Documentation
- #2712 Improved example using
'https'to create the redirect