Patch Package: OTP 29.1
Git Tag: OTP-29.1
Date: 2026-09-16
Trouble Report Id: OTP-19631, OTP-20118, OTP-20131, OTP-20145,
OTP-20152, OTP-20158, OTP-20169, OTP-20175,
OTP-20177, OTP-20180, OTP-20187, OTP-20188,
OTP-20189, OTP-20209, OTP-20211, OTP-20213,
OTP-20218, OTP-20228, OTP-20235, OTP-20236,
OTP-20238, OTP-20246, OTP-20249, OTP-20254,
OTP-20255, OTP-20256, OTP-20262, OTP-20265,
OTP-20267, OTP-20276, OTP-20277, OTP-20280,
OTP-20290, OTP-20291, OTP-20292, OTP-20293,
OTP-20295, OTP-20297, OTP-20298, OTP-20303,
OTP-20304, OTP-20305, OTP-20309, OTP-20316,
OTP-20317, OTP-20318, OTP-20320, OTP-20322,
OTP-20326, OTP-20327, OTP-20328, OTP-20331,
OTP-20335, OTP-20338, OTP-20339, OTP-20352,
OTP-20354, OTP-20356, OTP-20358, OTP-20362,
OTP-20364, OTP-20365, OTP-20367, OTP-20373,
OTP-20374
Seq num: ERIERL-1356, GH-10879, GH-10968, GH-11093,
GH-11119, GH-11155, GH-11248, GH-11308,
GH-11338, GH-11344, GH-11349, GH-11351,
GH-11352, GH-11360, GH-11366, GH-11367,
GH-11397, GH-11398, GH-11401, GH-11406,
GH-11413, GH-11414, GH-11423, GH-11472,
GH-11534, GH-4417, GH-7862, GH-9302,
OTP-20102, PR-10297, PR-11074, PR-11096,
PR-11097, PR-11115, PR-11128, PR-11129,
PR-11130, PR-11133, PR-11137, PR-11144,
PR-11159, PR-11165, PR-11167, PR-11170,
PR-11196, PR-11203, PR-11216, PR-11226,
PR-11249, PR-11260, PR-11274, PR-11284,
PR-11300, PR-11313, PR-11316, PR-11324,
PR-11335, PR-11345, PR-11356, PR-11359,
PR-11361, PR-11363, PR-11375, PR-11376,
PR-11378, PR-11379, PR-11388, PR-11390,
PR-11391, PR-11396, PR-11410, PR-11422,
PR-11424, PR-11426, PR-11438, PR-11440,
PR-11442, PR-11444, PR-11446, PR-11447,
PR-11460, PR-11466, PR-11477, PR-11501,
PR-11505, PR-11507, PR-11530, PR-11552,
PR-11556, PR-11563, PR-11566, PR-11567,
PR-11570, PR-11574, PR-11600
System: OTP
Release: 29
Application: asn1-5.5.1, common_test-1.31.2,
compiler-10.0.5, crypto-5.10, dialyzer-6.0.3,
erts-17.1, inets-9.8, kernel-11.0.4,
mnesia-4.27, odbc-2.17.1, public_key-1.21.6,
runtime_tools-2.5, ssl-11.7.6, stdlib-8.1,
syntax_tools-4.1.1, tools-4.2.3, wx-2.7
Predecessor: OTP 29.0.6
Check out the git tag OTP-29.1, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.
POTENTIAL INCOMPATIBILITIES
- When beam_lib returns an error tuple, the filename in the information tuple is now a list of characters instead of an atom.
Example:
1> beam_lib:chunks(code:which(lists), ["nope"]).
{error,beam_lib,
{missing_chunk,".../git/otp/lib/stdlib/ebin/lists.beam",
"nope"}}
The reason for this change is that a long file name is not guaranteed to fit in an atom. Applications or tools that do deep inspection of the beam_lib errors (not recommended) will need to be updated.
Own Id: OTP-20118
Application(s): stdlib
Related Id(s): PR-11167
OTP-29.1
Improvements and New Features
- A new versions module has been added to the runtime_tools application containing functions for, e.g., comparing, versions that adhere to the OTP Versions Scheme.
The documentation of the OTP Versions Scheme has also been improved.
Own Id: OTP-20352
Related Id(s): PR-11556, PR-11600
asn1-5.5.1
The asn1-5.5.1 application can be applied independently of other applications on a full OTP 29 installation.
Fixed Bugs and Malfunctions
- The modern representation of BITSTRINGs is now always supported for encoding, regardless of any legacy options given. The JER backend would not support the modern representation when any legacy option was given.
Own Id: OTP-20145
Related Id(s): PR-11097
- The make clean command did not remove all generated .erl files.
Own Id: OTP-20295
Related Id(s): PR-11375
KOMAC_HEADER Full runtime dependencies of asn1-5.5.1
erts-14.0, kernel-9.0, stdlib-5.0
common_test-1.31.2
The common_test-1.31.2 application can be applied independently of other applications on a full OTP 29 installation.
Fixed Bugs and Malfunctions
- The internal cte_track event handler now correctly displays the suite name for suites without an init_per_suite/1 callback.
Own Id: OTP-20316
Related Id(s): PR-11501
KOMAC_HEADER Full runtime dependencies of common_test-1.31.2
compiler-10.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-11.0, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0, stdlib-8.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
compiler-10.0.5
The compiler-10.0.5 application can be applied independently of other applications on a full OTP 29 installation.
Fixed Bugs and Malfunctions
- Fixed a native record crash in the sys_core_fold compiler pass.
Own Id: OTP-20254
Related Id(s): GH-11351, PR-11359
- The compiler could crash when compiling a map comprehension.
Own Id: OTP-20255
Related Id(s): GH-11352, PR-11363
- Fixed a crash when the key pattern in a map comprehension was a bitstring.
Own Id: OTP-20262
Related Id(s): GH-11367, PR-11379
- Fixed an issue that could crash the compiler when compiling comprehensions with the compr_assign feature enabled.
Own Id: OTP-20267
Related Id(s): GH-11366, PR-11390
- Code that called erlang:0() inside a fun could crash the compiler.
Own Id: OTP-20280
Related Id(s): GH-11414, PR-11424
- Fixed an internal error when lists:keyfind/3 is called with an argument that exceeds system limits.
Own Id: OTP-20291
Related Id(s): GH-11413, PR-11444
- An incorrect useless_building warning has been eliminated.
Own Id: OTP-20304
Related Id(s): GH-11472, PR-11477
- In rare circumstances, the type analysis pass of the compiler could run for many minutes.
Own Id: OTP-20365
Related Id(s): GH-11534, PR-11566
KOMAC_HEADER Full runtime dependencies of compiler-10.0.5
crypto-5.1, erts-13.0, kernel-8.4, stdlib-8.0
crypto-5.10
The crypto-5.10 application can be applied independently of other applications on a full OTP 29 installation.
Improvements and New Features
- The documentation of the crypto module now contains runnable examples for most functions. The examples are verified by the crypto test suite, so they always match actual behavior.
Own Id: OTP-20373
Related Id(s): PR-11170
KOMAC_HEADER Full runtime dependencies of crypto-5.10
erts-9.0, kernel-6.0, stdlib-3.9
dialyzer-6.0.3
The dialyzer-6.0.3 application can be applied independently of other applications on a full OTP 29 installation.
Fixed Bugs and Malfunctions
- Fixed Dialyzer crash when overriding built-in types.
Own Id: OTP-19631
Related Id(s): GH-11093, PR-11096
- Typer crashed when multiple functions were written in the same line. For example:
-module(m).
f() -> ok. g() -> ok.
Own Id: OTP-20297
Related Id(s): PR-11466
KOMAC_HEADER Full runtime dependencies of dialyzer-6.0.3
compiler-10.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0
erts-17.1
The erts-17.1 application can be applied independently of other applications on a full OTP 29 installation.
Fixed Bugs and Malfunctions
- Fixed bug in ets:member/2 for set, bag and duplicate_bag. The bug could (maybe) lead to ets:member spuriously returning false for a value which is actually a member for a table that faces high insert load.
Own Id: OTP-20152
Related Id(s): PR-11115
- Fixed crashing bug caused by race between timer creating process and suspending receiver of the timer. Only seen to cause crash one time by extremely provoking test case. Bug exists only since OTP 29.0.
Own Id: OTP-20175
Related Id(s): PR-11196
- Fixed bug in enif_realloc_binary when called with a read-only binary. Instead of returning false at out-of-memory failure, it returned true and did nothing.
Own Id: OTP-20187
Related Id(s): PR-11133
- Fixed alternate signal stack sizing on musl (Alpine) running on CPUs whose Linux kernel reports large signal frames (AVX-512/AMX). It caused emulator to abort during startup with "Failed to set alternate signal stack".
Own Id: OTP-20213
Related Id(s): GH-11248, PR-11249
- For socket:recvmmsg/6, the buffer length was not handled correctly when the OS network stack truncated the received message, so garbage data with incorrect length could be delivered to the calling process. This bug has been corrected.
Own Id: OTP-20246
Related Id(s): PR-11335
- binary_to_term/1 will now reject an external native record with duplicated fields.
Own Id: OTP-20276
Related Id(s): GH-11398, PR-11410
- Fixed a crash upon starting the emulator on systems with a very large minimum signal stack size.
Own Id: OTP-20292
Related Id(s): GH-11349, PR-11376
- Fixed lock order violation during crash dump due to export table exhaustion. Only problem for debug emulator.