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 的第一个 EXPERIMENTAL socket 后端。gen_udpgen_sctp 将会跟进。 将 {inet_backend, socket} 作为 listen()connect() 的第一个选项,可以轻松地为现有代码尝试此功能

亮点 (rc1) #

  • 内核中的一个新模块 erpc,它实现了 rpc 模块提供的操作的增强子集。 增强的意义在于,它可以区分返回值、引发的异常和其他错误。 erpc 也比原始的 rpc 实现具有更好的性能和可扩展性。 这是通过利用新引入的 spawn_request() BIF 实现的。 此外,rpc 模块在可能的情况下利用 erpc 也从这些改进中受益。
  • 有关分布式 spawn 操作的可扩展性和性能改进以及新功能。
  • 在二进制匹配中,现在允许要匹配的段的大小为保护表达式 (EEP-52)
  • 当与映射匹配时,键现在可以是保护表达式 (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.ac.cn/download/otp_src_23.0-rc3.readme

可以在此处获取 Windows 的预构建版本:https://erlang.ac.cn/download/otp_win32_23.0-rc3.exe https://erlang.ac.cn/download/otp_win64_23.0-rc3.exe

可以在此处浏览在线文档:https://erlang.ac.cn/documentation/doc-11.0-rc3/doc Erlang/OTP 源代码也可以在 GitHub 上的官方 Erlang 存储库中找到,https://github.com/erlang/otp