Список изменений
Все значимые изменения в FastOpenAPI документируются в этом файле.
[0.5.0] – 2025-04-13
Добавлено
- AioHttpRouter для интеграции с фреймворком AIOHTTP (поддержка async).
- Кэш схем моделей на уровне класса для повышения производительности (избегает повторной генерации JSON Schema для одной и той же Pydantic-модели).
- Параметр
response_errorsв декораторах маршрутов для документирования ошибок в OpenAPI. - Модуль
error_handlerдля стандартных ошибок (предоставляет исключения, такие какBadRequestError,ResourceNotFoundErrorи др., как описано в документации). - Поддержка базовых типов Python (
int,float,bool,str) какresponse_model(для простых ответов).
[0.4.0] – 2025-03-20
Добавлено
- Поддержка ReDoc UI. Интерфейс ReDoc теперь доступен по умолчанию (например, по адресу
/redoc). - TornadoRouter для интеграции с фреймворком Tornado.
Изменено
- Обновлены все тесты для повышения покрытия и надёжности.
Исправлено
- Код ответа при внутренних ошибках: изменён с 422 на 500 для необработанных исключений, чтобы лучше соответствовать стандартам HTTP.
Удалено
- Удалены методы
add_docs_routeиadd_openapi_routeизBaseRouter. Маршруты документации теперь добавляются автоматически, так что эти методы больше не нужны.
[0.3.1] – 2025-03-15
Исправлено
- Исправлена ошибка импорта роутеров при отсутствии установленного фреймворка (защита от
ModuleNotFoundError).
[0.3.0] – 2025-03-15
Добавлено
- QuartRouter для интеграции с фреймворком Quart (асинхронный аналог Flask).
- Начальная документация (введение и примеры базового использования) добавлена в репозиторий.
Изменено
- Упрощён синтаксис импорта роутеров: теперь можно писать
from fastopenapi.routers import YourRouterвместо длинных путей.
Исправлено
- Исправлено извлечение параметров из моделей Pydantic в GET-маршрутах. Параметры из query на основе моделей теперь работают корректно.
[0.2.1] – 2025-03-12
Исправлено
- Исправлена сериализация ответов:
_serialize_responseтеперь корректно преобразуетBaseModelв словарь перед JSON-сериализацией. - Устранена ошибка в
DataLoader, вызывавшая сбой при пустых данных (возможно, используется внутри генератора схем). - Добавлены тесты, покрывающие описанные случаи.
- Добавлен этот файл
CHANGELOG.mdдля отслеживания изменений.
[0.2.0] – 2025-03-11
Добавлено
- Реализован
resolve_endpoint_paramsвBaseRouterдля разрешения параметров (path, query, body) и интеграции с валидацией Pydantic. - Параметр
prefixвinclude_router, позволяющий группировать маршруты под одним префиксом. - Поддержка
status_codeв декораторах маршрутов (установка кода по умолчанию).
Изменено
- Рефакторинг всех реализаций роутеров для унификации и снижения дублирования.
Удалено
- Удалён метод
register_routesиз реализации для Starlette (устарел после рефакторинга).
[0.1.0] – 2025-03-01
Добавлено
- Первый релиз FastOpenAPI.
- Реализован основной функционал:
- Базовые классы и структура роутеров.
- Поддержка роутеров для Falcon, Flask, Sanic, Starlette.
- Генерация схем OpenAPI с использованием Pydantic v2.
- Базовая валидация параметров запроса и тела.
- Добавлена документация (README) и несколько примеров.
- Добавлен начальный набор тестов, покрывающий регистрацию маршрутов и генерацию схем.