Node.js 24.16 LTS и 26 Current: обновление рантайма стало работой по чеклисту

Dev

Node.js 24.16.0 является актуальной LTS-линией, а Node.js 26.3.0 — Current-линией. Для команд это означает две дорожки: безопасные улучшения в LTS и ранний поиск поломок в Current.

Node.js 24.16 LTS and Node.js 26 Current upgrade checklist diagram
Node.js LTS and Current upgrade checklist for engineering teams.

Что произошло

В 24.16.0 появились randomUUIDv7(), req.signal и рандомизация порядка тестов. В Node 26 Temporal включен по умолчанию, обновлены V8 и Undici, удалены старые HTTP/stream API.

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

В обсуждениях разработчики рады Temporal, но говорят о helper-слоях, зависимостях и проверках. Это полезный сигнал тревог, но факты нужно брать из официальных release notes.

Сигналы сообщества

Добавьте CI matrix, собирайте deprecation warnings, тестируйте UUIDv7 только на новых write paths, прокиньте AbortSignal в дорогой HTTP-путь и вынесите логику времени перед Temporal.

Практический чеклист

  • CI matrix: production Node, Node 24 LTS, Node 26 Current.
  • Deprecation warnings: collect and assign owners.
  • randomUUIDv7(): test on new write paths first.
  • req.signal: propagate cancellation through expensive request paths.
  • Temporal: wrap date/time logic before migration.
  • TypeScript: remember Node type stripping does not type-check and does not honor every tsconfig.json feature.
import { randomUUIDv7 } from 'node:crypto'
const id = randomUUIDv7()
await fetch(url, { signal: req.signal })

Риски

Node 26 все еще Current. Temporal не заменяется через search-and-replace, а UUIDv7 требует измерений на реальной схеме данных.

Источники