Рекомендуем
VPS на Windows и Linux — от 49 ₽ за 7 дней Быстрый запуск сервера на NVMe для сайтов, ботов и других задач.
Выбрать VPS

Node.js 24 LTS получил новые инструменты для сертификатов, SQLite и контроля вызовов

14 октября 2026 года вышел Node.js 24.22.0 LTS: в поддерживаемую ветку добавили обработку сертификатов PKCS#12, новые криптографические функции и инструменты управления частотой вызовов. В тот же день Node.js 26.12.0 получил низкоуровневые операции для WebSocket. Разбираемся, какие изменения затрагивают серверные приложения и почему состав обновлений различается.

Node.js 24 LTS
Node.js 24 LTS

Сертификаты PKCS#12 теперь можно разбирать средствами Node.js 24

В Node.js 24.22.0 появился метод crypto.parsePKCS12(). Он читает контейнеры сертификатов форматов .p12 и .pfx и возвращает закрытый ключ, связанный с ним сертификат и дополнительные сертификаты цепочки, если они есть. Такие файлы используют, например, при настройке взаимной TLS-аутентификации, когда клиент подтверждает свою личность сертификатом.

Раньше этот API появился в экспериментально развивавшейся ветке 26.x — в версии 26.10.0 от 22 сентября. Теперь он доступен и приложениям на Node.js 24 LTS. Для проектов, которые остаются на поддерживаемой ветке 24.x, разбор PKCS#12 стал возможен без перехода на следующую основную версию среды.

Криптографический модуль получил и другие дополнения. Универсальный API crypto.createMac() предназначен для вычисления кодов аутентификации сообщений (MAC) с помощью алгоритмов, предоставляемых OpenSSL. Эти коды позволяют проверять целостность и подлинность данных при наличии общего секретного ключа. Перечень доступных алгоритмов зависит от подключённых провайдеров OpenSSL; механизмы их обнаружения также расширены. В API шифрования добавлена поддержка режимов SIV и GCM-SIV при наличии соответствующих реализаций.

util.debounce и util.throttle помогают управлять частотой вызовов

В модуле node:util появились функции debounce() и throttle(). Обе работают с повторными вызовами, но решают разные задачи.

util.debounce() откладывает выполнение функции до окончания заданного периода без новых вызовов. Представим сервис, который обновляет поисковые подсказки после изменения строки запроса: пока символы продолжают поступать, прежние вызовы можно объединить по времени. util.throttle() ограничивает число запусков за определённый интервал — такой механизм пригоден для управления интенсивностью отправки задач или обращений к внешнему API.

Прежде для подобного поведения проекты часто использовали сторонние библиотеки либо собственные обёртки над таймерами. В Node.js 24.22.0 эти механизмы доступны непосредственно через стандартный модуль. Для throttle() предусмотрены параметры очереди, конкурентного выполнения и обработки вызовов сверх лимита; операции также поддерживают отмену через AbortSignal.

SQLite и мониторинг получили более точное управление ресурсами

Во встроенном модуле node:sqlite у StatementSync появились методы close() и [Symbol.dispose](). Подготовленный SQL-запрос теперь можно явно закрыть после использования. Поддержка механизма Symbol.dispose позволяет увязать освобождение ресурса с управляемой областью его использования.

Для приложений, которые выполняют множество запросов к локальной базе SQLite, это даёт понятный способ завершать работу с подготовленными выражениями. Ранее такого отдельного публичного метода у StatementSync не было.

Изменения затронули и node:perf_hooks: добавлены скользящая гистограмма SlidingWindowHistogram, новые средства анализа распределения измерений и экспорт либо импорт гистограмм в формате CBOR. Эти инструменты предназначены для изучения задержек и их изменения во времени — например, при мониторинге времени ответа сервера.

Node.js 26.12.0 расширил низкоуровневую поддержку WebSocket

В параллельном выпуске Node.js 26.12.0 Current появились http.websocketMask() и http.websocketUnmask(). Они выполняют маскирование и обратную обработку данных WebSocket-кадров с использованием повторяющегося четырёхбайтового ключа — механизма, описанного в протоколе RFC 6455.

Зачем это нужно? WebSocket-клиент маскирует отправляемые кадры, а сервер снимает маску при получении. Раньше библиотеки могли выполнять эту операцию циклом на JavaScript либо подключать дополнительный нативный модуль. Новые функции дают доступ к реализации непосредственно в Node.js. В обсуждении изменения разработчики отмечают, что на более крупных буферах нативная обработка может работать быстрее; для совсем небольших входных данных накладные расходы вызова уменьшают преимущество.

Эти функции ориентированы прежде всего на авторов сетевых библиотек и обработчиков протокола. Для большинства приложений, использующих готовые WebSocket-библиотеки, практический эффект будет зависеть от того, станут ли библиотеки применять новый API.

На 21 октября запланированы отдельные исправления безопасности

Node.js 24.22.0 относится к ветке долгосрочной поддержки LTS, а 26.12.0 на дату публикации остаётся веткой Current. Различие объясняет состав релизов: часть возможностей из 26.x теперь стала доступна проектам на 24.x, а в 26.x продолжают появляться новые низкоуровневые функции.

14 октября команда Node.js также обновила предупреждение о запланированных на 21 октября 2026 года выпусках безопасности для веток 22.x, 24.x и 26.x. В каждой из них максимальная заявленная серьёзность устраняемых проблем — High. Подробности уязвимостей в опубликованном уведомлении пока не раскрываются.

Таким образом, релизы от 14 октября добавили функциональные возможности, а отдельные обновления безопасности ожидаются 21 октября или вскоре после этой даты. Их конкретный состав станет известен с публикацией соответствующих бюллетеней.

Источники

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться