Erlang/OTP 18.0 已發布

2015年6月24日 · 作者:Henrik Nord

Erlang/OTP 18.0 是一個新的主要版本,具有新功能、相當多的(特性)改進,以及一些不相容性。此版本的一個非功能性但重大的變更,是將授權變更為 Apache License 2.0。

此版本的一些重點如下:

  • 從 18.0 開始,Erlang/OTP 在 Apache License 2.0 下發布
  • erts:時間功能已擴展。這包括一個新的時間 API,以及在系統時間變更時會改變行為的「時間扭曲」模式。強烈建議您使用新的 API,而不是基於 `erlang:now/0` 的舊 API。`erlang:now/0` 已被棄用,因為它是一個可擴展性的瓶頸。有關更多資訊,請參閱 ERTS 使用者指南的「時間和時間校正」章節。連結如下:https://erlang.dev.org.tw/doc/apps/erts/time_correction.html
  • erts:除了 API 變更和時間扭曲模式外,在時間管理方面還進行了許多可擴展性和效能改進。例如:* 排程器特定的計時器輪,
  • 排程器特定的 BIF 計時器管理,
  • 在支援的作業系統上平行擷取單調時間和系統時間。
  • erts:先前引入的「積極檢查 I/O」功能現在預設啟用。
  • erts/compiler:增強了對 map 的支援。大型 map 現在內部使用 HAMT (Hash Array Mapped Trie) 表示法,這使其更有效率。現在也支援將變數作為 map 的鍵。
  • dialyzer: `-dialyzer()` 屬性可用於透過指定函式或警告選項來抑制模組中的警告。它也可用於請求模組中的警告。
  • ssl:移除對 SSL-3.0 的預設支援,並由於 Poodle 漏洞,為 TLS-1.0 新增了填充檢查。
  • ssl:移除對 RC4 加密套件的預設支援,因為它們被認為太弱。
  • stdlib:允許將 map 用於 supervisor 標誌和子規格
  • stdlib:ets 中的新函式:* take/2。其運作方式與 ets:delete/2 相同,但也會傳回已刪除的物件。
  • ets:update_counter/4,其中包含預設物件作為參數

您可以在以下網址找到包含更詳細資訊的發行說明:

https://erlang.dev.org.tw/download/otp_src_18.0.readme

使用此 OTP 版本建置您自己的程式碼時的重要資訊

由於 `erlang:now` 已被棄用,如果您使用「將警告視為錯誤」,您的建置可能會停止。若要讓建置通過,您可以透過設定環境變數來關閉已棄用函式的警告,如下所示:export ERL_COMPILER_OPTIONS=nowarn_deprecated_function

您可以在 github.com 的官方 Erlang 儲存庫中找到原始程式碼。

Git 標籤 OTP-18.0

https://github.com/erlang/otp/tree/OTP-18.0

您也可以在這裡線上閱讀文件:(請參閱上述發行說明,了解文件中未更新的發行說明,但新功能已更新)

https://erlang.dev.org.tw/doc/

我們還要感謝那些向我們發送修補程式、建議和錯誤報告的人。

Ericsson 的 Erlang/OTP 團隊