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 を付けるなど、セッションやキャッシュ周りの細かな修正も入っています。

出典: Release Version 1.8.0 · Kludex/starlette