Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

This PR updates uvicorn from 0.16 to 0.32.0.

Changelog

0.32.0

Added

* Officially support Python 3.13 (2482)
* Warn when `max_request_limit` is exceeded (2430)

0.31.1

Fixed

* Support WebSockets 0.13.1 (2471)
* Restore support for `[*]` in trusted hosts (2480)
* Add `PathLike[str]` type hint for `ssl_keyfile` (2481)

0.31.0

Added

Improve `ProxyHeadersMiddleware` (2468) and (2231):

- Fix the host for requests from clients running on the proxy server itself.
- Fallback to host that was already set for empty x-forwarded-for headers.
- Also allow to specify IP Networks as trusted hosts. This greatly simplifies deployments
on docker swarm/kubernetes, where the reverse proxy might have a dynamic IP.
 - This includes support for IPv6 Address/Networks.

0.30.6

Fixed

- Don't warn when upgrade is not WebSocket and depedencies are installed (2360)

0.30.5

Fixed

- Don't close connection before receiving body on H11 (2408)

0.30.4

Fixed

- Close connection when `h11` sets client state to `MUST_CLOSE` (2375)

0.30.3

Fixed

- Suppress `KeyboardInterrupt` from CLI and programmatic usage (2384)
- `ClientDisconnect` inherits from `OSError` instead of `IOError` (2393)

0.30.2

Added

