
2026/05/21 3:48
Node.js 26.0.0(現在、Temporal を搭載)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
現在のサマリーは明確であり、バージョン更新 → Temporal API → セキュリティ → Python の廃止」という主要な物語の構造(アーキ)を捉えていますが、キーポイントで提供されている詳細性、具体的には廃止された特定の API、正確な V8 ビルド番号・機能、ダウンロード検証の詳細については不足しています。これらを含むわずかに詳実なバージョンは、提供された「キーポイントリスト」に基づけばより高品質となります。
以下に、欠落している技術的な特定事項を統合しつつ、流れを保ちながら改善されたサマリーを示します:
改善されたサマリー: Rafael Gonzaga によりリリースされた Node.js 26.0.0 は現在のバージョンであり、レガシーの
Date オブジェクトに対するより安全で正確な代替案としての Temporal API をデフォルトで有効化することで重要な転換点を示しています(Richard Lau が寄与)。内部では、V8 エンジン 14.6.202.33(Chromium 146 の一部)へのアップグレードが実装され、Upsert およびイテレータ配列化などの機能に加え、Undici 8.0.2 を通じた HTTP の更新が行われています。重要なのは、バージョン 26 が半年間「Current ブランチ」として主要に位置付けられ、その後 10 月にロングタームサポート(LTS)に移行することです。
このメジャーリリースには大規模なクリーンアップが含まれます:Python 3.9 のビルドプロセスへの対応は終了し(Mike McCready が寄与)、
--experimental-transform-types や module.register() API、_stream_* モジュールなどのいくつかの実験的機能は削除またはリセットされ、writeHeader メソッドは End-of-Life に移行されています。また、配列インデックスのハッシュ衝突を防ぐために、重要なセキュリティ脆弱性 CVE-2026-21717 が修正されました(Joyee Cheung が寄与)。特定のバイナリ、ヘッダー、またはソースコードが必要な開発者向けに、Windows、macOS、Linux、その他のアーキテクチャに対して PGP サインと SHA256 ハッシュによる検証済みダウンロードが利用可能です。レガシーの日付関数や Python 3.9 エンビロメントを使用する組織は、セキュリティおよび互換性を維持するために即座に更新を行う必要があります。本文
Node.js 26 リリースノート
作成日: 2026 年 5 月 5 日
バージョン: 26.0.0 (Current)
リリースノート作成者: @RafaelGSS
はじめに
Node.js 26 のリリースを心より歓迎いたします。本バージョンの主な特徴は、デフォルトで有効化された Temporal API、V8 JavaScript エンジンへの 14.6 バージョンへのアップデート、Undici への 8.0 バージョンへの更新、ならびにプラットフォームの近代化に伴う重要な非推奨機能の移動および廃止です。
なお、Node.js 26 は今年 10 月に長期サポート (LTS) に移行いたしますが、その間も引き続き「Current」リリースとして維持されます。皆様におかれましては、この最新リリースの新機能や利点を検討し、ご自身のアプリケーションへの影響を評価されるようお勧め申し上げます。
主要な変更点
Temporal API
- Node.js 26 において、Temporal API はデフォルトで有効化されました。Temporal は JavaScript 向けに設計された現代的な日時操作 API で、従来の
オブジェクトに対するより堅牢かつ機能豊かな代替手段を提供します。Date- 貢献者: Richard Lau (#61806)
V8 エンジン 14.6
- V8 エンジンのバージョンが 14.6.202.33 に更新されました (Chromium 146 の一部)。
- 追加機能:
- Upsert ([Weak]Map.prototype.getOrInsert, [Weak]Map.prototype.getOrInsertComputed): https://github.com/tc39/proposal-upsert
- Iterator sequencing Iterator.concat(): https://github.com/tc39/proposal-iterator-sequencing
- 貢献者: Michaël Zasso (#61898)
Undici 8.0
- Undici はバージョン 8.0.2 に更新され、Node.js の HTTP クライアント実装に新たな機能と改善をもたらしました。
非推奨機能および廃止 (Deprecations and Removals)
本節に示される変更はすべて SEMVER-MAJOR (メジャーな変更) に分類されます。
| コミットハッシュ | カテゴリ | 詳細 | 貢献者 |
|---|---|---|---|
| crypto: DEP0182 を End-of-Life に移動 | #61084 | Tobias Nießen |
| http: writeHeader を End-of-Life に移動 | 廃止: 代替: の使用を推奨いたします。 | Sebastian Beltran (#60635) |
| stream: stream* を End-of-Life に移動 | 廃止: , , , , , モジュール | Sebastian Beltran (#60657) |
| crypto: DEP0203 および DEP0204 のランタイム非推奨化 | #62453 | Filip Skokan |
| stream: DEP0201 をランタイム非推奨へ移行 | #62173 | René |
| module: module.register() のランタイム非推奨化 | #62401 | Geoffrey Booth |
| module: --experimental-transform-types の廃止 | #61803 | Marco Ippolito |
Semver-Major Commits (主要変更のコミット一覧)
以下のコミットは、バージョン 26.0.0 に含まれるすべての
SEMVER-MAJOR クラスに分類されます。
- assert: printf スタイルのメッセージをアサーションエラーとして許可 (#58849)
- build: GCC の要件をバージョン 13.2 に引き上げました (#62555)
- build: Temporal API をデフォルトで有効化しました (#61806)
- build: デバッグビルドにおいて V8_VERIFY_WRITE_BARRIERS を有効化しました (#61898)
- build: エンベダー文字列を "-node.0" にリセットしました (#61898, #60488, #60111)
- build: AIX および IBM i 向けに Power9 ターゲットの対応を行いました (#62296)
- build: Python 3.9 のサポートを終了しました (#61177)
- build: Linux on s390x 向けに Maglev を有効化しました (#60863)
- (CVE-2026-21717): テスト - アレイインデックスハッシュ衝突を確認しました (#61898)
- build,win: Temporal ビルドの修正 (Stefan Stojanovic #61806)
- crypto: 非対称鍵の統一したインポート機能 (KeyObjectHandle::Init) を実装しました (#62499)
- crypto: DEP0203 および DEP0204 のランタイム非推奨化を行いました (#62453)
- crypto: 非同期的な暗号ジョブのエラーに OpenSSL エラーの詳細情報を追加しました (#62348)
- crypto: ML-KEM および ML-DSA pkcs8 エクスポートをシードのみ形式でデフォルト設定に変更しました (#62178)
- crypto: DEP0182 の End-of-Life 移行を行いました (#61084)
- crypto: 抽出できないキーに関するエラーメッセージの DOMException 名前を修正しました (#60830)
- deps: V8 cherry-pick (0f024d4e66e0, cd2c216e7658, 088b7112e7ab, 00f6e834029f, bef0d9c1bc90, cf1bce40a5ef, daf4656ba85e, d83f479604c8, edeb0a4fa181, aa0b288f87cc)
- deps: V8 による AIX での競合条件の修正 (#61898)
- deps: V8 による Windows ビルドの修正 (Stefan Stojanovic #61898)
- deps: highway@989a498fdf3 のバックポートを行いました (#61898, #60682)
- deps: illumos 全体に対する madvise(3C) のサポートを追加しました (#61898, #58237)
- deps: V8/illumos パッチの適用 (Dan McDonald #61898, #59805)
- deps: v8-internal から問題のあるコメントを削除しました (Michaël Zasso #61898, #58070)
- deps: Windows 上で V8_PRESERVE_MOST を無効化操作として定義しました (Stefan Stojanovic #61898, #56238)
- deps: zlib シンボルの重複を回避する V8 パッチの適用 (Michaël Zasso #61898, #54077)
- deps: V8 更新 14.6.202.33 (#61898)
- deps: Undici を 8.0.2 に更新しました (#62384)
- deps: V8 cherry-pick (151d0a44a1b2, 47800791b35c, fcf8b990c73c, 7107287)
- deps: AIX における OpenSSL の暗黙的な宣言の修正 (#62656)
- deps: libuv に対するコミット 3a9a6e3e6b の逆戻し (Antoine du Hamel #62511)
- deps: ICU をバージョン 78.3 に更新しました (#62324)
- deps: libuv をバージョン 1.52.1 に更新しました (#61829)
- deps: V8 パッチ系列 (14.3.127.x, 14.2.231.x) の適用
- diagnostics_channel: Promise を使用しない場合に tracePromise の一貫性を確保しました (#61766)
- doc: ドットなし CJS エラー (type:module パッケージ用) を削除しました (#62176)
- doc: サポート対象とする Windows SDK バージョンを 11 に更新しました (#61973)
- doc: p8 および z13 のサポートを終了しました (Milad Fa #61005)
- http: HTTP アップグレードとボディ処理の修正を行いました (#60016)
- lib: ファイルが存在しない localStorage に対して undefined を返すように変更しました (#61333)
- lib,src: QuotaExceededError を DOMException の派生インターフェースとして実装しました (#62293)
- module: --experimental-transform-types の廃止 (Marco Ippolito #61803)
- src: 非推奨の v8::External API への使用を置換しました (#61898)
- src: v8::PropertyCallbackInfo::This() の使用を終了しました (#61898)
- src: 非推奨の Wasm API の回避を行いました (Clemens Backes #61898)
- src: FixedArray::Get の非推奨回避を行いました (Clemens Backes #61898)
- src: NODE_MODULE_VERSION の更新 (147, 144, 142)
- src: node.h に node_api_types.h を含めるようにしました (#60496)
- src: 非推奨かつ未使用の isolate フィールドを削除しました (#60488)
- stream: 可読ストリームの一度にバッファを読み取る機能を強化しました (#60441)
- stream: Finished のみの AsyncLocalStorage 保存ロジックの最適化を行いました (avcribl #59873)
- test: Wasm アロケーションテストをワーカーでスキップするよう変更しました (#61898)
- test: WPT Wasm jsapi の期待値を更新しました (#61898)
- test: Temporal グローバルの存在確認をサポートするようにしました (#61898)
- test: v8::External の使用に型タグを追加しました (gahaas #61898)
- test: test-linux-perf-logger を修正しました (V8 14.3 用) (#60488)
- tools: v8.gyp から v8_initializers_slow ワークアラウンドを削除しました (#61898)
- tools: tools/make-v8.sh に Rust 引数を追加しました (Richard Lau #61898)
- tools: V8 gypfiles の更新 (14.6, 14.5, 14.4) (#61898, #60111)
- util: inspect モードにおいてプロキシオブジェクトをマークするようになりました (#61029)
- util: TextEncoder.encodeInto 関数のサイズ削減を行いました (Yagiz Nizipli #60339)
Semver-Minor Commits (次要変更のコミット一覧)
- crypto: KeyObject API に生キー形式のサポートを追加しました (#62240)
Semver-Patch Commits (修了変更のコミット一覧)
以下の表には、パッチバージョンの変更を含む主なコミットを示します(一部省略あり)。
- build: macOS クロスコンパイル用の Rust ターゲットを追加しました (Richard Lau #63015)
- build: CARGO 環境変数が設定されている場合の使い方を整備しました (Richard Lau #62421)
- build: エクスポートスクリプトへの弱いシンボルの検出を追加しました (Abdirahim Musse #62656)
- build: AIX における隠れた visibility シンボルのフィルタリングを改善しました (Abdirahim Musse #62656)
- build: AIX clang ビルド用の条件付きフラグを追加しました (Abdirahim Musse #62656)
- build: GHA macOS ビルドにおいて Temporal を有効化しました (Chengzhong Wu #61691)
- build: Temporal 用の cargo および rustc チェックを追加しました (Richard Lau #61467)
- build: Linux GHA ビルドに temporal のサポートを追加しました (Chengzhong Wu #60942)
- crypto: Ed25519 コンテキストパラメータのサポートを追加しました (#62474)
- crypto: keygen における生形式の認識機能を改善しました (Filip Skokan #62480)
- deps: V8 cherry-pick (fcf8b990c73c, f93055fbd5aa), highway バックポート
- deps: 修正 - AIX における OpenSSL の暗黙的な宣言の修正、libuv への逆戻し
- deps: ICU および libuv の更新
- deps: V8 パッチ適用 (Windows ビルド修正など)
- doc: packages.md の余計な改行を修正しました (#62350)
- doc: Electron 42/41/40 用の NMV リザーブを行いました (#62124, #61291, #60386)
- doc: Temporal セクションに目次を追加しました (Richard Lau #61805)
- doc: セキュリティリリース後の v24/22/20 におけるチェンジロジックの修正 (#61371)
- doc: Rust ツールチェーンのバージョン要件に関する注釈を追加しました (Chengzhong Wu #60942)
- doc: assert 変更における REPLACEME の復帰を行いました (#60848)
- doc: v24.11.0 リリースノートへの既知の問題を追加しました (#60467)
- doc: Corepack ドキュメントページの削除 (Antoine du Hamel #57663)
- esm: cjs-module-lexer の Wasm バージョンを使用するように変更しました (Joyee Cheung #60663)
- inspector: 圧縮されたレスポンスの修正を行いました (Ruben Nogueira #61226)
- process: asyncHandledRejections の最適化 (FixedQueue の使用) を実装しました (Gürgün Dayıoğlu #60854)
- quic: http3 実装の詳細更新およびバグ修正を行いました (James M Snell #62387)
- sqlite: Percentile 拡張機能の有効化を行いました (Jurj Andrei George #61295)
- src: AIX libc++ std::filesystem バグの回避策を追加しました (Richard Lau #62788)
- src: メモリ不足の場合、Wasm trap handler を有効化しないように変更しました (Joyee Cheung #62132)
- src: node_options.h から実験的な experimental_transform_types を削除しました (沈鸿飞 #62058)
- test: WPT リソース、インターフェース、WebCryptoAPI の更新 (#62389)
- tools: nixpkgs-unstable パinning の更新を多数行いました
- util: ネストされたプロキシ inspect の修正を行いました (Ruben Bridgewater #61077)
ダウンロードリンク
Windows 64-bit Installer: https://nodejs.org/dist/v26.0.0/node-v26.0.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v26.0.0/node-v26.0.0-arm64.msi
Windows 64-bit Binary: https://nodejs.org/dist/v26.0.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v26.0.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v26.0.0/node-v26.0.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v26.0.0/node-v26.0.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v26.0.0/node-v26.0.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v26.0.0/node-v26.0.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v26.0.0/node-v26.0.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v26.0.0/node-v26.0.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v26.0.0/node-v26.0.0-aix-ppc64.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v26.0.0/node-v26.0.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v26.0.0/node-v26.0.0.tar.gz
Other release files: https://nodejs.org/dist/v26.0.0/
Documentation: https://nodejs.org/docs/v26.0.0/api/
SHASUMS (ファイルのチェックサム)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 159ac4d97c5e9f9b58279933d877bd1aedcd8b99c069b7f93cc00d11e45c8dc3 node-v26.0.0-aix-ppc64.tar.gz f3a6db3b60b4019a7ef67db9885b2b06aa756953e15db36602279c04cd10ea46 node-v26.0.0-arm64.msi dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235 node-v26.0.0-darwin-arm64.tar.gz 880cf6f35eb9dea84b2373adba13b6023b50cc0decbad47b57824d146373265a node-v26.0.0-darwin-arm64.tar.xz f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875 node-v26.0.0-darwin-x64.tar.gz f4f05e8621191a4bef042e93881114429415f57a3b46411acd5fd94a87b7d660 node-v26.0.0-darwin-x64.tar.xz cefe207f1f02075ed0e72dac1799188841b5d1e50eea83074feaea3d26960b11 node-v26.0.0-headers.tar.gz 222e3ef1477097190838f1a60c6ef6f00ce76ac2c8ff671a223bee1cfbac9d1d node-v26.0.0-headers.tar.xz c802664b5770102999efacf5717854f7652797db522e8cc5727a6209afea824d node-v26.0.0-linux-arm64.tar.gz f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29 node-v26.0.0-linux-arm64.tar.xz 5e587ff6af1b837330e84d9bdcee3e5245839133f9ee5316da7363558996cd8a node-v26.0.0-linux-ppc64le.tar.gz 4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d node-v26.0.0-linux-ppc64le.tar.xz b0b261771569352b62fde896447a7b8e40d9021555f1e0b6ee1edc7944889ac2 node-v26.0.0-linux-s390x.tar.gz e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5 node-v26.0.0-linux-s390x.tar.xz 42cee4d7ec80b7f7c89281cf00726b14840ac674462404dd4fd36f03964dc0af node-v26.0.0-linux-x64.tar.gz 345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4 node-v26.0.0-linux-x64.tar.xz 480db15247e5362fd38a9a61093d07cac72a20e33439f30a6ceacc02e553f8f5 node-v26.0.0-win-arm64.7z 1931cebf3cda89dab7cc5d4d0bf1923b8eff8a4b054b6aaa8904be0c14a070a4 node-v26.0.0-win-arm64.zip c94726676f5683b008b7fc6638e5ee9e8ea1cd25b72f20d66753e7cde2f69e1a node-v26.0.0-win-x64.7z d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7 node-v26.0.0-win-x64.zip 677460c6f7df29a97986e73daa931b4590a6fa841030f2c73f6b8186ee078868 node-v26.0.0-x64.msi 2fe389c0e111992b691b320bc00f83b69119ead702eef7cdec639e19796b24db node-v26.0.0.pkg db0b0db9238d93e41a110d6f14bd43984e56475cb7d8e218d1f73b6ad39b71c7 node-v26.0.0.tar.gz fcb5e5c06a5c2ec9e669801248657aafaa2291f8760dac7bfb639f878318c592 node-v26.0.0.tar.xz 1f0beb48cfd080c56d94a3eaae1da1f2dd3ec42d0028457c16667248c04f4e32 win-arm64/node.exe 77b20d81472caffdcf60bbd76d623961c81208af359b97f19e215f8c85943942 win-arm64/node.lib 531b9f46d2d3a2ca35421d7f5f8eea3ca7802cdafb27b4ab954e08396772d2cb win-arm64/node_pdb.7z 1e5a847170bb96a302c478a03a178a32f6099cb7128ca95bbcd7e5959581ccb6 win-arm64/node_pdb.zip 2d0458fa3dc95948f2101fa9ea0840321e14c117379f422ee4cec8bd802d08b2 win-x64/node.exe f870fc3af0b3d8c6e79b5d10f5872e472beefc6e4051b97eb825a801bc00eb52 win-x64/node.lib 7c7102fca58274d9740b027c7461c14d754a50b1c0cae2c510b76da831548ed9 win-x64/node_pdb.7z 44778c071d6d715cf266e095fdd72a4a5d25e2e857f12c2347e96e3ff994766d win-x64/node_pdb.zip -----BEGIN PGP SIGNATURE----- iQGzBAEBCAAdFiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmn5/KgACgkQi+q0389V XvTjxwv+MBmEKWdgo2Jlk8YlyijOB0DWUhVHIcgYCoWMUWF5gojrhd2VXi8dWNPL rEM9271reuZ2mAf5N+jYY+nP/CgxTpwvMmcgG4V+XlCEQ/arW15Jwox8tBuzWqmM Dw8+UTW+W0ura/UMaBJkFU01IfsYI6r6xG4Ek/3aq1JBFVvNIQTxk0LFl7hiFh6v 9Ip/sQ8L/HM3uvaenPMpfHb4htYEvWhLJ7iaXszhhplAdBskGSjR2SQttQNvPcDM 9RDN0/xNIQq76wgy+SvzrREvCZarOLOOzo7Ij+346H7aRpquwMagCSG/WAteXBqc JgBQyCpYGZz1C6/ACcqhI8xVm2Duz1iw/JzGZE9V4DHVoFAR4OZUb6xkENrW3vob AlXrqrAvs5T+wXkEJ6UQySrEgAAfczrgYiwqfbDZlnxEMnwSPRR50b2ozaJv9i4K 3fLD6G26/mhd8dnlejc0uXIepNTjGNQbiS+xoyNAqn/hDlZj8v2UqhFVOlTdpZ1D t7tZbpQ/ =aRkl -----END PGP SIGNATURE-----