Starlette

Latest version: v0.37.2

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

Scan your dependencies

Page 7 of 8

0.17.1

Not secure
Fixed
* Fix `IndexError` in authentication `requires` when wrapped function arguments are distributed between `*args` and `**kwargs` [1335](https://github.com/encode/starlette/pull/1335).

0.17.0

Not secure
Added
* `Response.delete_cookie` now accepts the same parameters as `Response.set_cookie` [1228](https://github.com/encode/starlette/pull/1228).
* Update the `Jinja2Templates` constructor to allow `PathLike` [1292](https://github.com/encode/starlette/pull/1292).

Fixed
* Fix BadSignature exception handling in SessionMiddleware [1264](https://github.com/encode/starlette/pull/1264).
* Change `HTTPConnection.__getitem__` return type from `str` to `typing.Any` [1118](https://github.com/encode/starlette/pull/1118).
* Change `ImmutableMultiDict.getlist` return type from `typing.List[str]` to `typing.List[typing.Any]` [1235](https://github.com/encode/starlette/pull/1235).
* Handle `OSError` exceptions on `StaticFiles` [1220](https://github.com/encode/starlette/pull/1220).
* Fix `StaticFiles` 404.html in HTML mode [1314](https://github.com/encode/starlette/pull/1314).
* Prevent anyio.ExceptionGroup in error views under a BaseHTTPMiddleware [1262](https://github.com/encode/starlette/pull/1262).

Removed
* Remove GraphQL support [1198](https://github.com/encode/starlette/pull/1198).

0.16.0

Not secure
Added
* Added [Encode](https://github.com/sponsors/encode) funding option
[1219](https://github.com/encode/starlette/pull/1219)

Fixed
* `starlette.websockets.WebSocket` instances are now hashable and compare by identity
[1039](https://github.com/encode/starlette/pull/1039)
* A number of fixes related to running task groups in lifespan
[1213](https://github.com/encode/starlette/pull/1213),
[1227](https://github.com/encode/starlette/pull/1227)

Deprecated/removed
* The method `starlette.templates.Jinja2Templates.get_env` was removed
[1218](https://github.com/encode/starlette/pull/1218)
* The ClassVar `starlette.testclient.TestClient.async_backend` was removed,
the backend is now configured using constructor kwargs
[1211](https://github.com/encode/starlette/pull/1211)
* Passing an Async Generator Function or a Generator Function to `starlette.router.Router(lifespan_context=)` is deprecated. You should wrap your lifespan in `contextlib.asynccontextmanager`.
[1227](https://github.com/encode/starlette/pull/1227)
[1110](https://github.com/encode/starlette/pull/1110)

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).

Page 7 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.