Starlette научился сжимать большие ответы вне event loop. В релизах с… — Zen of Python — TG.ME

Starlette научился сжимать большие ответы вне event loop. В релизах с 1.4.0 по 1.6.0, вышедших 5 и 8 августа, переделан GZipMiddleware и подтянута защита FileResponse.

🔘 тела от 128 КиБ сжимаются в рабочем потоке, а не в цикле событий; вместо GzipFile используется zlib.compressobj, и компрессор создаётся лениво;
🔘 потоковые ответы получают flush на каждом чанке, частичные ответы (206) больше не сжимаются;
🔘 FileResponse отклоняет перевёрнутый однобайтовый Range и ограничивает число диапазонов сотней;
🔘 в 1.6.0 появился max_body_size и поддержка расширения http.response.debug.

Starlette лежит под FastAPI, так что изменение задевает и его. Полный список правок по версиям в release notes.

@zen_of_python
👍2
August 25, 2026 1.6K 6