Node.js 21の新機能要約

  • Node.js v21が安定版としてリリース
  • fetchとWebStreams APIが安定化
  • 組み込みWebSocketクライアントの追加
  • ESモジュールのサポート強化
  • パフォーマンスの向上と依存関係の更新

Stable Fetch API Status

  • Fetch APIが安定版に昇格
  • Node.js v17.5.0で導入、v18.xからv20.xではフラグ不要だが実験的扱いが続く

Web Streams API Is Stable

  • WebStreams APIが安定化
  • Fetch APIの実装はAbortControllerインターフェースとWeb Streams APIに依存
  • Node.js v15.0.0とv16.5.0で追加され、v21で安定化

A Built-in WebSocket Client

  • Node.jsに組み込みWebSocketクライアントが追加
  • WHATWGによって標準化されたWebSocket globalの導入

ES Modules Improvements

  • 新しい--experimental-default-typeフラグでESモジュールとCommonJSのデフォルト挙動を変更可能

Test Runner Improvements

  • Node.js v20で安定化したネイティブテストランナーのさらなる強化
  • グロブ表現による複数のテストファイルマッチングのサポート

Module Customization Improvements

  • モジュールカスタマイズの簡素化
  • globalPreloadフックをregister APIとinitializeフックに置き換え

llhttp v9.1.2 Strict Mode Enforcement

  • llhttp v9.1.2で厳格モードがデフォルト設定に
  • コードの信頼性とセキュリティ向上のための変更

Performance Improvements to Key APIs

  • 主要APIのパフォーマンス改善
  • Streams APIの最適化やレスポンスのuncorking改善など

V8 Upgraded to v11.8

  • V8エンジンがv11.8にアップグレード
  • JavaScriptの新機能とパフォーマンス向上

NPM Upgraded to v10.2.0

  • npmがv10.2.0にアップグレード
  • 新しいsbomコマンドでソフトウェアのビル・オブ・マテリアルを生成

Node.js 21 Miscellaneous Updates

  • その他の特徴と改善点
  • navigatorオブジェクトの部分実装やfs.writeFile()のflushオプション追加

Should You Use Node.js v21 in Production?

  • 本番環境でのNode.js v21の使用は推奨されない
  • 奇数番号リリースは1年間のみサポート

Upgrading to Node.js v21

  • Node.js v21へのインストールやアップグレード方法
  • Voltaなどの環境管理ツールの使用推奨

Wrapping Up

  • Node.js v21の様々な改善と最適化
  • 公式リリースノートやコミュニティへの参加方法の紹介

Refs