Releases: encode/starlette
Releases Β· encode/starlette
Version 0.20.4
Fixed
- Remove converter from path when generating OpenAPI schema #1648.
Version 0.20.3
Fixed
- Revert "Allow
StaticFiles
to follow symlinks" #1681.
Version 0.20.2
Version 0.20.1
Fixed
Version 0.20.0
Version 0.19.1
Fixed
- Fix inference of
Route.name
when created from methods #1553. - Avoid
TypeError
onwebsocket.disconnect
when code isNone
#1574.
Deprecated
- Deprecate
WS_1004_NO_STATUS_RCVD
andWS_1005_ABNORMAL_CLOSURE
in favor ofWS_1005_NO_STATUS_RCVD
andWS_1006_ABNORMAL_CLOSURE
, as the previous constants didn't match the WebSockets specs #1580.
Version 0.19.0
Added
- Error handler will always run, even if the error happens on a background task #761.
- Add
headers
parameter toHTTPException
#1435. - Internal responses with
405
status code insert anAllow
header, as described by RFC 7231 #1436. - The
content
argument inJSONResponse
is now required #1431. - Add custom URL convertor register #1437.
- Add content disposition type parameter to
FileResponse
#1266. - Add next query param with original request URL in requires decorator #920.
- Add
raw_path
toTestClient
scope #1445. - Add union operators to
MutableHeaders
#1240. - Display missing route details on debug page #1363.
- Change
anyio
required version range to>=3.4.0,<5.0
#1421 and #1460. - Add
typing-extensions>=3.10
requirement - used only on lower versions than Python 3.10 #1475.
Fixed
- Prevent
BaseHTTPMiddleware
from hiding errors ofStreamingResponse
and mounted applications #1459. SessionMiddleware
uses an explicitpath=...
, instead of defaulting to the ASGI 'root_path' #1512.Request.client
is now compliant with the ASGI specifications #1462.- Raise
KeyError
at early stage for missing boundary #1349.
Deprecated
Version 0.18.0
Added
- Change default chunk size from 4Kb to 64Kb on
FileResponse
#1345. - Add support for
functools.partial
inWebSocketRoute
#1356. - Add
StaticFiles
packages with directory #1350. - Allow environment options in
Jinja2Templates
#1401. - Allow HEAD method on
HttpEndpoint
#1346. - Accept additional headers on
websocket.accept
message #1361 and #1422. - Add
reason
toWebSocket
close ASGI event #1417. - Add headers attribute to
UploadFile
#1382. - Don't omit
Content-Length
header forContent-Length: 0
cases #1395. - Don't set headers for responses with 1xx, 204 and 304 status code #1397.
SessionMiddleware.max_age
now acceptsNone
, so cookie can last as long as the browser session #1387.
Fixed
- Tweak
hashlib.md5()
function onFileResponse
s ETag generation. The parameterusedforsecurity
flag is set toFalse
, if the flag is available on the system. This fixes an error raised on systems with FIPS enabled #1366 and #1410. - Fix
path_params
type onurl_path_for()
method i.e. turnstr
intoAny
#1341. Host
now ignoresport
on routing #1322.
Version 0.17.1
Fixed
- Fix
IndexError
in authenticationrequires
when wrapped function arguments are distributed between*args
and**kwargs
#1335.
Version 0.17.0
Added
Response.delete_cookie
now accepts the same parameters asResponse.set_cookie
#1228.- Update the
Jinja2Templates
constructor to allowPathLike
#1292.
Fixed
- Fix BadSignature exception handling in SessionMiddleware #1264.
- Change
HTTPConnection.__getitem__
return type fromstr
totyping.Any
#1118. - Change
ImmutableMultiDict.getlist
return type fromtyping.List[str]
totyping.List[typing.Any]
#1235. - Handle
OSError
exceptions onStaticFiles
#1220. - Fix
StaticFiles
404.html in HTML mode #1314. - Prevent anyio.ExceptionGroup in error views under a BaseHTTPMiddleware #1262.
Removed
- Remove GraphQL support #1198.