56 lines
3.2 KiB
Markdown
56 lines
3.2 KiB
Markdown
## Version 22.12.0 🔷
|
|
|
|
_Current version_
|
|
|
|
### Features
|
|
|
|
- [#2569](https://github.com/sanic-org/sanic/pull/2569) Add `JSONResponse` class with some convenient methods when updating a response object
|
|
- [#2598](https://github.com/sanic-org/sanic/pull/2598) Change `uvloop` requirement to `>=0.15.0`
|
|
- [#2609](https://github.com/sanic-org/sanic/pull/2609) Add compatibility with `websockets` v11.0
|
|
- [#2610](https://github.com/sanic-org/sanic/pull/2610) Kill server early on worker error
|
|
- Raise deadlock timeout to 30s
|
|
- [#2617](https://github.com/sanic-org/sanic/pull/2617) Scale number of running server workers
|
|
- [#2621](https://github.com/sanic-org/sanic/pull/2621) [#2634](https://github.com/sanic-org/sanic/pull/2634) Send `SIGKILL` on subsequent `ctrl+c` to force worker exit
|
|
- [#2622](https://github.com/sanic-org/sanic/pull/2622) Add API to restart all workers from the multiplexer
|
|
- [#2624](https://github.com/sanic-org/sanic/pull/2624) Default to `spawn` for all subprocesses unless specifically set:
|
|
```python
|
|
from sanic import Sanic
|
|
|
|
Sanic.start_method = "fork"
|
|
```
|
|
- [#2625](https://github.com/sanic-org/sanic/pull/2625) Filename normalisation of form-data/multipart file uploads
|
|
- [#2626](https://github.com/sanic-org/sanic/pull/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](https://github.com/sanic-org/sanic/pull/2632) Control order of restart operations
|
|
- [#2633](https://github.com/sanic-org/sanic/pull/2633) Move reload interval to class variable
|
|
- [#2636](https://github.com/sanic-org/sanic/pull/2636) Add `priority` to `register_middleware` method
|
|
- [#2639](https://github.com/sanic-org/sanic/pull/2639) Add `unquote` to `add_route` method
|
|
- [#2640](https://github.com/sanic-org/sanic/pull/2640) ASGI websockets to receive `text` or `bytes`
|
|
|
|
|
|
### Bugfixes
|
|
|
|
- [#2607](https://github.com/sanic-org/sanic/pull/2607) Force socket shutdown before close to allow rebinding
|
|
- [#2590](https://github.com/sanic-org/sanic/pull/2590) Use actual `StrEnum` in Python 3.11+
|
|
- [#2615](https://github.com/sanic-org/sanic/pull/2615) Ensure middleware executes only once per request timeout
|
|
- [#2627](https://github.com/sanic-org/sanic/pull/2627) Crash ASGI application on lifespan failure
|
|
- [#2635](https://github.com/sanic-org/sanic/pull/2635) Resolve error with low-level server creation on Windows
|
|
|
|
|
|
### Deprecations and Removals
|
|
|
|
- [#2608](https://github.com/sanic-org/sanic/pull/2608) [#2630](https://github.com/sanic-org/sanic/pull/2630) Signal conditions and triggers saved on `signal.extra`
|
|
- [#2626](https://github.com/sanic-org/sanic/pull/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](https://github.com/sanic-org/sanic/pull/2628) Replace deprecated `distutils.strtobool`
|
|
|
|
|
|
### Developer infrastructure
|
|
|
|
- [#2612](https://github.com/sanic-org/sanic/pull/2612) Add CI testing for Python 3.11
|
|
|