Node.js 26.11.0が公開、buffer・httpにAPI追加しsqliteは名称変更

Node.js 26.11.0が公開、buffer・httpにAPI追加しsqliteは名称変更 ニュース

ニュースの概要

Node.js プロジェクトは 2026年10月7日、Current 系列の Node.js 26.11.0 を公開しました。同じ日のうちに、直後の 26.11.1 も出ています。26.11.0 には、buffer や http などへの API 追加、process.ref / process.unref の stable 化、WebCrypto や FFI まわりの複数の修正、OpenSSL 3.5.9 への更新などが含まれます。26.11.1 は、ドキュメントのビルドまわりの変更 3件を取り消す小さなリリースです。

Node.js のインストールとバージョン選びの基本は、Node.jsのインストール方法|LTSの選び方とバージョン確認で整理しています。

何が変わるのか

公式のリリースノート(26.11.0)に Notable Changes として載っている主な項目は次のとおりです。

追加された API・オプション

  • buffer: isLatin1 と Buffer.stringLength() を追加
  • http: isValidHeaderName() と isValidHeaderValue() を追加
  • http2: connectionWindowSize オプションを追加
  • perf_hooks: histogram.diff() と histogram.snapshot() を追加
  • コマンドライン: --process-timeout=N を追加
  • ヒーププロファイルの出力に size と count を追加

挙動の修正・変更

  • process.ref / process.unref を stable に昇格
  • perf_hooks の monitorEventLoopDelay() の resolution の切り捨てを修正。RecordableHistogram が 0 を記録できるように
  • sqlite: DatabaseSync と StatementSync の名称変更(変更後の名前はリリースノートのページ上では確認できませんでした)
  • Alpine Linux を tier 2 サポートに昇格

そのほかのコミットと依存関係

  • crypto(WebCrypto): AES-GCM で短い IV を許可、AES-KW で短い入力を拒否、JWK エクスポートの失敗を OperationError にマップするなどの修正
  • ffi: ポインタ範囲の検証、use-after-free の修正など、安全性に関する修正が複数
  • リリースノートの Notable Changes には、histogram の CBOR インポート検証の強化と、embedder が linked bindings を addon の権限の対象外にできる変更も載っています
  • OpenSSL 3.5.9、npm 11.20.0、undici 8.11.2、タイムゾーンデータ 2026e などに更新、NSS 3.129 のルート証明書を更新

26.11.1 のコミットは、build・build, doc・tools の 3件の Revert です。このうち build, doc は、26.11.0 の Notable Changes にあったドキュメントサイトのリデザイン移行を取り消すもので、これが 26.11.1 が出た理由だと読み取れます。リリースノートには、Notable Changes もセキュリティに関する記載もありません。

読者への影響

Node.js 26.x は Current 系列で、ブログの表示では v24.21.0 が Latest LTS、v26.11.1 が Latest Release となっています。一般に、本番環境や仕事の案件では、長期サポート(LTS)の系列を使うのが基本とされています(この記事の出典には書かれていない一般論です)。Current に上げるのは、新しい API を試したい開発者や、次の LTS に向けて検証したいチームが中心になります。

影響を受けやすいのは次のような人です。

  • HTTP ヘッダーを自前で組み立てている人(isValidHeaderName() などの検証関数が使えるようになる)
  • パフォーマンス計測に perf_hooks のヒストグラムを使っている人
  • 組み込み SQLite(node:sqlite)を使っている人(名称変更の内容を、更新前に確認する)
  • WebCrypto で AES-GCM・AES-KW を使っている人(受け付ける入力の条件が変わる項目がある)
  • Alpine Linux のコンテナ上で Node.js を動かしている人(tier 2 サポートへの昇格)

確認すること

  1. node -v で現在のバージョンを確認する。26.x の Current を使っている場合は、26.11.1 が最新のパッチ。
  2. 26.11.0 の公式リリースノートで、sqlite の名称変更後の名前と、自分のコードへの影響を確認する。
  3. WebCrypto・FFI を使っているコードがあれば、テストを走らせて、入力の条件が変わった箇所で失敗しないかを見る。
  4. CI で Node.js のバージョンを固定している場合は、Current を試す専用のジョブを分けて追加し、本番のバージョンは変えない。
  5. 本番で使う前に、LTS の系列に同じ修正が入るのか、予定を公式ブログで確認する。

筆者の見解

今回のリリースで目立つのは、新機能より WebCrypto と FFI の修正の多さだと考えます。暗号の入力条件の変更は、動いていたコードが急に例外で止まる原因になりうるため、Current を試す人こそテストで先に確かめておく価値があります。

もう 1つ見逃したくないのは、26.11.1 が同じ日に出た点です。26.11.1 で取り消されたのは 26.11.0 のドキュメントサイトのリデザイン移行で、実行時の挙動を変える修正は載っていません。それでも公式ブログの Latest Release は 26.11.1 なので、バージョン管理ツールやコンテナイメージの最新版と揃える意味で、26.11.1 を基準にするのが分かりやすいと考えます。また、26.11.0 には ffi の use-after-free の修正も含まれています。FFI を使っている人は、新機能より先にこの修正を確認する価値があります。

なお、リリースノートにセキュリティリリースとしての告知や CVE の記載は見当たりませんが、ffi の use-after-free の修正のように、安全性に関わる修正は含まれています。脆弱性の情報が必要な場合は、Node.js のセキュリティ関連の告知で別に確認してください。

出典(一次情報)

2026年10月11日時点の情報です。

タイトルとURLをコピーしました