Erlang 29.0.3
Erlang/OTP 29.0.3 has been released — a patch update addressing multiple bugs across the runtime system, compiler, and core libraries. This maintenance release keeps the OTP platform stable and secure for production deployments.
What's Fixed in OTP 29.0.3
This patch touches several key applications within the OTP stack. The Erlang runtime system (ERTS) receives the most attention with several critical corrections.
- ERTS 17.0.3 — Fixes an undefined behavior in the internal qsort function that could cause a beam crash when updating large maps. Also corrects MD5 checksum calculations for data sizes of 4 GiB or more, and resolves code generation issues for the JIT compiler on AArch64 (ARM64).
- Compiler 10.0.2 — Several compiler bugs that could crash the compiler or generate incorrect code in rare circumstances have been fixed.
- Kernel 11.0.3 — Fixes a crash in inet:info/1 when called for a closing socket. Also fixes truncation-bit handling in inet_res so it properly falls back to querying over TCP after a truncated UDP reply.
- Crypto 5.9.1 — Fixes compute_key/4 for eddh and generate_key/2 to properly raise an exception instead of returning the atom notsup when the underlying cryptolib lacks support.
- Dialyzer 6.0.2 — Fixes a bug with native record sets in erl_types.erl.
- Common Test 1.31.1 — Fixes a crash in ct_netconfc when the remote server closes the SSH connection during NETCONF subsystem negotiation.
- SSH 6.0.2 & SSL 11.7.3 — Additional bug fixes in the networking and security layers.
Notable ERTS Fixes
Several runtime fixes stand out. Calculating bxor of the largest supported positive integer and -1 previously returned an empty list instead of raising a system_limit exception — this is now corrected. A possible race condition between ets:delete/1 and a terminating process with a fixation on the same table has also been resolved.
For JIT users on ARM64, the update addresses several code generation issues that could affect stability on Apple Silicon and other AArch64 platforms.
Upgrade Recommendations
Erlang/OTP 29.0.3 is a recommended upgrade for all users on the OTP 29 track. Individual applications can be patched independently using the otp_patch_apply tool. Full OTP system builds are also available from the official downloads page.
For a complete list of changes, consult the release notes on GitHub.