Erlang 作为一门专注于高并发、分布式和容错的编程语言,自诞生以来在电信、金融及互联网等领域广受青睐。OTP(Open Telecom Platform)是 Erlang 语言的核心框架,为开发高质量的分布式应用提供基础设施支持。2025年9月17日,Erlang/OTP 28.1 正式发布,作为 OTP 28 系列的重要升级版本,不仅带来了安全算法的支持、编译器稳定性的提升,还修复了多个关键漏洞,进一步提升了 Erlang 的整体性能与可靠性。此次发布不仅适合从源码构建,同时官方也提供了多种系统的预编译包以及支持 kerl、asdf 等第三方管理工具安装,方便开发者快速部署最新版本环境。 首先值得关注的是 Erlang/OTP 28.1 对量子安全密码算法的引入。随着量子计算技术的快速发展,传统密码体系面临巨大挑战,本次版本中增加了对 ML-DSA 签名算法和 ML-KEM 密钥交换算法的支持,分别在 ssl 和 public_key 应用中发挥作用。
全新算法依赖于 OpenSSL 3.5 库,不仅拓展了 Erlang 对未来安全通信的支持,也提升了系统在应对潜在量子攻击时的抗风险能力。此外,crypto 应用新增了 crypto:encapsulate_key/2 和 crypto:decapsulate_key/3 函数,允许开发者方便地生成和传递封装密钥,适用于 mlkem512、mlkem768 和 mlkem1024 参数,进一步简化安全密钥管理过程。 运行时工具 runtime_tools 的升级同样引人注目。本次版本新增了一份详尽的 dbg 用户指南,补充了文档内容,帮助开发者更好地掌握调试工具的使用方法和技巧。runtime_tools 的这一改进体现了 Erlang 社区在技术支持和文档完善上的持续努力,降低了新手学习门槛,同时提升了调试效率。 编译器方面,OTP 28.1 中 compiler 应用升级至 9.0.2 版本,解决了此前版本中存在的多个稳定性问题,例如处理破坏性更新时的补丁顺序导致的崩溃,以及生成包含映射模式的 zip 生成器时发生的崩溃。
此外,在位语法构造使用过程中偶发的编译崩溃也得到了修复。编译器的稳定性增强意味着开发者能够更加安心地在生产环境中使用最新版本,避免因编译器导致的意外中断。 OTP 28.1 还修正了部分网络协议实现中的潜在兼容性问题。比如 kernel 应用中的 inet_dns_tsig 和 inet_res 模块调整后,可正确按照 DNS RFC 标准校验 TSIG 时间戳、纠正了之前的未文档化错误代码原子,确保 DNS 解析安全性和准确性。inet_res 新增了带选项列表参数的三个函数,更灵活地控制内置 DNS 解析行为,为构建复杂网络应用提供更多自定义空间。 在安全方面,ssl 应用的表现更为成熟。
服务器在接受 PEM 文件时,对文件不存在等错误实现了提前失败反馈机制,从而减少因配置错误导致的长期等待或隐蔽故障。与此同时,crypto 应用中的多个子模块针对静态链接 OpenSSL 的场景进行了稳定性修补,特别是在 macOS 平台上的随机数生成及重新初始化流程中的异常现象被有效修复。整体提升了分布式节点间通信的安全可靠性。 用户体验层面,shell 命令行得到了优化。save_module/1 命令现在支持保存本地定义的记录和导入记录,完善了开发调试过程中文件保存的功能;shell 自动补全也避免了因非原子类型的映射键引发的崩溃问题。远程 shell 连接的稳定性进一步提升,可以通过关闭输入流平滑退出,而不会导致远程节点非预期终止。
此外,新增的 shell_hints 选项允许用户根据实际需要开启或关闭超时提示,降低高负载环境下不必要的干扰。 文档渲染和输出也获得了细致改进,例如多个文档表格的渲染提升让信息展示更为清晰。runtime_tools、asn1、common_test 等子系统均独立支持更新应用,便于用户选择性部署所需功能。asn1 5.4.2 版本解决了 JER 约束位串解码的 BUG,更好支持通信协议中的复杂数据结构。 兼容性方面,OTP 28.1 在破解一些历史遗留的错误代码和异常处理流程上做出了修正,尤其注意的是,部分更改可能导致程序行为与之前版本不完全相同,涉及到错误码符号的标准化和网络协议验证,开发者在升级过程中需做好充分的测试验证。此外,public_key 和 ssl 应用的更新需要依赖于 crypto-5.7 的版本支持,完整部署时需确保版本一致性。
Erlang/OTP 28.1 还包含了大量社区贡献者的心血,通过 github 相关 PR 和 issue 跟踪,显示社区活跃度和改进速度。Bug 修复和性能提升均体现了 Erlang 生态持续健康发展的态势。此次发布感谢数十位开发者和维护者在代码编写、文档编写、安全审计和测试方面的贡献,是 Erlang 社区合作精神的体现。 总体来看,Erlang/OTP 28.1 是一版集安全创新、稳定优化、高效实用为一体的升级版本。支持量子抗性加密算法为未来通信安全打造坚实基础;关键组件修复保证了分布式系统的稳定性和高可用性;丰富的文档及工具改进提升了开发调试体验。适合所有依赖 Erlang 平台进行高并发、高可靠性业务开发的团队和个人准备升级。
对于初次接触或者计划升级至 OTP 28.1 的用户,建议关注官方发布的详细发行说明和补丁列表,科学评估当前系统环境的依赖关系,逐步迁移,避免潜在兼容问题。利用官方提供的安装方式,包括预编译包、容器镜像、kerl 和 asdf 等工具,可以简化环境搭建流程,节省时间成本。借助新增的文档和用户指南,也能更快速掌握和运用新特性。 毫无疑问,Erlang/OTP 28.1 的发布为面向未来的分布式系统和安全通信提供了新的可能。随着技术生态的不断演进,Erlang 语言及其 OTP 平台仍将在关键领域如电信、金融交易处理和实时数据传输等发挥重要作用。保持版本更新,拥抱社区创新,将使开发者充分受益于 Erlang 在处理复杂并发任务中的独特优势,打造更强大、更安全、更高效的应用系统。
。