Erlang/OTP 29.0
Erlang/OTP 29.0 drops with a robust set of updates, introducing significant new features and critical security enhancements. This release brings experimental native records, improved language comprehensions, and quantum-resistant cryptography by default in SSH. Developers are keen on these updates as they modernize the foundational platform for fault-tolerant distributed systems.
The Lowdown
Erlang/OTP 29.0 marks a substantial new release, packed with new features, improvements, and some minor incompatibilities. This update focuses on enhancing security, developer tooling, language capabilities, and performance, signaling a continued commitment to modernizing the Erlang ecosystem.
- Security & Safety: Introduces
-unsafeattributes for functions, makes SSH daemon services (shell/exec) disabled by default, and disables the SFTP subsystem by default. The SSL module now defaults to the post-quantum hybrid algorithmx25519mlkem768for key exchange. - Developer Experience: Adds
io_ansifor terminal styling,ct_doctestfor testing documentation examples, and improvesxreffiltering forignore_xrefattributes. - Language Features: Implements experimental native records (EEP-79), introduces the
is_integer/3guard BIF for range checking, and supports multi-valued comprehensions (EEP-78) and variable binding in comprehensions. - Compiler & JIT: Provides better JIT code generation for binaries and map comprehensions, along with recommendations for BEAM language implementors.
- New Compiler Warnings: Adds warnings for the deprecated
catchoperator, exporting variables from subexpressions,and/oroperators, and certain match patterns. It also reiterates the upcoming removal of obsolete guard tests in Erlang/OTP 30. - Standard Library: New
rand:shuffle/1andrand:shuffle_s/2functions for random list permutation. - General Changes: The current working directory (
.) is now last in the default code path, and 32-bit Erlang/OTP builds for Windows are no longer supported.
Overall, Erlang/OTP 29.0 delivers a forward-looking release that bolsters security, streamlines development workflows, and expands the language's expressiveness, preparing the platform for future challenges like quantum computing.