Releases: sanic-org/sanic
Releases · sanic-org/sanic
Version 20.12.5
#2366 Upgrade websockets
version - SECURITY UPDATE
Version 21.12.1
Version 21.12.0
Features
- #2260 Allow early Blueprint registrations to still apply later added objects
- #2262 Noisy exceptions - force logging of all exceptions
- #2264 Optional
uvloop
by configuration - #2270 Vhost support using multiple TLS certificates
- #2277 Change signal routing for increased consistency
- BREAKING CHANGE: If you were manually routing signals there is a breaking change. The signal router's
get
is no longer 100% determinative. There is now an additional step to loop thru the returned signals for proper matching on the requirements. If signals are being dispatched usingapp.dispatch
orbp.dispatch
, there is no change.
- BREAKING CHANGE: If you were manually routing signals there is a breaking change. The signal router's
- #2290 Add contextual exceptions
- #2291 Increase join concat performance
- #2295, #2316, #2331 Restructure of CLI and application state with new displays and more command parity with
app.run
- #2302 Add route context at definition time
- #2304 Named tasks and new API for managing background tasks
- #2307 On app auto-reload, provide insight of changed files
- #2308 Auto extend application with Sanic Extensions if it is installed, and provide first class support for accessing the extensions
- #2309 Builtin signals changed to
Enum
- #2313 Support additional config implementation use case
- #2321 Refactor environment variable hydration logic
- #2327 Prevent sending multiple or mixed responses on a single request
- #2330 Custom type casting on environment variables
- #2332 Make all deprecation notices consistent
- #2335 Allow underscore to start instance names
Bugfixes
- #2273 Replace assignation by typing for
websocket_handshake
- #2285 Fix IPv6 display in startup logs
- #2299 Dispatch
http.lifecyle.response
from exception handler
Deprecations and Removals
- #2306 Removal of deprecated items
Sanic
andBlueprint
may no longer have arbitrary properties attached to themSanic
andBlueprint
forced to have compliant names- alphanumeric +
_
+-
- must start with letter or
_
- alphanumeric +
load_env
keyword argument ofSanic
sanic.exceptions.abort
sanic.views.CompositionView
sanic.response.StreamingHTTPResponse
- NOTE: the
stream()
response method (where you pass a callable streaming function) has been deprecated and will be removed in v22.6. You should upgrade all streaming responses to the new style: https://sanicframework.org/en/guide/advanced/streaming.html#response-streaming
- NOTE: the
- #2320 Remove app instance from Config for error handler setting
Developer infrastructure
- #2251 Change dev install command
- #2286 Change codeclimate complexity threshold from 5 to 10
- #2287 Update host test function names so they are not overwritten
- #2292 Fail CI on error
- #2311, #2324 Do not run tests for draft PRs
- #2336 Remove paths from coverage checks
- #2338 Cleanup ports on tests
Improved Documentation
Miscellaneous
Version 21.9.3
Rerelease of v21.9.2 with some cleanup
Version 21.9.2
Version 21.9.1
- #2259 Allow non-conforming ErrorHandlers
Version 20.12.4
- #2129 Unpin uvloop
Version 21.9.0
Version 21.9
Features
- #2158, #2248 Complete overhaul of I/O to websockets
- #2160 Add new 17 signals into server and request lifecycles
- #2162 Smarter
auto
fallback formatting upon exception - #2184 Introduce implementation for copying a Blueprint
- #2200 Accept header parsing
- #2207 Log remote address if available
- #2209 Add convenience methods to BP groups
- #2216 Add default messages to SanicExceptions
- #2225 Type annotation convenience for annotated handlers with path parameters
- #2236 Allow Falsey (but not-None) responses from route handlers
- #2238 Add
exception
decorator to Blueprint Groups - #2244 Explicit static directive for serving file or dir (ex:
static(..., resource_type="file")
) - #2245 Close HTTP loop when connection task cancelled
Bugfixes
- #2188 Fix the handling of the end of a chunked request
- #2195 Resolve unexpected error handling on static requests
- #2208 Make blueprint-based exceptions attach and trigger in a more intuitive manner
- #2211 Fixed for handling exceptions of asgi app call
- #2213 Fix bug where ws exceptions not being logged
- #2231 Cleaner closing of tasks by using
abort()
in strategic places to avoid dangling sockets - #2247 Fix logging of auto-reload status in debug mode
- #2246 Account for BP with exception handler but no routes
Developer infrastructure
- #2194 HTTP unit tests with raw client
- #2199 Switch to codeclimate
- #2214 Try Reopening Windows Tests
- #2229 Refactor
HttpProtocol
into a base class - #2230 Refactor
server.py
into multi-file module
Miscellaneous
Version 21.6.2
Bugfixes
- #2211 Fix handling of exceptions in ASGI app call