Node.js 26.8.1 — исправлена ошибочная alpha-маркировка версии

Node.js 26.8.1 выпущен 26 августа 2026 года как внеплановое исправление для ветки Current. Релиз устраняет ошибку Node.js 26.8.0, из-за которой команда node --version возвращала alpha-версию вместо обычного номера выпуска; функциональные изменения 26.8.0 при этом сохраняются.

Node.js 26.8.1
Node.js 26.8.1

Node.js 26.8.1 возвращает корректную строку версии

Node.js 26.8.1 появился в тот же день, что и Node.js 26.8.0, и разработчики прямо называют его out-of-band release — внеплановым выпуском, подготовленным для исправления конкретной ошибки. В официальных примечаниях к релизу указано, что проблема затрагивала результат команды node --version: вместо нормальной версии Node.js сообщал, что используется alpha-сборка.

Ошибка была зарегистрирована в официальном репозитории Node.js как подтверждённый баг. Для бинарных сборок Node.js 26.8.0 на macOS и Linux команда возвращала:

v26.8.0-alpha.0.0.0

вместо ожидаемого:

v26.8.0

Проблема воспроизводилась постоянно после установки бинарного релиза 26.8.0. Это зафиксировано в issue #65566, открытом 26 августа.

Исправление было внесено коммитом ebd35a9eec и оформлено через pull request #65568. Изменение небольшое по объёму — в исходном коде удалены строки, из-за которых стабильный выпуск ветки 26.x получал ошибочное обозначение alpha.

Почему неправильная версия могла мешать инструментам

Ошибка Node.js 26.8.0 не меняла сам JavaScript-движок на экспериментальную сборку, но неверная строка версии могла влиять на инструменты, которые принимают решения на основе SemVer. Суффикс -alpha... формально превращает обычную версию в предварительный релиз, поэтому менеджеры версий, установщики, CI/CD-скрипты и проверки совместимости могут обрабатывать такую сборку иначе.

Практический риск зависит от окружения. Если приложение просто запускается на Node.js и нигде не проверяет номер версии, разницы можно было не заметить. Но сценарии вроде этих уже чувствительны к такой ошибке:

  • проверка минимальной или разрешённой версии Node.js в install-скриптах;
  • разбор вывода node -v в CI/CD и контейнерных сборках;
  • правила, запрещающие использование prerelease-версий в production;
  • автоматический выбор рантайма по SemVer-диапазону;
  • диагностические и inventory-системы, которые классифицируют окружение по версии Node.js.

Поэтому Node.js 26.8.1 стоит рассматривать не как функциональное обновление, а как замену ошибочно промаркированного 26.8.0. Для систем, уже перешедших на ветку 26.x и закрепивших именно 26.8.0, переход на 26.8.1 устраняет неоднозначность без необходимости менять приложение.

Функциональные изменения Node.js 26.8.0 остаются в 26.8.1

Node.js 26.8.1 не отменяет содержимое предыдущего минорного релиза. Исправлена маркировка версии, а набор изменений Node.js 26.8.0 остаётся основой нового выпуска.

Среди заметных изменений Node.js 26.8.0:

  • в API Cipher и Decipher добавлена поддержка режимов SIV и GCM-SIV;
  • diagnostics_channel.TracingChannel переведён в стабильный статус;
  • корневые сертификаты обновлены до набора NSS 3.126;
  • улучшена реализация histogram;
  • оптимизирована производительность net.BlockList;
  • обновлены отдельные встроенные зависимости, включая zlib и simdjson;
  • исправлена работа отключения FIPS mode;
  • внесены исправления в HTTP/2, inspector и source maps.

Именно поэтому пользователям Node.js 26.8.0 нет смысла откатываться на более раннюю ветку только из-за ошибки с node --version. Актуальным исправлением для этой ситуации является 26.8.1.

В релиз вошло исправление служебного Nix-скрипта

Помимо корректировки версии, официальный changelog Node.js 26.8.1 содержит ещё один коммит — 0b0dd87fcc, связанный с tools/nix/list-requisites.sh. Изменение относится к служебной инфраструктуре проекта и было подготовлено как backport для ветки 26.x через pull request #65560.

Для большинства разработчиков приложений этот коммит не меняет поведение Node.js. Его практическая значимость заметно ниже, чем исправление строки версии, и в официальном анонсе он не вынесен в список notable changes.

Кому стоит обновиться с Node.js 26.8.0

Node.js 26.8.1 в первую очередь нужен тем, кто уже установил 26.8.0 или закрепил эту версию в автоматизированной инфраструктуре. Проверить текущее состояние можно обычной командой:

node --version

Если окружение сообщает v26.8.0-alpha.0.0.0, логичным исправлением будет переход на Node.js 26.8.1. После обновления инструменты, ориентирующиеся на SemVer, снова будут видеть обычный Current-релиз без prerelease-суффикса.

Официальные сборки 26.8.1 опубликованы для Windows x64 и ARM64, macOS на Intel и Apple Silicon, Linux x64, ARM64, PPC64LE и s390x, а также AIX. На странице релиза доступны архивы исходного кода, бинарные пакеты и подписанные SHA-256-суммы.

Пользователям LTS-веток, которые не переходили на Node.js 26.x, срочно менять рабочее окружение из-за этого выпуска не требуется. Node.js 26.8.1 устраняет дефект конкретного релиза 26.8.0 и не является отдельным обновлением безопасности.

Резюме

Node.js 26.8.1 закрывает короткоживущую, но потенциально неприятную ошибку релиза 26.8.0: стабильная сборка больше не идентифицирует себя как alpha. Для обычного выполнения JavaScript это исправление почти незаметно, зато оно возвращает корректное поведение проверкам версий, CI/CD-сценариям и другим инструментам, работающим с SemVer.

Если Node.js 26.8.0 уже используется, обновление до 26.8.1 имеет высокий практический приоритет именно из-за корректности идентификации рантайма. Если инфраструктура остаётся на поддерживаемой LTS-ветке, этот релиз можно рассматривать как локальное исправление Current-линейки, а не как повод для внеплановой миграции.

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

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