- Add `reason` support to [`websocket.disconnect`](https://asgi.readthedocs.io/en/latest/specs/www.html#disconnect-receive-event-ws) event (2324)

Fixed

- Iterate subprocesses in-place on the process manager (2373)

0.30.1

Fixed

- Allow horizontal tabs `\t` in response header values (2345)

0.30.0

Added

- New multiprocess manager (2183)
- Allow `ConfigParser` or a `io.IO[Any]` on `log_config` (1976)

Fixed

- Suppress side-effects of signal propagation (2317)
- Send `content-length` header on 5xx (2304)

Deprecated

- Deprecate the `uvicorn.workers` module (2302)

0.29.0

Added

- Cooperative signal handling (1600)

0.28.1

Fixed

- Revert raise `ClientDisconnected` on HTTP (2276)

0.28.0

Added

- Raise `ClientDisconnected` on `send()` when client disconnected (2220)

Fixed

- Except `AttributeError` on `sys.stdin.fileno()` for Windows IIS10 (1947)
- Use `X-Forwarded-Proto` for WebSockets scheme when the proxy provides it (2258)

0.27.1

- Fix spurious LocalProtocolError errors when processing pipelined requests (2243)

0.27.0.post1

Fixed

- Fix nav overrides for newer version of Mkdocs Material (2233)

0.27.0

Added

- Raise `ClientDisconnect(IOError)` on `send()` when client disconnected (2218)
- Bump ASGI WebSocket spec version to 2.4 (2221)

0.26.0

Changed

- Update `--root-path` to include the root path prefix in the full ASGI `path` as per the ASGI spec (2213)
- Use `__future__.annotations` on some internal modules (2199)

0.25.0

Added

- Support the WebSocket Denial Response ASGI extension (1916)

Fixed

- Allow explicit hidden file paths on `--reload-include` (2176)
- Properly annotate `uvicorn.run()` (2158)

0.24.0.post1

Fixed

- Revert mkdocs-material from 9.1.21 to 9.2.6 (2148)

0.24.0

Added

- Support Python 3.12 (2145)
- Allow setting `app` via environment variable `UVICORN_APP` (2106)

0.23.2

Fixed

- Maintain the same behavior of `websockets` from 10.4 on 11.0 (2061)

0.23.1

Fixed

- Add `typing_extensions` for Python 3.10 and lower (2053)

0.23.0

Added

- Add `--ws-max-queue` parameter WebSockets (2033)

Removed

- Drop support for Python 3.7 (1996)
- Remove `asgiref` as typing dependency (1999)

Fixed

- Set `scope["scheme"]` to `ws` or `wss` instead of `http` or `https` on `ProxyHeadersMiddleware` for WebSockets (2043)

Changed

- Raise `ImportError` on circular import (2040)
- Use `logger.getEffectiveLevel()` instead of `logger.level` to check if log level is `TRACE` (1966)

0.22.0

Added

- Add `--timeout-graceful-shutdown` parameter (1950)
- Handle `SIGBREAK` on Windows (1909)

Fixed

- Shutdown event is now being triggered on Windows when using hot reload (1584)
- `--reload-delay` is effectively used on the `watchfiles` reloader (1930)

0.21.1

Fixed

- Reset lifespan state on each request (1903)

0.21.0

Added

- Introduce lifespan state (1818)
- Allow headers to be sent as iterables on H11 implementation (1782)
- Improve discoverability when --port=0 is used (1890)

Changed

- Avoid importing `h11` and `pyyaml` when not needed to improve import time (1846)
- Replace current native `WSGIMiddleware` implementation by `a2wsgi` (1825)
- Change default `--app-dir` from "." (dot) to "" (empty string) (1835)

Fixed

- Send code 1012 on shutdown for WebSockets (1816)
- Use `surrogateescape` to encode headers on `websockets` implementation (1005)
- Fix warning message on reload failure (1784)

0.20.0

Added

- Check if handshake is completed before sending frame on `wsproto` shutdown (1737)
- Add default headers to WebSockets implementations (1606 & 1747)
- Warn user when `reload` and `workers` flag are used together (1731)

Fixed

- Use correct `WebSocket` error codes on `close` (1753)
- Send disconnect event on connection lost for `wsproto` (996)
- Add `SIGQUIT` handler to `UvicornWorker` (1710)
- Fix crash on exist with "--uds" if socket doesn't exist (1725)
- Annotate `CONFIG_KWARGS` in `UvicornWorker` class (1746)

Removed

- Remove conditional on `RemoteProtocolError.event_hint` on `wsproto` (1486)
- Remove unused `handle_no_connect` on `wsproto` implementation (1759)

0.19.0

Added

- Support Python 3.11 (1652)
- Bump minimal `httptools` version to `0.5.0` (1645)
- Ignore HTTP/2 upgrade and optionally ignore WebSocket upgrade (1661)
- Add `py.typed` to comply with PEP 561 (1687)

Fixed

- Set `propagate` to `False` on "uvicorn" logger (1288)
- USR1 signal is now handled correctly on `UvicornWorker`. (1565)
- Use path with query string on `WebSockets` logs (1385)
- Fix behavior on which "Date" headers were not updated on the same connection (1706)

Removed

- Remove the `--debug` flag (1640)
- Remove the `DebugMiddleware` (1697)

0.18.3

Fixed

- Remove cyclic references on HTTP implementations. (1604)

Changed

- `reload_delay` default changed from `None` to `0.25` on `uvicorn.run()` and `Config`. `None` is not an acceptable value anymore. (1545)

0.18.2

Fixed

- Add default `log_config` on `uvicorn.run()` (1541)
- Revert `logging` file name modification (1543)

0.18.1

Fixed

- Use `DEFAULT_MAX_INCOMPLETE_EVENT_SIZE` as default to `h11_max_incomplete_event_size` on the CLI (1534)

0.18.0

Added

- The `reload` flag prioritizes `watchfiles` instead of the deprecated `watchgod` (1437)
- Annotate `uvicorn.run()` function (1423)
- Allow configuring `max_incomplete_event_size` for `h11` implementation (1514)

Removed

- Remove `asgiref` dependency (1532)

Fixed

- Turn `raw_path` into bytes on both websockets implementations (1487)
- Revert log exception traceback in case of invalid HTTP request (1518)
- Set `asyncio.WindowsSelectorEventLoopPolicy()` when using multiple workers to avoid "WinError 87" (1454)

0.17.6

Changed

- Change `httptools` range to `>=0.4.0` (1400)

0.17.5

Fixed

- Fix case where url is fragmented in httptools protocol (1263)
- Fix WSGI middleware not to explode quadratically in the case of a larger body (1329)

Changed

- Send HTTP 400 response for invalid request (1352)

0.17.4

Fixed

- Replace `create_server` by `create_unix_server` (1362)

0.17.3

Fixed

- Drop wsproto version checking. (1359)

0.17.2

Fixed

- Revert 1332. While trying to solve the memory leak, it introduced an issue (1345) when the server receives big chunks of data using the `httptools` implementation. (1354)
- Revert stream interface changes. This was introduced on 0.14.0, and caused an issue (1226), which caused a memory leak when sending TCP pings. (1355)
- Fix wsproto version check expression (1342)

0.17.1

Fixed

- Move all data handling logic to protocol and ensure connection is closed. (1332)
- Change `spec_version` field from "2.1" to "2.3", as Uvicorn is compliant with that version of the ASGI specifications. (1337)

0.17.0.post1

Fixed

- Add the `python_requires` version specifier (1328)

0.17.0

Added

- Allow configurable websocket per-message-deflate setting (1300)
- Support extra_headers for WS accept message (1293)
- Add missing http version on websockets scope (1309)

Fixed/Removed

- Drop Python 3.6 support (1261)
- Fix reload process behavior when exception is raised (1313)
- Remove `root_path` from logs (1294)
Links

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #276

@pyup-bot pyup-bot closed this Nov 20, 2024
@chivke chivke deleted the pyup-update-uvicorn-0.16-to-0.32.0 branch November 20, 2024 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants