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_tcp
和inet
的「實驗性」socket
後端。gen_udp
和gen_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_789
、16#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