История изменений

Описание релизов. Полная история лежит в GitHub Releases, репозиторий MarvinRF/nest-docfy.

Каноническая история вплоть до отдельных коммитов есть в GitHub Releases и в CHANGELOG.md внутри репозитория.

v0.9.0 (текущая версия)

  • Задокументированы specs, openApiDocument и additionalProxyOrigins в DocfyUiModule.setup(). Параметр specs существовал без описания ещё с v0.6.0, а два других — это наверстанная документация для прокси, появившегося в v0.8.0. Зависимость docfy-ui зафиксирована на ^0.5.0.

v0.8.0

  • Прокси на том же origin для режима «Try it out» в docfy-ui, включается новыми параметрами openApiDocument и additionalProxyOrigins у DocfyUiModule.setup(). CORS обходится полностью, а сбои самого прокси отличимы от настоящих ответов API по заголовку X-Docfy-Proxy-Error.

v0.7.0

  • Новая команда CLI export: собирает документ OpenAPI из вашего собственного бутстрапа, не требуя ни .listen(), ни живой инфраструктуры.

v0.6.1 – v0.6.3

  • Полная схема выводится и для сущностей ответа, у которых нет декораторов class-validator.
  • Зафиксированная зависимость docfy-ui поднята до ^0.3.0.
  • Объединения булевых литералов сворачиваются в обычную схему boolean.

v0.6.0

  • Бот для проверки PR: гоняет check и coverage по примеру приложения прямо в CI.
  • Флаг --json у check и coverage для машиночитаемого вывода.
  • Параметр specs для переключателя нескольких спецификаций в docfy-ui.
  • --register-plugin сам правит ситуацию с webpack: true, так что настраивать плагин CLI руками не нужно.
  • Новая команда generate-client: типизированный клиент на TypeScript, собранный из спецификации OpenAPI.

v0.5.0

  • Первый релиз, версия которого проставлена через semantic-release и conventional commits. Дальше проект живёт по настоящему semver. Новых пользовательских возможностей сверх описанного выше нет.

v0.4.0

  • DocfyUiModule теперь работает и в приложениях на Fastify (@nestjs/platform-fastify), а не только на Express. Нужна необязательная peer-зависимость @fastify/static.
  • /api-json (staticSpecPath) и запасной обработчик перешли на независимые от адаптера res.type() и res.send() вместо API, которые есть только у Express.

v0.3.6

  • Исправлено отсутствующее условие экспорта по умолчанию в карте exports пакета.

v0.3.5

  • Улучшена поддержка маршрутизации в DocfyUiModule, сопутствующая зависимость docfy-ui поднята до 0.0.5.

v0.3.3 – v0.3.4

  • Технические релизы: сопутствующая зависимость docfy-ui поднята сначала до 0.0.3, затем до 0.0.4. В самом nestjs-docfy ничего не менялось.

v0.3.1 – v0.3.2

  • Технические релизы (только lockfile и метаданные версии), без изменений в поведении.

v0.3.0

  • Появился DocfyUiModule: по умолчанию отдаёт docfy-ui и умеет режим статической спецификации, безопасный для webpack.
  • Команда CLI patch-spec: правка OpenAPI только через статический анализ.
  • Команда coverage для метрик документации и команда lint для проверок её качества.
  • Группы тегов (x-tagGroups) для ReDoc.
  • Исправления: объединение тегов с учётом регистра, из-за которого группа в боковой панели распадалась надвое; потеря полей в patch-spec, когда один маршрут правили два контроллера; определение исходника контроллера через стек и source map; ложные предупреждения об отсутствующем docs-файле; падение на записях require.cache с геттерами, бросающими исключение.
  • Документация: webpack: true описан как принципиально неподдерживаемый, с объяснением причин.

v0.2.8

  • Команда check, поддержка @HttpCode() и вывод схемы из class-validator.

v0.2.7

  • Убрана телеметрия @scarf/scarf через override для swagger-ui-dist. Структура README стала понятнее.

v0.2.5 – v0.2.6

  • Более подробный вывод ApiResponse, с описаниями и ответами об ошибках (v0.2.6 был техническим релизом, без изменений в поведении).

v0.2.4

  • Генерация встроенной схемы для DTO, типизированных через интерфейс.

v0.2.3

  • Полный вывод CLI: ApiParam, ApiBody, ApiQuery, выведенные summary, ApiBearerAuth и режим наблюдения.

v0.2.2

  • В вывод ApiResponse добавлен вывод типа ответа из DTO.

v0.2.1

  • generate теперь выдаёт готовые к работе декораторы вместо закомментированных заглушек.

v0.2.0

  • Команда CLI nestjs-docfy generate, первая возможность командной строки.

v0.1.1 – v0.1.4

  • Первый релиз: соглашение о companion-файлах через @WithDocs() и docs(), а также DocfyModule.forRoot().
  • Типобезопасные ключи методов в docs() через дженерики (v0.1.4).