Erlang/OTP 29.0

TL;DR

Erlang/OTP 29.0 is now available, bringing significant new features, improved security defaults, and compiler warnings. The release aims to enhance performance, safety, and developer productivity.

Erlang/OTP 29.0 has been officially released, marking a major update with new features, security improvements, and some incompatibilities, according to the Erlang/OTP team.

The release introduces support for -unsafe attributes to mark functions as unsafe, with the compiler warning about such calls. The SSH daemon now 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 key exchange algorithm x25519mlkem768 is now preferred. New language features include native records, multi-valued comprehensions, and an improved is_integer/3 guard. The compiler now emits warnings for deprecated constructs like catch, variable exports from subexpressions, and obsolete boolean operators. Enhancements to the stdlib include functions for list permutation, and the SSH default key exchange algorithm has shifted to mlkem768x25519-sha256, offering quantum resistance.

Why It Matters

This update matters because it enhances security by default, introduces advanced language features for more expressive code, and improves performance through compiler optimizations. Developers need to be aware of potential incompatibilities and new warnings to update their codebases accordingly.

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.0 follows previous releases focusing on performance and security. Notably, the support for native records is experimental, and the shift to secure defaults in SSH reflects ongoing security improvements. The release also continues the trend of adding language features to improve developer productivity and code safety.

“Erlang/OTP 29.0 introduces significant new features and security defaults, marking an important step forward for the platform.”

— Erlang/OTP Team

“The new support for -unsafe attributes and compiler warnings aims to improve code safety and maintainability.”

— Erlang/OTP Documentation

Modern OpenSSH In-Depth: The Complete Secure Shell Guide for SSH Server Configuration, Key Management, Tunneling, SFTP File Transfer, and DevOps Automation.

Modern OpenSSH In-Depth: The Complete Secure Shell Guide for SSH Server Configuration, Key Management, Tunneling, SFTP File Transfer, and DevOps Automation.

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 native records will become, as they are marked experimental. Additionally, the full impact of the new compiler warnings on existing codebases remains to be seen, and some incompatibilities may surface as developers update.

QUANTUM-RESISTANT CRYPTOGRAPHY: IMPLEMENTING ML-KEM, ML-DSA, AND SLH-DSA: Migrate TLS, APIs, and Key Exchange to NIST PQC Standards Before Harvest-Now Decrypt-Later Attacks Strike

QUANTUM-RESISTANT CRYPTOGRAPHY: IMPLEMENTING ML-KEM, ML-DSA, AND SLH-DSA: Migrate TLS, APIs, and Key Exchange to NIST PQC Standards Before Harvest-Now Decrypt-Later Attacks Strike

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What’s Next

Next steps include developers adopting Erlang/OTP 29.0, testing their applications against the new features, and monitoring community feedback for any unforeseen issues. Further updates or patches may follow to address initial challenges.

The BEAM Book: Understanding the Erlang Runtime System

The BEAM Book: Understanding the Erlang Runtime System

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

What are native records in Erlang/OTP 29.0?

Native records are a new data type introduced as an experimental feature, providing a more efficient and type-safe alternative to traditional tuple-based records.

How does the new default SSH configuration improve security?

The SSH daemon now defaults to disabling shell and exec services, reducing the risk of arbitrary code execution by authenticated users unless explicitly enabled.

What is the significance of the new hybrid quantum-resistant key exchange algorithm?

The x25519mlkem768 algorithm enhances security against quantum attacks while maintaining compatibility with existing systems, marking a step forward in cryptographic robustness.

You May Also Like

AI Agents Have Two Souls. You Only Control One

New insights reveal AI agents comprise a deterministic core and a probabilistic LLM, raising security and control questions for developers.

Data Breach Response Plans: What Every Company Needs

How to develop a comprehensive data breach response plan that keeps your organization prepared and resilient—discover the essential steps to safeguard your business.

X agrees to crack down on illegal hate and terror content in the UK

Ofcom accepts new commitments from X to better remove illegal hate and terror content in the UK, including account restrictions and reporting benchmarks.

Cybersecurity Compliance 2025: Key Regulations to Know

Guidelines for cybersecurity compliance in 2025 reveal critical regulations shaping data security, but staying ahead requires understanding evolving standards and practices.