23 марта 2026, 12:57
Выпуск Starlette 1.0.0

Starlette — это лёгкий асинхронный веб‑фреймворк на Python, построенный на стандарте ASGI (Asynchronous Server Gateway Interface). Он предназначен для создания быстрых и масштабируемых веб‑приложений и api с использованием async/await. На нём построен известный фреймворк FastAPI, используется напрямую для разработки: REST программный оболочку, WebSocket‑сервисов, микросервисов. Используется как зависимость в Python MCP SDK и других инструментах, связанных с AI.
Спустя почти восемь лет после создания, Starlette наконец‑то вышел в своей первой стабильной версии. Спасибо всем, кто тестировал предварительную версию и сообщал о проблемах.
Этот выпуск сосредоточен на удалении устаревших возможностей, которые были помечены для удаления в 1.0.0, а также на некоторых последних исправлениях ошибок информацию о которых мы собрали в release candidate.
Добавлено (Added):
1.0.0
Отслеживание доступа к сессии и её изменений в SessionMiddleware
1.0.0rc1
Добавлен generic state для WebSocket
Исправления (Fixed):
1.0.0
Обработка ответов отказа WebSocket в StreamingResponse и FileResponse
Использование bytearray для накопления полей в FormParser
Перемещение parser.finalize() внутрь try/except в MultiPartParser.parse()
1.0.0rc1
Включение единицы bytes в заголовок Content‑Range для ответов 416
Обработка нулевых байтов в пути StaticFiles
Использование слияния на основе сортировки для разбора заголовка Range
Установка Content‑Type вместо Content‑Range в ответах с несколькими диапазонами
Использование окончаний строк CRLF в границах multipart byterange
Предотвращение изменения заголовков FileResponse при range‑запросах
Возврат явного origin в CORS‑ответе, когда разрешены credentials
Включение autoescape по умолчанию в Jinja2Templates
Удалённо (Removed):
Удалены параметры on_startup и on_shutdown из Starlette и Router. Вместо этого используйте параметр lifespan
Удалён декоратор on_event() из Starlette и Router. Вместо этого используйте параметр lifespan
Удалён метод add_event_handler() из Starlette и Router. Вместо этого используйте параметр lifespan
Удалены методы startup() и shutdown() из Router
Удалён декоратор @app.route() из Starlette и Router. Вместо этого используйте Route в параметре routes
Удалён декоратор @app.websocket_route() из Starlette и Router. Вместо этого используйте WebSocketRoute в параметре routes
Удалён декоратор @app.exception_handler() из Starlette. Вместо этого используйте параметр exception_handlers
Удалён декоратор @app.middleware() из Starlette. Вместо этого используйте параметр middleware
Удалена функция iscoroutinefunction_or_partial() из starlette.routing
Удалён параметр **env_options из Jinja2Templates. Вместо этого используйте предварительно настроенный jinja2.Environment через параметр env
Удалена устаревшая сигнатура TemplateResponse(name, context) из Jinja2Templates. Вместо этого используйте TemplateResponse(request, name,...)
Удалён устаревший параметр method из FileResponse
Изменения (Changed):
Теперь jinja2 должен быть установлен для импорта Jinja2Templates. Ранее сбой возникала только при создании экземпляра класса
Контрибьюторы и благодарности
Kim Christie — оригинальный создатель Starlette, Uvicorn и MkDocs, а равным образом текущий мейнтейнер HTTPX. Работа Ким помогла заложить основу современного асинхронного Python-экосистемы
Adrian Garcia Badaracco — один из самых умных людей, которых я знаю, с которым мне посчастливилось функционировать в Pydantic
Thomas Grainger — мой учитель по async, всегда готов помочь с вопросами
Alex Grönholm — ещё один наставник по async, всегда быстро помогает с вопросами
Florimond Manca — всегда присутствовал в ранние дни Starlette и Uvicorn и сильно помог экосистеме
Amin Alaee — внёс крупный вклад через PR, связанные с файлами
Sebastián Ramírez — поддерживает FastAPI upstream и всегда на связи для помощи с upstream-проблемами
Alex Oleshkevich — сильно помог с шаблонами и многими обсуждениями
abersheeran — человек, к которому я обращаюсь, когда нужна помощь по многим вопросам
Ссылки:
Репозиторий Starlette- https://github.com/Kludex/starlette/releases
Сайт Starlette - https://www.starlette.io/release-notes/#100-march-22-2026
Читают сейчас

35 минут назад
Как выключить Gemini в Google Docs
Редактор TechCrunch Аманда Силберлинг рассказала, как убрать надоедливые всплывающие окна с предложением «писать с помощью Gemini» в Google Docs. Ознакомиться далее

58 минут назад
OpenAI научила Codex разрабатывать навыки, просто наблюдая за человеком
OpenAI выпустила для Codex функцию Record & Replay: потребитель один раз показывает агенту рабочий процедура на Mac, а тот превращает его в переиспользуемый скилл и в дальнейшем выполняет задачу сам.

1 час назад
Google открыла в Лос-Анджелесе начальный в мире музей искусственного интеллекта Dataland
20 июня в Лос-Анджелесе Google открыла Dataland — первый в мире музей искусственного интеллекта. На первой выставке представлены произведения искусства, созданные с помощью ИИ в режиме реального време

1 час назад
Microsoft подтвердила наличие ошибки в корзине во всех версиях Windows
Microsoft подтвердила наличие новой ошибки в Windows, в связи с которой в запросах на удаление в корзине отображаются внутренние имена файлов вместо реальных, сообщает Neowin. Читать далее

3 часа назад
Выпуск открытого Android-приложения FairScan 2.0 для сканирования документов
Состоялся релиз открытого Android-приложения FairScan 2.0 (доступно на GitHub, а равным образом в Google Play или F-Droid)для сканирования документов. Выпуск FairScan 1.0 состоялся в сентябре 2025 год