HN
Today

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.

15
Score
0
Comments
#1
Highest Rank
2h
on Front Page
First Seen
May 16, 12:00 AM
Last Seen
May 16, 1:00 AM
Rank Over Time
61

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 -unsafe attributes 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 algorithm x25519mlkem768 for key exchange.
  • Developer Experience: Adds io_ansi for terminal styling, ct_doctest for testing documentation examples, and improves xref filtering for ignore_xref attributes.
  • Language Features: Implements experimental native records (EEP-79), introduces the is_integer/3 guard 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 catch operator, exporting variables from subexpressions, and/or operators, and certain match patterns. It also reiterates the upcoming removal of obsolete guard tests in Erlang/OTP 30.
  • Standard Library: New rand:shuffle/1 and rand:shuffle_s/2 functions 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.