Erlang OTP 23.0 候選版本 2

2020 年 3 月 26 日 · 作者:Kenneth Lundin

OTP 23 候選版本 2 #

這是 OTP 23 版本發布前三個規劃的候選版本中的第二個。此版本的目的是獲取我們用戶的回饋。 歡迎所有回饋,即使只是說它對您有用。

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

潛在的不相容性 #

  • 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 連線的機會。
  • 在簽名驗證中新增了對使用 Edward 曲線和 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,從這些改進中受益。
  • 有關分散式產生操作的可擴展性和效能改進以及新功能。
  • 在二進位比對中,現在允許要比對的區段大小為防護運算式 (EEP-52)
  • 當使用 map 比對時,金鑰現在可以是防護運算式 (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 文件時建立為 docchunk (EEP 48)。
  • kernel:引入了具有分散式命名處理程序群組新實作的模組 pg。舊模組 pg2 已棄用,並計畫在 OTP 24 中移除。
  • 我們用於建置 Windows 套件的工具鏈已使用新的 C++ 編譯器、Java 編譯器、OpenSSL 程式庫和 wxWidgets 版本進行升級。我們現在在建置時使用 WSL (Windows 的 Linux 子系統),這使得處理建置環境更加容易。

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

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

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