Node.js 24 (Krypton) переведен в LTS — V8 13.6, npm 11 и переход на Windows toolchain

Node.jsRuntimeDevOps

Основное обновление

Node.js 24 (кодовое название "Krypton") перешел в долгосрочную поддержку 2025‑10‑28. (nodejs.org) Он объединяет несколько изменений платформы, которые влияют на производственные сборки и CI: V8 обновлен до 13.6, npm обновлен до 11, URLPattern стал доступен глобально, AsyncLocalStorage теперь по умолчанию использует AsyncContextFrame, включен Undici 7, а экспериментальный флаг разрешений был упрощен до --permission. Критически для команд, которые собирают Node или нативные аддоны на Windows, поддержка MSVC была удалена, и теперь для компиляции Node из исходников требуется ClangCL. (nodejs.org) Известное поведение Buffer.allocUnsafe (буферы, заполненные нулями) появилось в линии 24.x, но было исправлено в первом патч-релизе LTS (v24.11.1). (nodejs.org)

Почему это важно

Это практическая веха миграции, а не косметическое обновление. Действительные последствия:

  • Нативные модули и любой код, полагающийся на внутренности V8, нуждаются в пересборке и проверке, поскольку V8 13.6 увеличивает ABI и вводит новые глобальные переменные; тестируйте и пересобирайте в staging. (nodejs.org)
  • CI-образы Windows, которые ранее предполагали использование MSVC, должны быть обновлены для предоставления инструментальных цепочек ClangCL (или использовать официальные бинарные файлы Node) — невыполнение этого приведет к сбоям в сборке из исходников и компиляции нативных аддонов. (nodejs.org)
  • Пропаганда контекста Async и инструменты трассировки/мониторинга должны быть проверены на соответствие умолчанию AsyncContextFrame, чтобы обнаружить тонкие изменения в корреляции запросов/трассировки. (nodejs.org)
  • npm 11 и Undici 7 могут повлиять на производительность установки, поведение lockfile и семантику HTTP-клиента в CI/монорепозиториях — запускайте CI-задания против образа Node 24 LTS, чтобы рано обнаружить регрессии. (nodejs.org)
  • Поскольку регрессия Buffer.allocUnsafe была обнаружена и затем исправлена, зафиксируйте свои staging/production образы на первом исправленном LTS (v24.11.1) и проведите тесты низкоуровневого крипто/KDF (например, пути pbkdf2) перед развертыванием. (nodejs.org)

Источник

Читать дальше