Перейти к содержанию
ERITKOM
Open SourceНовость

Node.js 26 Lithium перешёл на длительную поддержку

Релиз 26.13.0 меняет статус ветки и срок сопровождения. Temporal и другие возможности появились раньше, за время стадии Current.

Официальная схема сроков сопровождения веток Node.js
Изображение: Node.js / OpenJS Foundation, официальный источник.

LTS начинается с изменения статуса

28 октября Node.js 26.13.0 получил статус Long Term Support и кодовое имя Lithium. Проект объявил обновления до конца апреля 2029 года. Сам выпуск почти целиком посвящён переходу: кроме метаданных, отражающих LTS, новых изменений относительно 26.12.1 нет. Поэтому неправильно приписывать ему отдельный скачок производительности или большой набор октябрьских API. Содержательная новость — завершение стадии Current и появление длительно сопровождаемой ветки для обычного применения. Объект process.release тоже отражает статус поставки. Ранее выпущенные ветки 24 и 22 продолжают существовать в своём жизненном цикле; число версии и длительность сопровождения — разные характеристики.

Что уже накопилось в ветке 26

При первом выпуске Node.js 26 в мае проект включил Temporal по умолчанию. Этот API предлагает более выразительную модель дат и времени, чем старый Date, позволяя разделять календарные значения и моменты времени. В исходной поставке обновились V8 до 14.6 и HTTP-клиент Undici до восьмой версии. В JavaScript появились дополнительные операции Map и WeakMap для получения либо вставки значения, а также соединение итераторов. Эти изменения составляют контекст перехода на 26, но не были добавлены заново 28 октября. Пользователь, обновляющийся с последнего Current той же ветки, получает совсем иной объём изменений, чем приложение, перескакивающее через несколько основных версий с 22 или 24.

Совместимость затрагивает и окружение

В заметке о LTS отдельно выделена зависимость официальных Linux-бинарных файлов от libatomic, введённая начиная с Node.js 25. В некоторых дистрибутивах библиотеку требуется установить отдельно. В основной ветке 26 также были удалены устаревший writeHeader и старые внутренние модули потоков _stream_*. Взамен для HTTP-заголовка используется writeHead; прямое обращение к внутренним потоковым модулям больше не является рабочим путём. Такие изменения относятся к major-переходу и могут находиться внутри зависимости, даже если собственный код приложения не использует старый API. Поэтому бинарная установка среды и совместимость дерева пакетов описывают разные части обновления. Официальные сборки опубликованы для Windows, macOS и нескольких Linux-архитектур.

Как меняется календарь следующих версий

Документация проекта объясняет новую схему начиная с Node.js 27: ежегодная основная версия, предварительная Alpha-фаза и последующий переход каждой основной ветки в LTS. Это отличается от исторического разделения, при котором нечётные версии оставались короткоживущими, а чётные получали длительную поддержку. На 30 октября Node.js 27 находится в Alpha; его номер не делает его рекомендуемым продолжением Lithium для рабочих приложений. На странице Releases отдельно обозначены Current, LTS и End of Life. Таким образом, октябрьский 26.13.0 одновременно завершает старый привычный этап ветки 26 и соседствует с началом нового календаря. Для точной идентификации поставки нужны номер, дата и статус, а не только крупная цифра в названии.

Источники

Принципы журнала и исправления.

ERITKOM / НОВЫЙ ПРОЕКТ

Расскажите о задаче и оставьте контакты. Мы свяжемся с вами, чтобы обсудить проект.

  1. 01 Контакты
  2. 02 Ваша задача