概要
Node.jsプロジェクトは2026年6月1日、現行の最新ラインである26系のマイナーアップデート「Node.js 26.3.0」をリリースした。リリース担当は@aduh95が務め、バッファ管理の改善、パーミッション制御の新機能、HTTP検証オプションの追加、暗号関連の強化など、幅広い領域にわたる100以上の変更が含まれる。
主な変更点
Buffer.poolSizeのデフォルト値を64KiBに拡大
今回のリリースで注目される変更の一つが、Buffer.poolSizeのデフォルト値を従来の8KiBから64KiBへと引き上げたことだ(セマンティック的にはマイナー変更として扱われる)。Bufferプールは小さなBufferオブジェクトを確保する際のメモリ効率化に使われるが、デフォルト値の拡大によりメモリ割り当て頻度が減少し、I/O負荷の高いアプリケーションでのパフォーマンス向上が期待できる。
permission.dropの追加
permission.drop機能が新たに追加された(セマンティック・マイナー変更)。これにより、実行中のプロセスが保有するパーミッションを動的に削除することが可能になる。最小権限の原則に従い、必要なフェーズが終わった後にパーミッションを剥奪するといったセキュリティ強化が実現しやすくなる。
httpValidationオプションの追加
HTTPモジュールにヘッダー値検証を設定するためのhttpValidationオプションが追加された。これにより、HTTPヘッダー値の検証ポリシーをアプリケーションレベルで制御できるようになる。
WebCryptoのプロトタイプ汚染対策強化
WebCrypto APIにおいてプロトタイプ汚染(prototype pollution)に対する防御が強化された。悪意ある入力がObject.prototypeを汚染するリスクを低減し、セキュリティ面での信頼性が向上した。
その他の主要アップデート
- npm 11.16.0へアップグレード: パッケージマネージャーが最新版に更新された
- ルート証明書をNSS 3.123.1に更新: TLS通信に使用するルートCA証明書バンドルが最新化された
- QUIC機能の大幅拡張: ホスト名検証、レート制限、タイムアウト設定など、実験的なQUIC実装が多数の機能強化を受けた
- インスペクター機能の改善: JavaScriptランタイムへの正確なカバレッジ開始情報が公開されるようになった
- SQLiteモジュールの改善: 組み込みSQLite機能に複数の修正が加えられた
- ストリーム処理の修正: ストリームAPIに関する複数のバグが修正された
- macOSユニバーサルバイナリに関する注記: Appleがインテルアーキテクチャのサポートを段階的に廃止しているため、Node.jsプロジェクトがユニバーサルバイナリを長期的に維持できない可能性があることが明記された(現時点では引き続き両アーキテクチャのバイナリを配布予定)
まとめ
Node.js 26.3.0は多岐にわたる改善が詰め込まれたマイナーリリースだ。とりわけBuffer.poolSizeの64KiB化はパフォーマンス面での実質的な恩恵が見込まれ、permission.dropの追加はセキュリティ要件の厳しいアプリケーション開発者にとって待望の機能となる。最新版は公式サイトおよびGitHubリリースページからダウンロード可能だ。