Python の軽量 ASGI フレームワーク Starlette の 1.8.0 が、日本時間 10 月 13 日夕方に公開されました。HTTP 103 Early Hints への対応が加わった一方、Python 3.10 のサポートを終えています。Starlette を直接使う開発者に加え、Starlette を土台にした Web フレームワークを使うプロジェクトも、依存の更新時に Python のバージョンを確認する必要があります。
主なポイント
Request.send_early_hints()が追加され、ASGI のhttp.response.early_hint拡張を使って 103 Early Hints を送れるようになりました。本応答の前にブラウザへ先読みすべきリソースを伝えられます。- 最低対応バージョンが Python 3.11 になり、3.10 は対象外になりました。
GZipMiddlewareは gRPC のメディアタイプを既定で圧縮対象から外し、応答トレーラーも保持するようになりました。FileResponseはクライアント切断時に転送を止めます。ファイルが範囲の途中で終わると複数範囲の応答が無限ループする問題も直りました。Session.pop()で既存のキーを消したときにVary: Cookieを付けるなど、セッションやキャッシュ周りの細かな修正も入っています。