Starlette 1.8 est sorti
par Makersquad ·
Date de sortie : 13 octobre 2026
Documentation officielle : Starlette 1.8.0
Starlette 1.8 ajoute la prise en charge des Early Hints HTTP 103 et abandonne Python 3.10. Elle corrige aussi plusieurs comportements de GZipMiddleware, de FileResponse et des sessions.
Les nouveautés principales
Early Hints (HTTP 103)
Request.send_early_hints() envoie une réponse 103 par l’extension ASGI http.response.early_hint, pour permettre au navigateur de précharger des ressources avant la réponse finale.
GZipMiddleware
- Les types médias gRPC natifs (
application/grpcetapplication/grpc+...) sont exclus de la compression par défaut. - Les trailers de réponse sont préservés.
http.response.startpart immédiatement pour les réponses déjà encodées, de statut 206 ou de type exclu.
Correctifs notables
FileResponsearrête le transfert quand le client se déconnecte, et ne boucle plus sur une plage multipart quand le fichier se termine trop tôt.Rangeest ignoré quandIf-Rangecontient un ETag faible.- Les réponses 405 de
StaticFilesportentAllow: GET, HEAD. - Les générateurs de
Request.stream()sont fermés de façon déterministe. SessionMiddlewareajouteVary: CookiequandSession.pop()retire une clé, et émetMax-Age=0quandmax_age=0.URL.replace()met les hôtes IPv6 entre crochets.
Changements incompatibles
Python 3.11 minimum
Python 3.10 n’est plus pris en charge.
À retenir
Starlette 1.8 ajoute les Early Hints HTTP 103 et corrige plusieurs comportements de GZipMiddleware, de FileResponse et des sessions. Avant de mettre à jour, vérifiez que votre projet tourne sur Python 3.11 ou plus.