この変更が意味すること
Node.js v26.1.0 がリリースされました。v26 系(Current)の最初のマイナーアップデートで、最大の目玉は 実験的な node:ffi モジュール の追加です。
node:ffi を使えば、N-API や node-addon-api を介さずに、JavaScript から直接ダイナミックライブラリを読み込みネイティブ関数を呼び出せるようになります。これは Node.js のネイティブコード連携において大きなパラダイムシフトとなる可能性がありますが、メモリ安全性の保証はなく inherently unsafe と公式に明記されています。
不正なポインタ、誤ったシグネチャ、解放済みメモリへのアクセスはプロセスのクラッシュやメモリ破壊を引き起こすため、プロダクション利用には慎重な判断が必要です。
主な変更点
実験的 node:ffi モジュール
ダイナミックライブラリの読み込みとネイティブシンボルの JavaScript からの呼び出しを可能にする新モジュールです。
--experimental-ffiフラグで有効化- Permission Model 有効時は
--allow-ffiも必要 - メモリ安全性の保証なし — 不正なポインタ、誤ったシグネチャ、解放済みメモリアクセスはクラッシュやメモリ破壊の原因に
従来の N-API / node-addon-api ではネイティブアドオンのビルドが必要でしたが、node:ffi ではビルドステップなしにシステム上の .so / .dylib / .dll を直接ロードできます。
Contributed by Paolo Insogna in #62072
buffer: end パラメータの追加
Buffer 操作に end パラメータが追加され、部分的なバッファ操作がより柔軟になりました。スライス操作を簡潔に記述できるようになります。
PR: #62390 by Robert Nagy
crypto: crypto.diffieHellman() の改善
crypto.diffieHellman() でキーデータの直接受け渡しが可能になり、DH ジョブのクリーンアップも行われました。暗号処理のインターフェースがよりシンプルになっています。
PR: #62527 by Filip Skokan
EOL / サポート状況
| サイクル | 最新バージョン | LTS | EOL |
|---|---|---|---|
| 26 (Current) | 26.1.0 | - | - |
| 25 | 25.9.0 | - | 2026-06-01 |
| 24 (LTS) | 24.15.0 | 2025-10-28 | 2028-04-30 |
| 22 (LTS) | 22.22.2 | 2024-10-29 | 2027-04-30 |
Node.js 25 は 2026年6月1日に EOL を迎えます(残り24日)。25 系を利用中の方は、LTS の 24 系または最新の 26 系への移行を計画してください。
開発者への影響
- FFI に関心のある開発者:
node:ffiを試す際は--experimental-ffiフラグを指定してください。N-API を使わずにネイティブコードを呼び出せますが、本番利用は時期尚早です - Buffer を頻繁に操作するプロジェクト:
endパラメータの追加で部分操作が簡潔に書けるようになります - 暗号処理を行うプロジェクト:
crypto.diffieHellman()の改善でキーデータの取り扱いが柔軟に - Node.js 25 利用者: EOL まで残り24日。LTS 24 系か Current 26 系への移行を検討してください
アップデート方法
# nvm
nvm install 26.1.0
nvm use 26.1.0
# volta
volta install node@26.1.0
# fnm
fnm install 26.1.0
fnm use 26.1.0
# Docker
docker pull node:26.1.0
データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
