Voydevich
NestJS

Що нового в NestJS 12.3

У лінійці NestJS 12.3 зʼявився нативний HTTP-адаптер для платформи Node.js, а також численні виправлення для ядра, мікросервісів та адаптерів Express і Fastify.

Реліз від 27 жовтня 2026 · оновлено 8 листопада 2026

Головне

  • Додано нативний адаптер платформи Node.js HTTP у platform-node
  • Виправлено переривання відповіді у разі помилки streamable file
  • Покращено сумісність адаптерів зі старішими версіями core
  • Оновлено обробку помилок і статусів у platform-express та platform-fastify
  • Виправлено таймери та логіку повторних спроб у TCP, Redis, NATS і RMQ мікросервісах

Коротко

Реліз NestJS 12.3 представляє нативний адаптер HTTP-платформи для Node.js у пакеті platform-node. Окрім нової функціональності, оновлення містить великий пакет виправлень для модуля ядра, мікросервісних транспортів та адаптерів Express і Fastify. Також оновлено низку залежностей, зокрема бібліотеки multer, file-type та @fastify/middie.

Нові можливості

Платформа Node.js

  • Нативний адаптер Node HTTP: у пакет platform-node додано нативний HTTP-адаптер платформи Node.js (feat(node): add a native node http platform adapter).

Виправлення та покращення

Ядро та загальні компоненти (core, common)

  • У помилках визначення типу файлу тепер вказується виявлений тип (file type).
  • Скасовано генерацію помилок для конструкторів стрілкових прототипів (arrow prototype constructors).
  • Додано переривання відповіді (abort the response), якщо передавання streamable file завершується збоєм посередині процесу.
  • middleware тепер запускається один раз для маршрутів, які відрізняються лише версією.
  • Додано обробку сокетів SSE-запитів без методів налаштування (tuning methods).
  • Зчитування протоколу URL переведено на отримання безпосередньо з сервера.
  • Забезпечено іменування масиву та індексу для елементів модулів зі значенням undefined.
  • Пошук класів тепер виконується за кожним із їхніх декораторів виявлення (discovery decorators).
  • Реалізовано зчитування опції abort on error викликаного застосунку та дотримання abortOnError, переданого в метод select().
  • Виключення в middleware тепер покривають маршрути, виключені через префікс, а також підтримують зчитування версії медіатипу в лапках.
  • Додано підписку на handler observables з інших копій RxJS.
  • Виправлено розвʼязання request-scoped forward refs для одночасних конкурентних запитів.
  • Збережено один параметр маршруту на аргумент у методі, що перевизначається (overriding method).

Адаптери серверів (platform-express, platform-fastify)

  • Забезпечено завантаження адаптерів зі старішими версіями пакета core.
  • У platform-express:
    • Непідтримувані типи вмісту multipart тепер мапляться на статус 415.
    • Завершується відповідь на HEAD-запит у разі порожнього streamable file.
    • Помилки 5xx бібліотеки http-errors залишаються немапленими для забезпечення їхнього логування.
    • Винятки http-errors мапляться на HttpException.
    • Надсилається стандартне тіло для винятку, що обгортає помилку.
  • У platform-fastify:
    • Тіла помилок у вигляді обʼєктів тепер надсилаються із заголовком Content-Type: application/json.
    • Помилки 5xx Fastify залишаються немапленими для їх логування.
    • Помилки 4xx з http-errors мапляться на HTTP-винятки.
    • Додано підтримку прослуховування через файловий дескриптор (file descriptor).
    • CORS тепер запускається перед Nest middleware.

Мікросервіси та вебсокети

  • Пакети тепер завантажуються в місцях, доступних для бандлерів (bundlers).
  • У мікросервісах виправлено логіку повторних підключень: скидання таймера та перезапуск спроб підключення TCP-сервера після закриття й нового виклику listen, переозброєння повторних спроб Redis, а також підрахунок кожної невдалої спроби підключення до RMQ.
  • Додано звіт про зʼєднання NATS, яке припинило спроби повторного підключення, а заголовки записів NATS тепер передаються як заголовки повідомлень.
  • Виправлено відправку завершального null для запитувачів у Kafka.
  • Дозволено подальший рух помилок, які підлягають повторній спробі (retriable exception).
  • Відповідати на запит тепер може лише точний обробник повідомлень (exact message handler), а в разі неможливості надіслати останню відповідь запит завершується помилкою.
  • Додано дотримання меж фільтрів топіків MQTT (mqtt topic filter boundaries).

Оновлення залежностей

  • У platform-express: бібліотеку multer оновлено до версії v2.5.0 (оновлення безпеки).
  • У common: залежність file-type оновлено до версії v22.2.0.
  • У platform-fastify: пакет @fastify/middie оновлено до версії v9.3.6.

Огляд підготовлено автоматично за офіційними release notes за допомогою ШІ та перевірено на відповідність джерелу. Точні формулювання дивіться в оригіналі. Як ми працюємо