Starlette

Latest version: v0.45.2

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 11 of 12

0.15.0

Not secure
This release includes major changes to the low-level asynchronous parts of Starlette. As a result, **Starlette now depends on [AnyIO](https://anyio.readthedocs.io/en/stable/)** and some minor API changes have occurred. Another significant change with this release is the **deprecation of built-in GraphQL support**.

Added
* Starlette now supports [Trio](https://trio.readthedocs.io/en/stable/) as an async runtime via AnyIO - [#1157](https://github.com/encode/starlette/pull/1157).
* `TestClient.websocket_connect()` now must be used as a context manager.
* Initial support for Python 3.10 - [1201](https://github.com/encode/starlette/pull/1201).
* The compression level used in `GZipMiddleware` is now adjustable - [1128](https://github.com/encode/starlette/pull/1128).

Fixed
* Several fixes to `CORSMiddleware`. See [1111](https://github.com/encode/starlette/pull/1111), [#1112](https://github.com/encode/starlette/pull/1112), [#1113](https://github.com/encode/starlette/pull/1113), [#1199](https://github.com/encode/starlette/pull/1199).
* Improved exception messages in the case of duplicated path parameter names - [1177](https://github.com/encode/starlette/pull/1177).
* `RedirectResponse` now uses `quote` instead of `quote_plus` encoding for the `Location` header to better match the behaviour in other frameworks such as Django - [1164](https://github.com/encode/starlette/pull/1164).
* Exception causes are now preserved in more cases - [1158](https://github.com/encode/starlette/pull/1158).
* Session cookies now use the ASGI root path in the case of mounted applications - [1147](https://github.com/encode/starlette/pull/1147).
* Fixed a cache invalidation bug when static files were deleted in certain circumstances - [1023](https://github.com/encode/starlette/pull/1023).
* Improved memory usage of `BaseHTTPMiddleware` when handling large responses - [1012](https://github.com/encode/starlette/issues/1012) fixed via #1157

Deprecated/removed

* Built-in GraphQL support via the `GraphQLApp` class has been deprecated and will be removed in a future release. Please see [619](https://github.com/encode/starlette/issues/619). GraphQL is not supported on Python 3.10.
* The `executor` parameter to `GraphQLApp` was removed. Use `executor_class` instead.
* The `workers` parameter to `WSGIMiddleware` was removed. This hasn't had any effect since Starlette v0.6.3.

0.14.2

Not secure
Fixed

* Fixed `ServerErrorMiddleware` compatibility with Python 3.9.1/3.8.7 when debug mode is enabled - [1132](https://github.com/encode/starlette/pull/1132).
* Fixed unclosed socket `ResourceWarning`s when using the `TestClient` with WebSocket endpoints - 1132.
* Improved detection of `async` endpoints wrapped in `functools.partial` on Python 3.8+ - [1106](https://github.com/encode/starlette/pull/1106).

0.14.1

Not secure
Removed

* `UJSONResponse` was removed (this change was intended to be included in 0.14.0). Please see the [documentation](https://www.starlette.io/responses/#custom-json-serialization) for how to implement responses using custom JSON serialization - [1074](https://github.com/encode/starlette/pull/1047).

0.14.0

Not secure
Added

* Starlette now officially supports Python3.9.
* In `StreamingResponse`, allow custom async iterator such as objects from classes implementing `__aiter__`.
* Allow usage of `functools.partial` async handlers in Python versions 3.6 and 3.7.
* Add 418 I'm A Teapot status code.

Changed

* Create tasks from handler coroutines before sending them to `asyncio.wait`.
* Use `format_exception` instead of `format_tb` in `ServerErrorMiddleware`'s `debug` responses.
* Be more lenient with handler arguments when using the `requires` decorator.

0.13.8

Not secure
* Revert `Queue(maxsize=1)` fix for `BaseHTTPMiddleware` middleware classes and streaming responses.

* The `StaticFiles` constructor now allows `pathlib.Path` in addition to strings for its `directory` argument.

0.13.7

Not secure
* Fix high memory usage when using BaseHTTPMiddleware middleware classes and streaming responses.

Page 11 of 12

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.