TL;DR

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.

Amazon

Erlang/OTP 29.0 development tools

As an affiliate, we earn on qualifying purchases.

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

USB Dongle Expansion Board for Zero 1.3/Zero W, Plug and Play No Soldering Adapter with SSH & P4wnP1 Support for Developers, Projects

USB Dongle Expansion Board for Zero 1.3/Zero W, Plug and Play No Soldering Adapter with SSH & P4wnP1 Support for Developers, Projects

‌Zero Soldering Setup:‌ Instantly convert your Zero into a USB drive with this plug-and-play expansion board, eliminating complex…

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

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.

Amazon

quantum-resistant SSL/TLS libraries

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

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.

C Programming Absolute Beginner's Guide

C Programming Absolute Beginner's Guide

Great product!

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

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

Jank now has its own custom IR

Jank introduces its own high-level IR to enhance performance and compete with JVM, marking a significant step in its compiler development.

OCR for Large Documents: When It Works and When It Fails

Theoretically, OCR excels with large, clear documents but often struggles with complex layouts or degraded images—discover how to identify and overcome these challenges.

The Plotter Size Mistake That Costs Studios Money

Solving the plotter size mistake can save your studio money, but understanding the key factors behind the right choice is essential—keep reading to learn more.

3D Printers in Packaging Prototyping

Learn how 3D printers in packaging prototyping can revolutionize your designs and accelerate development—discover the full potential ahead.