io.js 2.0のリリース
今週は、v2.0.0とv2.0.1のリリースを行いました。完全なチェンジログは、GitHubで確認できます。
- async_wrap: (Trevor Norris) #1614
- プロバイダを用いてフィルタリングすることが可能になりました
- ビットフラグは削除され、バインドされたオブジェクトのメソッド呼び出しに置き換えられました
- 注記: これは不安定なAPIなので、機能追加や互換性のない変更があってもio.jsのセマンティックバージョンの更新はしないつもりです
- libuv: 多数のissueを解決:
- addons:
NODE_DEPRECATED
マクロは、コンパイラのバージョンが古いことが原因でアドオンのコンパイルに問題が発生していましたが、解決しました (Ben Noordhuis) #1626 - V8: バージョンを4.2.77.18から4.2.77.20に更新。いくつかの小さい改善と、FreeBSDでビルドする際のバグを防ぐ改善が含まれています
- crypto: TLSの使用メモリを削減(Fedor Indutny & Сковорода Никита Андреевич) #1529
- net: カスタムDNSの名前解決を設定するために、
socket.connect()
に'lookup'
オプションが追加されました。デフォルトはdns.lookup()
です。(Evan Lucas) #1505 - npm: バージョンを 2.9.0 に更新。詳細は v2.8.4 と v2.9.0 にあるリリースノートを参照してください。主な変更点:
- ユーザーの入力を省略して
npm init -y
を実行するために、authorフィールドのデフォルト値を設定可能にしました (@othiym23) npm/npm/d8eee6cf9d npm outdated
やnpm update
を実行する際に、ローカルにあるモジュールも含まれるように変更しました (@ArnaudRinquin) npm/npm#7426- npm versionを実行した際にgitへ追加されるタグのプレフィックスを、
tag-version-prefix
で設定できるようにしました (@kkragenbrink) npm/npm#8014
- ユーザーの入力を省略して
- os:
os.tmpdir()
がクロスプラットフォームで一貫した値を返すようになり、どのプラットフォームでも末尾にスラッシュを付けないで返すようになります (Christian Tellnes) #747 - process:
- repl:
- REPLのヒストリーは、環境変数の
NODE_REPL_HISTORY_FILE
にユーザーのアクセス可能なファイルが指定されている場合、セッション間で値を共有するようになりました。また、NODE_REPL_HISTORY_SIZE
にヒストリーの最大サイズを設定することができます。デフォルト値は1000
です (Chris Dickinson) #1513
- REPLのヒストリーは、環境変数の
- 環境変数の
NODE_REPL_MODE
を使うことで、sloopy
,strict
,magic
(デフォルト)の3つのモードを設定できるようになりました。新たに入ったmagic
モードは、自動で"strict mode only" ステートメントをstrictモードで実行します。
- smalloc:
smalloc
モジュールは、V8の4.4における変更が原因で廃止になりました - util: Promise, Map, Setオブジェクトのconsoleへの出力がわかりやすくなりました (Christopher Monsanto) #1471
- V8: バージョンを 4.2.77.18に更新しました。詳細は ChangeLog を参照して下さい。主な変更点:
- クラスはステージングの外へ移動しました。
class
キーワードは、フラグのない状態のstrictモードで使用可能です - オブジェクトリテラルの拡張機能はステージングの外へ移動しました。省略表記とプロパティの構文は使用可能になりました(
{ method() { }, property }
) Rest引数 (function(...args) {}
)は、ステージングに実装されました。--harmony-rest-parameters
フラグで有効化します。 - コンピューテッドプロパティ(
{['foo'+'bar']:'bam'}
)はステージングに実装されました。--harmony-computed-property-names
フラグで有効化します。 - Unicodeエスケープ(
'\u{xxxx}'
)はステージングに実装されました。--harmony_unicode
フラグと--harmony_unicode_regexps
フラグを有効にすると正規表現の中で利用することが出来ます。
- クラスはステージングの外へ移動しました。
- Windows:
- Governance:
- Technical Committee (TC) に Rod Vagg (@rvagg) が追加されました
- Technical Committee (TC) に Jeremiah Senkpiel (@Fishrock123) が追加されました
詳細はこちらを参照してください https://github.com/iojs/io.js/wiki/Breaking-Changes#200-from-1x
- V8のバージョンを 4.2 に更新したので、C++ APIにマイナーチェンジが入りました。
os.tmpdir()
がクロスプラットフォームで一貫した値を返すようになり、どのプラットフォームでも末尾にスラッシュを付けないで返すようになりますsmalloc
モジュールは、将来的に行うV8の4.4への更新による影響で廃止となりますが、互換性のない変更 とは扱いません。 更に詳しい情報は、 #1451 を参照してください。
注記:新しい url
モジュールは、npmのエコシステム全体に多大な影響を与え破損する可能性があることが原因で、リリースをする前に互換性をより担保する必要があったので、リリース前にリバートとなりました。詳細は #1602 を参照してください。
現在の完全な既知の問題リストはこちらを参照してください。 https://github.com/iojs/io.js/labels/confirmed-bug
beforeExit
が実行されている最中の非参照のtimersに起因するいくつかの問題は、まだ解決されていません。詳細は #1264 を参照して下さい。- REPL 内のサロゲートペアがターミナルのフリーズを引き起こすことがあります。 #690
process.send()
はドキュメントに記述されている通り、本来は同期的に実行されるはずですが、1.0.2
にて発生した不具合により非同期的に呼び出されてしまうようになりました。詳細は #760 を、修正については #774 を参照して下さい。dns.setServers()
を呼び出している間の DNS クエリが、進行中にアサーションに失敗してプロセスをクラッシュさせることがあります。#894url.resolve
は2つの完全なホストを解決しようとした際に url の auth の部分を移動する可能性があります。詳細は #1435 を参照してください。- readline: エスケープ処理の分割が正しく動作しません。詳細は #1403 を参照してください。
- Michael Dawsonは、Node Foundation以下での WGの提案 を書きました。
- Mikeal Rogersは、Mediumにて io.jsの成長について書きました。
- CodeSchoolは、io.js 2.0の最新情報について blogの記事 にしました。
- NodeのリーダーTJ Fontaineは、リーダーを 退任 します。
- NodeConf Adventure のチケットが販売中です。6月11-14日にカリフォルニアのウォーカークリークランチにて開催されます。
- CascadiaJS のチケットが販売中です。7月8-10日にワシントン州にて開催されます。
- BrazilJS Conf のチケットが販売中です。8月21-22日にリオ・グランデ・ド・スール州のBarra Shopping Sulで開催されます。
- NodeConf EU のチケットが販売中です。9月6-9日にアイルランドのウォーターフォードにて開催されます。