<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/erlang-otp-29-0-rc1-new-features-and-key-changes-ftcktirzf" -->

---
title: Erlang/OTP 29.0-rc1: New Features and Key Changes
description: Erlang/OTP 29.0-rc1 introduces native records as an experimental data type (EEP-79), multi-valued comprehensions, and improved compiler optimizations for...
canonical: https://daily.dev/posts/erlang-otp-29-0-rc1-new-features-and-key-changes-ftcktirzf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Erlang/OTP 29.0-rc1: New Features and Key Changes | daily.dev
og:description: Erlang/OTP 29.0-rc1 introduces native records as an experimental data type (EEP-79), multi-valued comprehensions, and improved compiler optimizations for...
og:url: https://daily.dev/posts/erlang-otp-29-0-rc1-new-features-and-key-changes-ftcktirzf
og:image: https://api.daily.dev/og/posts/fTCktIrzF.png
og:image:alt: Erlang/OTP 29.0-rc1: New Features and Key Changes
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Erlang/OTP 29.0-rc1: New Features and Key Changes

**[Collections](https://daily.dev/sources/collections)** · 2 min read · 0 upvotes · 0 comments

## Summary

Erlang/OTP 29.0-rc1 introduces native records as an experimental data type (EEP-79), multi-valued comprehensions, and improved compiler optimizations for binary operations and map comprehensions. Security enhancements include quantum-resistant SSH key exchange (mlkem768x25519-sha256) by default. Breaking changes include discontinued 32-bit Windows builds and repositioned default code path ordering. New warnings encourage migration from deprecated patterns like catch operators and obsolete boolean operators.

## Content

# Erlang/OTP 29.0-rc1: New Features and Key Changes

Erlang/OTP 29.0 Release Candidate 1 introduces several noteworthy features and changes that enhance both functionality and security.

## New Features

A major addition in this release is the introduction of native records as a new data type, as defined in EEP-79. This experimental feature aims to improve the efficiency and usability of records within the language. Alongside this, there is a new is_integer/3 guard BIF that aids in range checking, offering a more robust method for integer validation. Another notable feature is the inclusion of multi-valued comprehensions, which enhance the language's expressive power.

The Erlang compiler sees improvements with this release, generating better optimized code for binary operations and map comprehensions. This results in increased performance and efficiency for developers using these features.

## Enhanced Warnings

As part of the efforts to modernize the language, several new warnings have been introduced. These warnings target deprecated patterns such as the use of the catch operator and obsolete boolean operators, nudging developers to adopt more current practices.

## Security Enhancements

Security is also a focus in this release, with SSH now defaulting to the quantum-resistant mlkem768x25519-sha256 key exchange algorithm. This change ensures better security against future quantum-based threats.

## Breaking Changes

There are important breaking changes to be aware of. The 32-bit Windows builds have been discontinued, reflecting a move towards more up-to-date system architectures. Additionally, the current directory has been repositioned to the end of the default code path, which may affect existing codebases relying on the previous order.

Overall, Erlang/OTP 29.0-rc1 brings a host of new features and improvements, laying the groundwork for a more efficient, secure, and modernized future for the language.

---

Tags: [#authentication](https://daily.dev/tags/authentication), [#compiler](https://daily.dev/tags/compiler), [#erlang](https://daily.dev/tags/erlang), [#quantum-computing](https://daily.dev/tags/quantum-computing), [#security](https://daily.dev/tags/security)

[View this post on daily.dev](https://daily.dev/posts/erlang-otp-29-0-rc1-new-features-and-key-changes-ftcktirzf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Erlang/OTP 29.0-rc1: New Features and Key Changes","url":"https://daily.dev/posts/erlang-otp-29-0-rc1-new-features-and-key-changes-ftcktirzf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/erlang-otp-29-0-rc1-new-features-and-key-changes-ftcktirzf"},"datePublished":"2026-02-11T15:46:20.750Z","dateModified":"2026-03-15T03:47:24.938Z","description":"Erlang/OTP 29.0-rc1 introduces native records as an experimental data type (EEP-79), multi-valued comprehensions, and improved compiler optimizations for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/30a15dbf39929078ecd91ef0f412a153?_a=AQAEunF","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/30a15dbf39929078ecd91ef0f412a153?_a=AQAEunF","isAccessibleForFree":true,"articleSection":"Collections","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collections","logo":"https://media.daily.dev/image/upload/s--fk_6ycEi--/f_auto,q_auto/v1780996001/logos/collections?_a=BAMAMiWQ0","url":"https://daily.dev/sources/collections"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/erlang-otp-29-0-rc1-new-features-and-key-changes-ftcktirzf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"authentication,compiler,erlang,quantum-computing,security","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collections","item":"https://daily.dev/sources/collections"},{"@type":"ListItem","position":3,"name":"Erlang/OTP 29.0-rc1: New Features and Key Changes"}]}
```

