AIThis post was created with the assistance of artificial intelligence (AI).

TL;DR

Buying for a business?Offer from Amazon

Get business pricing on monitors, keyboards and dev gear

  • Business-only prices and quantity discounts
  • Tax-exempt purchasing
  • Multiple users, one account, clear invoices
As an affiliate, we earn on qualifying purchases.

Erlang/OTP 29.0 has been officially released, bringing new language features, enhanced security defaults, and compiler warnings. Some incompatibilities are introduced, requiring developers to review their code.

Erlang/OTP 29.0 has been officially released, introducing significant new features, security improvements, and some incompatibilities, according to the Erlang team.The release includes support for -unsafe attributes, enabling marking functions as unsafe, with compiler warnings for unsafe calls. The SSH daemon defaults to disabled for shell and exec services, aligning with the ‘secure by default’ principle, and the SFTP subsystem is no longer enabled by default. In SSL, the hybrid quantum-resistant algorithm x25519mlkem768 is now the preferred key exchange group. New language features include native records, multi-valued comprehensions, and the is_integer/3 guard BIF. Compiler improvements include better code generation for binary matching and map comprehensions, alongside several new default warnings for deprecated or obsolete practices, such as the catch operator and variable export warnings. The standard library now offers functions for list permutation, and the SSH default key exchange algorithm has been upgraded to mlkem768x25519-sha256, providing quantum resistance.

Why It Matters

This update is important for Erlang developers and security-conscious users, as it enhances language capabilities, improves security defaults, and introduces warnings that promote better coding practices. The changes may require code adjustments due to incompatibilities and new default behaviors.

Products Worth Considering

Samsung 27 Odyssey OLED G5 (G50SF) QHD QD-OLED Gaming Monitor

Samsung 27 Odyssey OLED G5 (G50SF) QHD QD-OLED Gaming Monitor

Apple iPad Air (2025) 13‑inch Wi‑Fi 256 GB – Space Gray (M3 chip)

Apple iPad Air (2025) 13‑inch Wi‑Fi 256 GB – Space Gray (M3 chip)

As an affiliate, we earn on qualifying purchases.

Background

Erlang/OTP 29 is a major release following previous versions that steadily added features and security measures. Notable prior developments include the introduction of new language constructs and security protocols. The current release continues this trend, emphasizing security defaults and language enhancements, with some features marked as experimental. The release also aligns with ongoing efforts to improve the BEAM virtual machine’s performance and safety.

“Erlang/OTP 29.0 introduces significant new features and security defaults, reflecting our commitment to robust, secure, and efficient systems.”

— Erlang team

“The default disabling of SSH shell and exec services enhances security, making Erlang systems safer out of the box.”

— Erlang security team

What Remains Unclear

It is not yet clear how widely adopted the new features will be or how existing codebases will handle the incompatibilities. Details on migration strategies and full compatibility lists are still emerging.

What’s Next

Developers are advised to review the release notes and test their applications with Erlang/OTP 29.0. Future updates may include further stability improvements and documentation on migration. The Erlang team is expected to provide guidance for transitioning from earlier versions.

Key Questions

What are the main new features in Erlang/OTP 29.0?

The release introduces native records, multi-valued comprehensions, new guard functions, and enhanced security defaults, among other improvements.

Are there any breaking changes or incompatibilities?

Yes, some default behaviors have changed, such as the SSH daemon defaults and compiler warnings, which may require code adjustments.

How does the security update impact existing Erlang applications?

The default disabling of certain SSH services enhances security but may necessitate reconfiguration of SSH settings in existing deployments.

Will existing codebases need modifications for compatibility?

Potentially, especially regarding the new warnings and default behaviors; developers should review the release notes and test their applications accordingly.

You May Also Like

Build, Rent, Or Quantize: Cutting Your Memory Bill Without Cutting Capability

Exploring how AI developers can reduce memory expenses through building, renting, or quantizing models, with a focus on the emerging quantization techniques.

Mythos Finds a Curl Vulnerability

Anthropic’s Mythos AI model analyzed curl code, identifying one confirmed security flaw and several false positives, raising questions about AI security assessments.

Apple’s 20th Anniversary iPhones to Come in Two Sizes, Will Launch Alongside Gen 2 Foldable iPhone

Apple is set to release its 20th anniversary iPhones in two sizes alongside a second-generation foldable iPhone, according to recent rumors.

Screenshots of Old Desktop OSes

A compilation of historic desktop OS screenshots from the 1980s and 1990s reveals the evolution of graphical user interfaces and computing interfaces.