OTP 23 發布候選版本 3

2020 年 4 月 22 日 · 作者:Henrik Nord

OTP 23 發布候選版本 3 #

這是 OTP 23 正式發布前,三個計畫發布的候選版本中的第三個也是最後一個。此版本的目的是為了收集使用者的回饋。歡迎所有回饋,即使只是告知您它對您而言運作正常。

Erlang/OTP 23 是一個新的主要版本,包含新功能、改進以及一些不相容之處。

重點 (rc3) #

除了以下變更外,此第三個預發布版本僅包含少量修正。

潛在的不相容性 #

  • SSL: * 完全移除對 SSL 3.0 的支援。
  • TLS 1.3 加入到預設支援的版本清單中。
  • erl_interface:移除 erl_interface 中已棄用的部分 (erl_interface.h 和所有以 erl_ 為字首的 C 函數)。
  • 已棄用的 erlang:get_stacktrace/0 BIF 現在會返回空列表,而非堆疊追蹤。erlang:get_stacktrace/0 計劃在 OTP 24 中移除。

重點 (rc2) #

  • ssh: * OpenSSH 6.5 引入了一種新的金鑰檔案表示方式,稱為 openssh-key-v1。現在已支援此方式,但加密金鑰的處理除外。
  • 現在可以在 .config 檔案中進行演算法設定。例如,這對於啟用預設停用的演算法很有用,而無需變更程式碼。
  • ssl: * 對於中介盒相容模式的支援,使 TLS 1.3 交握看起來更像 TLS 1.2 交握,並提高了透過舊有中介盒成功建立 TLS 1.3 連線的機會。
  • 新增支援使用愛德華曲線和 PSS-RSA 填充進行金鑰交換,以及在簽名驗證中使用。
  • 已擴展在不依賴 EPMD 的情況下運行 Erlang 分散式系統的可能性。為此,已新增一些新的 inet 分散式系統選項。* -dist_listen false 建立分散式通道,但不監聽傳入連線。
  • -erl_epmd_port Port 設定內建 EPMD 用戶端應返回的預設連接埠。
  • 已實作 gen_tcpinet 的第一個實驗性 socket 後端。gen_udpgen_sctp 也將跟進。將 {inet_backend, socket} 作為 listen()connect() 的第一個選項,可以輕鬆地針對現有程式碼進行嘗試。

重點 (rc1) #

  • 在核心中新增一個名為 erpc 的新模組,該模組實作了 rpc 模組提供的操作的增強子集。增強之處在於,它可以區分傳回的值、引發的例外狀況和其他錯誤。與原始 rpc 實作相比,erpc 也具有更好的效能和可擴展性。這是透過利用新引入的 spawn_request() BIF 來實現的。此外,rpc 模組也會在可能的情況下利用 erpc 來獲益於這些改進。
  • 關於分散式衍生操作的可擴展性和效能改進以及新功能。
  • 在二進位匹配中,要匹配的區段大小現在允許是 guard 運算式 (EEP-52)。
  • 在使用 map 匹配時,鍵現在可以是 guard 運算式 (EEP-52)。
  • ssh:實作了 TCP/IP 連接埠轉發,又稱為通道傳輸或 tcp-forward/direct-tcp。在 OpenSSH 用戶端中,這對應於 -L 和 -R 選項。
  • 允許在數值文字中使用底線以提高可讀性。範例:123_456_78916#1234_ABCD
  • 在 shell 中新增用於顯示 Erlang 模組、函數和類型文件的函數。這些函數包括:* h/1,2,3 – 列印 Module:Function/Arity 的文件。
  • ht/1,2,3 – 列印 Module:Type/Arity 的類型文件。內嵌文件會在建置 Erlang/OTP 文件時建立為 docchunks (EEP 48)。
  • 核心:引入具有分散式命名程序群組的新實作的 pg 模組。舊的 pg2 模組已棄用,並計劃在 OTP 24 中移除。
  • 我們的 Windows 套件建置工具鏈已升級為新的 C++ 編譯器、Java 編譯器、OpenSSL 程式庫和 wxWidgets 版本。我們現在使用 WSL (用於建置的 Windows Linux 子系統),這使得處理建置環境更加容易。

如需更多詳細資訊,請參閱 https://erlang.dev.org.tw/download/otp_src_23.0-rc3.readme

Windows 的預建版本可在此處取得:https://erlang.dev.org.tw/download/otp_win32_23.0-rc3.exe https://erlang.dev.org.tw/download/otp_win64_23.0-rc3.exe

線上文件可在此處瀏覽:https://erlang.dev.org.tw/documentation/doc-11.0-rc3/doc Erlang/OTP 原始碼也可以在 GitHub 的官方 Erlang 存放庫中找到:https://github.com/erlang/otp