Node.js v4.0.0にはV8 v4.5が含まれています。これは、現在Chrome Webブラウザーに付属しているのと同じバージョンのV8です。 これにより、Node.jsユーザーに多くのボーナスがもたらされます。最も重要なのは、ブロックスコープ、クラス、型付き配列(ノードのバッファーがUint8Arrayの上で機能するようになりました )、ジェネレーター、約束、シンボルなど、デフォルトで有効になっているES6標準のサポートです、文字列テンプレート、コレクション(マップ、セットなど)、およびV8 v4.5の新機能-矢印関数。
昨年、Rackspace、DigitalOcean、Scaleway、miniNodes、Voxer、Joyent、CloudFlare、ARM Holdingsなどの企業やコミュニティの個人からの寄付のおかげで、Linuxシステムの印象的なラインを含む素晴らしいテストクラスターを作成しました、OS X、Windows、FreeBSD、およびSmartOS。 Node.jsの革新として、ARMアーキテクチャに基づく第1世代のプロセッサのサポートを追加しました。
Node.js v4は、長期(LTS)サポートと定期リリースの計画ももたらします。 バージョンネーミングシステムは、今後数週間でマイナーバージョンとパッチの数を増やしてバグを修正し、新しい機能を追加する予定のSemVerの推奨事項に準拠します。 4.x開発ブランチでは、互換性のない変更を追加しません。
ただし、2015年10月に長期サポートバージョンのリリースに努めます。 同時に、5.xブランチの開発を開始しますが、これはNode.jsの新しいバージョンの安定したリリースをリリースすることを目的とする必要があります。このブランチには、V8の最新バージョンと、バージョン。 LTS内の4.xブランチのサポートは、不必要な機能を追加することなく、安定性とセキュリティを重視して18か月間実装されます。 さらに、この期間の終わりに、4.xブランチはさらに12か月間サポートされ、その間に重大なエラーとセキュリティの問題が修正されます。
並行して、毎年10月と4月に6か月の周期で新しい安定リリースをリリースします。 安定したブランチは定期的に発行され、引き続き開発されます。 マイナーな変更とパッチは、1〜2週間ごとに発行されます。 次回の安定リリースは、来年10月末までLTSの一部として存在し続けます。 これは、最大30か月(LTS +サービス)の合計サポート期間で、LSTの複数のバージョンを同時に提供することを意味します。 LTSリリースの安定性と長期的なサポートは、JavaScriptテクノロジーの最先端に留まる機会を 提供すると同時に、安定性とセキュリティを提供するものと考えています 。これは、主要なテクノロジーとしてNode.jsについて誇らしげに話すことができるエンタープライズユーザーの基盤です。 それらのいくつかはすでにNode.js Foundationのメンバーです 。
いつものように、新しいメジャーリリースのコミッショニングにより、Node.jsの4番目のバージョンへの簡単な移行は期待できません。 特に、新しいバージョンのV8でコンパイルされたアドオンの分野では、適応に時間がかかります(公式の後方互換性ソリューションのNANのヒント)。 幸いなことに、io.jsバージョン3.xシリーズのリリースにより、Node.js 4.xバージョンのリリースに向けたコードの準備がさらに可能になりました。
バージョン0.12と4の間の下位互換性の例外の初期リストは、LTSリリースのWikiページにあります 。 近い将来、 Wikiに記入し続けて、最も完全なドキュメントと注意すべき変更点のリストを表示します。
GitHub https://github.com/nodejs/nodeの新しいホームで見つかったすべての問題を報告し、コアの開発を支援する多くの人々に参加してください !
顕著な変化
これは、io.js v3.3.0の最新バージョンと比較した変更のリストです。 バージョン0.12.xと比較した変更の完全なリストを理解するために、変更の完全なリストに収集されたバージョンv3.x、v2.xおよびv1.xの顕著な変更のリストを参照してください。これらはv3ブランチの一部の変更にすぎないことに注意してください.x。また、Node.jsおよびio.jsプロジェクトの互換性の問題が発生しないように、すべての互換性のない機能のリストを調べます。
- Child_process:ChildProcess.prototype.send()およびprocess.send()はすべてのプラットフォームで非同期に動作するため、オプションのコールバックパラメーターが導入されました。これは、メッセージの送信後に呼び出されます。 .send(メッセージ[、sendHandle] [、コールバック])(Ben Noordhuis) #2620 。
- node:io.jsコードの名前をNode.js(cjihrig) #2367に変更します。
- node-gyp:このリリースには、node-gypの更新バージョンが含まれています。これは、夜間およびビルドリリース候補を含むNode.jsおよびio.jsのすべてのバージョンで動作します。 io.js v3およびNode.js v4以降では、以前のようにコード全体ではなくヘッダーのみをダウンロードする必要があります(Rod Vagg) #2700
- npm:セキュリティ更新を含む2.13.3から2.14.2へのアップグレード。詳細な説明についてはhttps://github.com/npm/npm/releases/tag/v2.14.2を参照してください (KatMarchán) #2696 。
- タイマー:バージョン0.12からの移植後のタイマーのパフォーマンスの改善、およびマイナーな修正(Jeremiah Senkpiel)#2540、(Julien Gilli) nodejs / node-v0.x-archive#8751 nodejs / node-v0.x-archive#8905
- util:util.is *()は非推奨とマークされています。このリリースのドキュメントの非推奨レポート以降、ユーザーはnpmリポジトリ(Sakthipriyan Vairamani) #2447でより信頼性の高い代替を探すことをお勧めします。
- v8:バージョンを4.4.63.30から4.5.103.30に更新(Ali Ijaz Sheikh) #2632 。
- TypedArrayの新しいプロトタイプメソッドが導入されました:copyWithin()、every()、fill()、filter()、find()、findIndex()、forEach()、indexOf()、join()、lastIndexOf()、map() 、reduce()、reduceRight()、reverse()、slice()、some()、sort()。 詳細については、 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArrayをご覧ください。
- 新しいTypedArray.from()およびTypedArray.of()メソッドが導入されました詳細については、 https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArrayをご覧ください。
- 新しい矢印関数が導入されました。詳細については、 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functionsをご覧ください。
- 変更の完全なリストはhttps://github.com/v8/v8-git-mirror/blob/4.5.103/ChangeLogで入手できます。