翻訳元:http://www.erlang.org/news/88
Erlang/OTP 18.0がリリースされました
2015/6/24 Henrikによって書かれました
Erlang/OTP 18.0は新機能とかなりの数の(特性の)改善、ならびにいくつかの非互換性を持つ新しいメジャーリリースです。
非機能だがこのリリースの大きな変更点はAPL 2.0(Apache Public License)にライセンスが変わったことである。
主な変更点
- Erlang/OTP 18.0から始めるとAPL 2.0でリリースされます(Apache Public License)
- erts
- 時間機能が拡張されました。これは時間のための新しいAPI、及び、システム時刻を変更する時の振る舞いを変化する タイムワープ(time warp) モードが含まれます。
erlang:now/0
を使っている古いAPIの代わりに新しいAPIを使うことを強くお勧めする。erlang:now/0
はスケーラビリティの面でボトルネックがあるので、非推奨となっています。詳細についてはERTSユーザーズガイドの時間と時間補正の章を参照してください。 - APIの変更とタイムワープモードによって、時間管理に関するスケーラビリティとパフォーマンスの改善がたくさん行われています。
- 例
- スケジューラ特定のタイマーホイール
- スケジューラ特定のBIFタイマ管理
- それをサポートするOS:es上の単調時間とシステム時間の平行検索
- 例
- 以前に導入された"eager check I/O"機能がデフォルトで有効になっています。
- 時間機能が拡張されました。これは時間のための新しいAPI、及び、システム時刻を変更する時の振る舞いを変化する タイムワープ(time warp) モードが含まれます。
- erts/compiler
- mapsの拡張サポート。大きなmapsはそれらをより効率的にする内部表現HAMT(Hash Array Mapped Trie)を新しく使っています。今回、mapのkeyとして変数のサポートもあります。
- dialyzer
-
-dialyzer()
属性は機能や警告のオプションを指定することによってモジュール内で警告を抑制するために使用することができます。また、モジュールに警告を要求するために使用することができます。
-
- ssl
- SSL-3.0のデフォルトサポートを削除し、POODLE脆弱性のためにTLS-1.0用のパディングチェックを追加しました。
- 彼らはあまりにも弱く検討されているように、RC4暗号スイートのデフォルトサポートを削除します。
- stdlib
- supervisorのflagsとchild specsでmapが使えるようになりました。
- etsの新機能
- take/2
- ets:delete/2 と同じ働きをするが削除したオブジェクト(複数可)も返します。
- ets:update_counter/4 引数としてデフォルトオブジェクトを使います。
- take/2
あなたは、より詳細な情報をリリースノートで調べることができます。
このOTPのリリースと貴方自身のコードをビルドする時に重要な情報
erlang:now
は "warnings as errors" を使った場合、ビルドが停止する可能性があるので推奨されません。
あなたがこのような環境変数を設定することにより、非推奨の機能のための警告を有効にすることができを通じてビルドを聞かせするには:
次のような環境変数を設定することにより、非推奨の機能のための警告を有効にしてビルドをすることができる。
export ERL_COMPILER_OPTIONS=nowarn_deprecated_function
github.com の公式のErlangリポジトリでソースコードを見ることができます。
Gitのタグ OTP-18.0
また、次のURLでは、オンラインドキュメントを読むことができます。
(リリースノートは、ドキュメント内で更新されていないリリースノートのために前述したものを参照してください、しかし新しい機能はあります。)
また、パッチ、提案、バグレポートを送信してくれた方々に感謝しています。
EricssonのErlang/OTPチームより