Voydevich
Node.js

Що нового в Node.js 24.22

Реліз приніс розширення криптографічних API, утиліти debounce і throttle, нові можливості гістограм у perf_hooks та закриття вразливостей безпеки.

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

Головне

  • Додано функції util.debounce, util.throttle та util.markPromiseAsHandled
  • Новий метод crypto.parsePKCS12(), загальний MAC API та режими SIV/GCM-SIV
  • У perf_hooks реалізовано SlidingWindowHistogram, аналіз qrde та обмін через CBOR
  • Підтримка передачі net.BoundSocket у потоки та дочірні процеси
  • Методи close() та Symbol.dispose для StatementSync у модулі sqlite
  • Виправлено низку вразливостей безпеки у версії 24.22.1

Коротко

Лінійка Node.js 24.22 LTS («Krypton») отримала значне розширення стандартної бібліотеки, зокрема нові функції в модулях util, crypto, perf_hooks та sqlite. Також додано підтримку передачі net.BoundSocket між потоками та дочірніми процесами. Оновлення 24.22.1 додатково закрило низку CVE у модулях http, dns, tls, crypto та механізмі дозволів.

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

Модуль util

  • util.debounce та util.throttle: реалізовано стандартні функції для контролю частоти викликів.
  • util.markPromiseAsHandled: додано метод для позначення промісів як оброблених.

Криптографія (crypto)

  • crypto.parsePKCS12(): додано функцію для парсингу даних у форматі PKCS#12.
  • Загальний MAC API: реалізовано generic MAC API.
  • Режими шифрування: у Cipher/Decipher API увімкнено підтримку режимів SIV та GCM-SIV.
  • Інтеграція з OpenSSL: реалізовано автоматичне виявлення шифрів (ciphers) та хешів (hashes) із провайдерів OpenSSL.

Мережа (net)

  • net.BoundSocket: реалізовано підтримку передачі прив'язаних сокетів у робочі потоки (threads) та дочірні процеси.

Профілювання (perf_hooks)

  • SlidingWindowHistogram: додано реалізацію ковзного вікна для гістограм.
  • Аналіз даних: реалізовано підтримку аналізу qrde в Histogram та додано API meanCI.
  • Обмін гістограмами: додано можливість експорту та імпорту гістограм за допомогою формату CBOR.

База даних sqlite

  • StatementSync.prototype.close(): додано метод для явного закриття підготовленого виразу.
  • StatementSync.prototype[Symbol.dispose](): додано підтримку протоколу явного управління ресурсами через Symbol.dispose.

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

  • Безпека (24.22.1):
    • У http забезпечено роботу захисту даних агента без I/O (CVE-2026-105481).
    • У dns додано валідацію вхідних даних на наявність нульових байтів (CVE-2026-105482).
    • У tls виправлено регресію нормалізації IP (CVE-2026-105483) та додано відхилення неканонічних IP-адрес (CVE-2026-106069).
    • У моделі дозволів додано перевірку в realpathSync (CVE-2026-106073).
    • У crypto реалізовано скидання кешів випадкових чисел між снепшотами (CVE-2026-106074).
    • Відкрито константу BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH (CVE-2026-111497).
    • У tls відхиляються ланцюжки сертифікатів із заблокованими публічними ключами.
  • Файлова система (fs):
    • fs.cpSync тепер викидає помилку на наявній директорії при errorOnExist і передає створюваним директоріям режим (mode) вихідної директорії.
    • У fs.rmSync на Windows додано підтримку видалення файлів із прапорцем «лише для читання».
    • Пошук ** у fs більше не переходить за символьними посиланнями, якщо не вказано слідувати за ними.
    • У FileHandle.read довжина зводиться до типу аналогічно до fs.read.
  • Інші виправлення:
    • assert: виправлено TypeError при виклику deepStrictEqual з null як ключем у Map або елементом у Set.
    • buffer: виправлено декодування неналаштованого (unaligned) UTF-16LE.
    • child_process: таймер таймауту тепер очищається і в разі помилки на етапі виклику spawn.
    • stream: збережено асинхронний контекст для припаркованих операцій запису.
    • crypto: усунено повернення неініціалізованої пам'яті з Hmac.digest().
  • Оновлення залежностей:
    • Root-сертифікати оновлено до NSS 3.131.1.
    • openssl оновлено до версії 3.5.9.
    • npm оновлено до 11.19.1, undici — до 7.30.1, c-ares — до 1.34.9, simdjson — до 4.6.11, часові пояси — до 2026e.

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