30秒で判断
- 対応すべき人: Node.js 26.x(Current)を使用しており、package maps・readFile バッファ供給 API・TCP keepalive 詳細設定などの新機能を活用したい開発者
- 対応不要な人: Node.js 24(LTS)または 22(LTS)を使用中(今回の新機能は v26 Current のみ対象)、現時点で新機能を使用しないプロジェクト
- 確認コマンド:
node -v
この変更が意味すること
Node.js v26.4.0 が2026年6月24日にリリースされました。セキュリティ修正ではなく、複数の SEMVER-MINOR 新機能を含む通常リリースです。破壊的変更はなく、後方互換性を維持しています。
今回最も注目すべきは package maps の実装(loader モジュール)です。package maps は Node.js のモジュール解決を高度にカスタマイズできる仕組みで、モノレポ環境やライブラリ開発でのパス解決を柔軟に定義できるようになります。
また、fs.readFile() に呼び出し側が供給したバッファを直接渡せるようになり、ゼロコピー読み取りやバッファプーリングによるメモリ効率の改善が可能になりました。高スループットなファイル I/O が必要なサーバーサイドアプリケーションに恩恵があります。
主な変更点
loader: package maps の実装(SEMVER-MINOR)
ESM ローダーに package maps を実装。package.json の "imports" / "exports" フィールドと組み合わせ、カスタムマップでモジュール解決を制御できるようになりました。
Contributors: Maël Nison(PR #62239)
fs: caller-supplied readFile() バッファのサポート(SEMVER-MINOR)
fs.readFile() および fs.promises.readFile() に、呼び出し側が用意した Buffer を渡せる API が追加されました。Node.js が内部でバッファをアロケートする代わりに、事前に確保したバッファを再利用できます。
Contributors: Matteo Collina(PR #63634)
http: closeIdleConnections でのプリリクエストソケットクローズ(SEMVER-MINOR)
http.Agent.closeIdleConnections() が、リクエスト待ち状態(pre-request)のソケットも閉じるように改善されました。グレースフルシャットダウン時のソケットリーク防止に役立ちます。
net: TCP_KEEPINTVL / TCP_KEEPIDLE サポート(SEMVER-MINOR)
ソケットで TCP keepalive の詳細パラメータ(keepalive 間隔・アイドル時間)を個別に設定できるようになりました。長時間接続を維持するアプリケーションでのチューニングに活用できます。
doc: blockList 安定性を Release Candidate に更新(SEMVER-MINOR)
net.BlockList API の安定性ステータスが Release Candidate に昇格しました。正式安定化に向けて最終段階に入っています。
EOL / サポート状況
| サイクル | 最新バージョン | LTS移行 | EOL |
|---|---|---|---|
| 26 (Current) | v26.4.0 | 2026-10-28 予定 | 2029-04-30 |
| 25 | 25.9.0 | - | 2026-06-01(EOL済み) |
| 24 (LTS) | 24.18.0 | 2025-10-28 | 2028-04-30 |
| 22 (LTS) | 22.23.1 | 2024-10-29 | 2027-04-30 |
Node.js 25 は2026年6月1日にEOL済みです。v24(LTS)または v26(Current)への移行が必要です。
開発者への影響
- Node.js 26 利用者: 新機能のみ追加で後方互換性を維持。安心してアップデートできます
- ESM / モジュール解決カスタマイズが必要なプロジェクト: package maps で柔軟な解決ルールを定義できます
- 高スループット ファイル I/O アプリ:
readFile()のバッファ供給 API でメモリ効率を改善できます - 長時間接続アプリケーション: TCP keepalive パラメータの細かい制御が可能になりました
- グレースフルシャットダウンを実装しているアプリ:
closeIdleConnectionsの挙動変更で未使用ソケットをより確実にクリーンアップできます
アップデート方法
# nvm
nvm install 26.4.0
nvm use 26.4.0
# volta
volta install node@26.4.0
# fnm
fnm install 26.4.0
fnm use 26.4.0
# Docker
docker pull node:26.4.0
docker pull node:26-alpine
データソース: GitHub Releases API, endoflife.date
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
