Skip to content

Version 22.12.0

Compare
Choose a tag to compare
@ahopkins ahopkins released this 27 Dec 14:54
· 117 commits to main since this release
4ad8168

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 subsequent ctrl+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 to register_middleware method
  • #2639 Add unquote to add_route method
  • #2640 ASGI websockets to receive text or bytes

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 of inspect ... commands
  • #2628 Replace deprecated distutils.strtobool

Developer infrastructure

  • #2612 Add CI testing for Python 3.11

Full Changelog: v22.9.1...v22.12.0