Erlang/OTP 17.0-rc2 已发布
Erlang/OTP 17.0-rc2 已发布。#
这是一个 Beta 版本,最终的 OTP 17.0 产品版本将于四月初发布。
在这个 Beta 版本和最终版本之间,主分支将会有新的更新,包含修正和小的新功能。有时可能会有新的标签,我们会进行沟通并请您进行测试。
Erlang/OTP 17.0 是一个新的主要版本,具有新功能,相当多的(特性)改进,以及一些不兼容性。有关详细信息,请参阅 README 文件和文档。
我们希望您能尽快下载并测试 Beta 版本,并向我们发送反馈,以便我们可以在 OTP 17.0 之前进行必要的修正。
此版本包含许多更改和一些潜在的不兼容性。请尝试构建和运行您当前的产品/应用程序,并告知我们任何问题。
一个已知但之前文档记录不充分的不兼容性,我们想强调一下是
OTP-11719 == erts ==
Erlang 文件的默认编码已从 ISO-8859-1 更改为 UTF-8。XML 文件的编码也已更改为 UTF-8。
请验证您的源代码是否可以使用 Erlang/OTP 17 编译。如果您的(ISO-8559-1 / Latin-1 编码)源代码文件包含 7 位 ASCII 字符集之外的字符,您将收到类似于以下的编译器错误:tst.erl:1: cannot parse file, giving up tst.erl:1: no module definition tst.erl:1: cannot translate from UTF-8 在这种情况下,您需要对每个(受影响的)文件应用以下替代方案之一
替代方案 1:将文件编码为 UTF-8(而不是 Latin-1)。 如果该文件将与 OTP 17 和以前的版本一起编译,请在文件开头插入一个注释说明编码:%% -- coding: utf-8 -- 替代方案 2:保持文件编码为 Latin-1,并在文件开头插入一个注释说明编码:%% -- coding: latin-1 -- 有关详细信息,请参阅 STDLIB 用户指南,第 2 章 Erlang 中使用 Unicode
17.0 版本包含许多更改;因此,一些意想不到的不兼容性或问题可能已经通过了我们的测试。请尝试构建和运行您当前的产品/应用程序,并告知我们任何问题。
注意!新的数据类型 MAP 尚未正确记录,但 EEP 43 https://erlang.ac.cn/eeps/eep-0043.html 将提供一个良好的开端。还要注意,目前实现的 maps 是有限的实现
- 不允许使用可变键
- 无法为使用 maps 的模块生成本机代码
此版本的一些其他亮点是
- Erlang/OTP 已移植到实时操作系统 OSE。
- Maps,一种新的字典数据类型(实验性)
- 从 ASN.1 OCTET STRING 和 BIT STRING 到 Erlang 类型的更自然映射,以及其他 ASN.1 改进和优化
- TCP、UDP 和 SCTP 的 {active, N} 套接字选项
- 一种新的(可选的)调度器利用率平衡机制
- 默认情况下,所有 ERTS 内部内存分配器都启用了内存载体的迁移
- 增加了垃圾回收保有率
- 实验性的“脏调度器”功能
- 现在可以为 Funs 指定名称
- 各种 Unicode 支持增强功能
- OTP 及其应用程序的新的语义版本方案
您可以在 https://erlang.ac.cn/download/otp_src_17.0-rc2.readme 找到包含更多详细信息的 README 文件
您可以从 https://erlang.ac.cn/download/otp_src_17.0-rc2.tar.gz 下载完整源代码分发
注意:要解压 TAR 存档,您需要一个与 GNU TAR 兼容的程序。有关安装说明,请阅读分发包中的 README。
您也可以在 Github 上的官方 Erlang/OTP Git 仓库中找到此版本:https://github.com/erlang/otp 标签为 OTP_17.0-rc2
Windows 二进制分发版可以从以下位置下载
https://erlang.ac.cn/download/otp_win32_17.0-rc2.exe 和 https://erlang.ac.cn/download/otp_win64_17.0-rc2.exe
您还可以下载完整的 HTML 文档或 Unix 手册文件 https://erlang.ac.cn/download/otp_doc_html_17.0-rc2.tar.gz https://erlang.ac.cn/download/otp_doc_man_17.0-rc2.tar.gz
我们还要感谢那些向我们发送补丁、建议和错误报告的人。
爱立信的 Erlang/OTP 团队