Релиз Starlette 1.0.0
Starlette — был создан в июне 2018 года Томом Кристи и уже много лет существует на ZeroVer(схема версионирования 0.0.x). Сегодня его скачивают почти 10 миллионов раз в день, он служит основой для FastAPI и вдохновил множество других фреймворков. Он предназначен для создания быстрых и масштабируемых веб‑приложений и API с использованием async/await. В эпоху ИИ Starlette продолжает играть важную роль в качестве зависимости Python MCP SDK.
Спустя почти восемь лет после создания, Starlette наконец‑то вышел в своей первой стабильной версии 1.0.0! Этот релиз сосредоточен на удалении устаревших возможностей, которые были помечены для удаления в 1.0.0rc1, а также на некоторых последних исправлениях ошибок.
Отслеживание доступа к сессии и её изменений в SessionMiddleware
Добавлен generic state для WebSocket
Обработка ответов отказа WebSocket в StreamingResponse и FileResponse
Использование bytearray для накопления полей в FormParser
Перемещение parser.finalize() внутрь try/except в MultiPartParser.parse()
Включение единицы bytes в заголовок Content‑Range для ответов 416
Обработка нулевых байтов в пути StaticFiles
Использование слияния на основе сортировки для разбора заголовка Range
Установка Content‑Type вместо Content‑Range в ответах с несколькими диапазонами
Использование окончаний строк CRLF в границах multipart byterange
Предотвращение изменения заголовков FileResponse при range‑запросах
Возврат явного origin в CORS‑ответе, когда разрешены credentials
Включение autoescape по умолчанию в Jinja2Templates
Удалены параметры on_startup и on_shutdown из Starlette и Router. Вместо этого используйте параметр lifespan
Удалён декоратор on_event() из Starlette и Router. Вместо этого используйте параметр lifespan
Удалён метод add_event_handler()
Читать на habr.com