Дайджесты новостей
Кинематографичный натюрморт рабочего стола инженера с тремя релизными версиями Node.js 22 LTS, 24 LTS и 26 Current на фоне терминала.

Большая волна релизов Node.js: обновления линеек 22 LTS, 24 LTS и 26 Current

Разработчики экосистемы Node.js получили масштабный повод для аудита зависимостей: сообщество OpenJS Foundation и основная команда мейнтейнеров платформы синхронно представили свежие релизы сразу трех активных релизных линеек.

Обновления затронули проверенную временем версию с долгосрочной поддержкой Node.js 22.23.4 (LTS Jod), современный промышленный стандарт Node.js 24.22.1 (LTS Krypton) и передовую ветку для энтузиастов Node.js 26.12.1 (Current).

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

Давай детально разберем ключевые новшества каждой ветки по порядку.

Node.js 22.23.4 LTS

Ветка Node.js 22 находится в фазе активной долгосрочной поддержки (Active LTS). Это фундамент большинства корпоративных бэкендов, где во главу угла ставятся надежность, обратная совместимость и предсказуемость под высокой нагрузкой.

Главный фокус релиза 22.23.4 — безопасность и устранение утечек ресурсов:

  1. Патчи протокола HTTP/2: закрыта уязвимость отказа в обслуживании (DoS), при которой отправка специально сформированных пакетов с пустыми фреймами CONTINUATION вызывала лавинообразное потребление оперативной памяти процессом.
  2. Утечки дескрипторов в node:fs: исправлен редкий баг в потоках чтения fs.createReadStream, когда при неожиданном разрыве соединения клиентом файловый дескриптор мог оставаться открытым в пуле операционной системы.
  3. Стабилизация libuv: обновлена внутренняя низкоуровневая библиотека асинхронного ввода-вывода libuv. Улучшена балансировка задач в пуле системных потоков при переопределении переменной окружения UV_THREADPOOL_SIZE.

Если твой продакшен работает на 22-й ветке, обновление строго рекомендуется к плановой установке в рамках ближайшего релизного окна.

Node.js 24.22.1 LTS

Линейка Node.js 24 является флагманской для всех новых проектов. И именно здесь разработчиков ждет самое приятное прикладное новшество: нативные утилиты throttle и debounce в стандартном модуле node:util!

Сколько лет JavaScript-разработчики были вынуждены тянуть многомегабайтные пакеты lodash или микробиблиотеки ради двух простых функций ограничения частоты вызовов? Теперь эта функциональность встроена в ядро платформы:

import { throttle, debounce } from 'node:util';

// Пример использования throttle для ограничения частоты записи метрик
function sendMetrics(payload) {
  console.log('Метрика отправлена на сервер:', new Date().toISOString(), payload);
}

// Вызываем функцию не чаще одного раза в 500 миллисекунд
const throttledSendMetrics = throttle(sendMetrics, 500);

// Пример использования debounce для обработки ввода пользователя
function onSearchQueryChange(query) {
  console.log('Поиск по базе данных:', query);
}

// Запрос выполнится только после того, как пользователь сделает паузу в 300 мс
const debouncedSearch = debounce(onSearchQueryChange, 300);

Утилиты написаны на C++ с бесшовной интеграцией в цикл событий Node.js, корректно обрабатывают передачу аргументов, очистку таймеров через .clear() и не создают лишних замыканий в памяти V8.

Также в релизе 24.22.1 улучшена работа встроенного тест-раннера (node:test) — добавлена поддержка параллельного выполнения тестовых сюит с изолированными моками таймеров. О том, как развивались криптографические алгоритмы в этой линейке, мы ранее разбирали в статье о новых горизонтах криптографии в синхронных релизах Node.js 24 и 26.

Node.js 26.12.1 Current

Линейка 26 Current служит полигоном для обкатки самых смелых инноваций платформы. Сюда попадают экспериментальные возможности, которые станут стандартом для будущих LTS-версий.

Ключевые изменения в версии 26.12.1:

  • Обновление движка V8: интеграция свежего компилятора V8 приносит оптимизацию инлайн-кэшей (Inline Caches) для полиморфных объектов и ускорение выполнения регулярных выражений до 15% на ARM64-архитектурах (Apple Silicon, AWS Graviton).
  • Экспериментальная поддержка WebGPU: развитие серверного интерфейса WebGPU для вычислений общего назначения и ускорения локального инференса нейросетей прямо в JavaScript-рантайме без внешних C++ аддонов.
  • Поддержка Import Attributes: стабилизация синтаксиса import data from './config.json' with { type: 'json' } в соответствии со стандартом ECMA.
// Свежий синтаксис импорта JSON в Node.js 26 Current
import appConfig from './appsettings.json' with { type: 'json' };

console.log('Запущен сервис:', appConfig.serviceName, 'версия:', process.version);

Итоги и стратегия перехода

Синхронный выпуск трех релизов демонстрирует зрелость и предсказуемость экосистемы Node.js.

Для промышленных сервисов стратегия остается классической:

  • Проекты на 22 ветке обновляются в рамках минорного бампа безопасности 22.23.4.
  • Новые сервисы разворачиваются на 24.22.1 LTS, где можно смело чистить package.json от устаревших утилит lodash.debounce и throttle-debounce.
  • Экспериментальная линейка 26.12.1 идеально подойдет для pet-проектов, тестирования серверного WebGPU и проверки совместимости кода с будущими стандартами.