Patch Package OTP 29.1 Released

Erlang/OTP otp@REDACTED
Wed Sep 16 12:48:35 CEST 2026


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

> #### 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

> #### 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

> #### 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

> #### 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

> #### 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.

  Own Id: OTP-20305
  Related Id(s): PR-11460

- Fixed rounding errors when converting large integers to floating point
  numbers, explicitly with `float/1` or implicitly in arithmetic such as
  `1.0 * N`. Integers with absolute values larger than 64 bits that could not be
  represented exactly as a float could be rounded to the second nearest float
  instead of the nearest. For example, `float(428654966685883400000)` returned
  `4.2865496668588343e20` instead of the correct `4.286549666858834e20`, which
  is what `binary_to_float/1` returns for the same number.

  Own Id: OTP-20317
  Related Id(s): PR-11391

- An error check in `prim_inet` has been fixed. This manifested itself as
  `file:sendfile/*` sometimes crashing instead of returning an error when the
  remote end closes the socket during initialization.

  Own Id: OTP-20356
  Related Id(s): PR-11438

## Improvements and New Features

- Fairness of code permission locks have been improved to avoid long latencies
  for code loading and trace operations.

  Own Id: OTP-20188
  Related Id(s): PR-11144

- The BIFs that convert strings to integers (for example
  `binary_to_integer/1`) are now much faster for huge input strings. On a
  modern computer, even a string with more than a million decimal digits should
  finish in less than a second.

  The `div` and `rem` operators are now also much faster for large operands.

  Own Id: OTP-20209
  Related Id(s): PR-11074, PR-11324

- Arithmetic operations on large integers will now increase the reduction count
  for the process, causing context switches to occur more frequently when doing
  arithmetic on large integers.

  Own Id: OTP-20211
  Related Id(s): PR-11274

> #### Full runtime dependencies of erts-17.1
>
> kernel-9.0, sasl-3.3, stdlib-4.1

# inets-9.8

The inets-9.8 application can be applied independently of other applications on
a full OTP 29 installation.

## Improvements and New Features

- OPTIONS is now accepted for HTTP/1.x requests and routed through the normal
  module pipeline like other standard methods. Requests that no module handles
  still receive a 501 (Not Implemented) response, so behavior is unchanged for
  deployments that do not add explicit OPTIONS handling.

  Own Id: OTP-20249
  Related Id(s): GH-11119, PR-11316

> #### Full runtime dependencies of inets-9.8
>
> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14,
> ssl-9.0, stdlib-5.0, stdlib-6.0

# kernel-11.0.4

The kernel-11.0.4 application can be applied independently of other applications
on a full OTP 29 installation.

## Fixed Bugs and Malfunctions

- Fixed incorrect TOS format when using `gen_udp` with the `socket` backend.

  Own Id: OTP-20131
  Related Id(s): GH-10968, OTP-20102

- Decoding of names in `inet_res` has been tightened to not allow names longer
  than 255 octets, as according to RFC 1035.

  Decoding has also been made more strict by only allowing compression pointers
  to lower positions in the message.

  A few bugs when decoding malformed truncated DNS messages have also been
  fixed, as well as handling broken UTF-8 content in NAPTR RR:s regular
  expressions field.

  Own Id: OTP-20228
  Related Id(s): PR-11300

- When using the `socket` backend in `gen_tcp`, the default value for the
  `read_ahead` option was incorrect and has been corrected, according the
  documentation, to be `true`.

  Own Id: OTP-20238
  Related Id(s): PR-11284

- A field in `net_kernel`'s internal state was not cleaned up in some cases for
  failed connections could cause the state to grow indefinitely over time. This
  has now been fixed.

  Own Id: OTP-20265
  Related Id(s): GH-11308, PR-11388

- Fixed pg:which_groups/1 to not include empty groups where all members have
  leaved. Bug existed since OTP 29.0.

  Own Id: OTP-20303
  Related Id(s): GH-11360, PR-11361

> #### Full runtime dependencies of kernel-11.0.4
>
> crypto-5.8, erts-17.0, sasl-3.0, stdlib-8.0

# mnesia-4.27

The mnesia-4.27 application can be applied independently of other applications
on a full OTP 29 installation.

## Fixed Bugs and Malfunctions

- Fixed mnesia:force_load_table/1 getting stuck when the remote node becomes
  unreachable during table loading. When a network loader is aborted due to
  sender node going down and a user has forced a table load, we now retry
  loading from disc instead. Additionally, for disc_only_copies tables, the
  process actually loading the table is the dets server process, not the mnesia
  loader, so it would not receive the abort notification and would hang
  indefinitely. Now it correctly receives the notification and aborts table
  loading.

  Own Id: OTP-20256
  Related Id(s): GH-11344, PR-11426

- Fixed incorrect results from `mnesia:select_reverse/2,3` on `ordered_set`
  tables inside a transaction that had already written to or deleted from the
  same table. Deleted records could reappear, updated records could appear
  twice, and the descending order was not preserved.

  Own Id: OTP-20364
  Related Id(s): PR-11563

## Improvements and New Features

- The documentation of the `mnesia` module now contains runnable examples for
  most functions. The examples are verified by the mnesia test suite, so they
  always match actual behavior.

  Own Id: OTP-20374
  Related Id(s): PR-11216

> #### Full runtime dependencies of mnesia-4.27
>
> erts-9.0, kernel-5.3, stdlib-5.0

# odbc-2.17.1

The odbc-2.17.1 application can be applied independently of other applications
on a full OTP 29 installation.

## Improvements and New Features

- Added the `max_long_column_size` option to limit buffer allocation size
  preventing memory exhaustion.

  Own Id: OTP-20328
  Related Id(s): GH-9302, PR-10297

> #### Full runtime dependencies of odbc-2.17.1
>
> erts-6.0, kernel-3.0, stdlib-2.0

# public_key-1.21.6

The public_key-1.21.6 application can be applied independently of other
applications on a full OTP 29 installation.

## Fixed Bugs and Malfunctions

- Added missing `no_cacerts_found` clauses so that the intended
  `{failed_load_cacerts, no_cacerts_found}` error is raised and formatted
  properly.

  Own Id: OTP-20318
  Related Id(s): PR-11378

- Align moduli and pubkey_moduli.hrl to state on OTP-28 and newer.

  Own Id: OTP-20367
  Related Id(s): PR-11574

## Improvements and New Features

- Worked around domain component using wrong ASN-1 `PrintableString` encoding
  instead of `IA5String` encoding.

  Own Id: OTP-20338
  Related Id(s): GH-10879, PR-11226

- ASN.1 files are now compiled sequentially to guarantee reproducible builds.

  Own Id: OTP-20362
  Related Id(s): GH-4417, PR-11396

> #### Full runtime dependencies of public_key-1.21.6
>
> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0

# runtime_tools-2.5

The runtime_tools-2.5 application can be applied independently of other
applications on a full OTP 29 installation.

## Fixed Bugs and Malfunctions

- Fixed bug if a process that called dbg:session/2 exits before
  dbg:session_destroy/1 is called. An error report was logged and any trace
  messages lost and not delivered.

  Own Id: OTP-20218
  Related Id(s): PR-11260

## 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

> #### Full runtime dependencies of runtime_tools-2.5
>
> erts-16.0, kernel-10.0, mnesia-4.12, stdlib-6.0

# ssl-11.7.6

Note! The ssl-11.7.6 application _cannot_ be applied independently of other
applications on an arbitrary OTP 29 installation.

       On a full OTP 29 installation, also the following runtime
       dependency has to be satisfied:
       -- public_key-1.21.1 (first satisfied in OTP 29.0.1)

## Fixed Bugs and Malfunctions

- Undecodable `certificate_authorities` names are now skipped, as they are just
  a hint.

  Own Id: OTP-20327
  Related Id(s): GH-11338, PR-11356

- Corrected generated keylog information generated from the `keylog_hs` option
  in the corner case that it was invoked after the client had reached its
  connection state, but the server closed the connection before it reached its
  connection state.

  Own Id: OTP-20358
  Related Id(s): ERIERL-1356, PR-11570

## Improvements and New Features

- Added TLS-1.3 `selected_group` to ssl:connection_information/2.

  Own Id: OTP-20326
  Related Id(s): PR-11440

- The ECDHE-PSK Chacha20-Poly1305 cipher suites are now supported. This is
  relevant for TLS-1.2 (and lower).

  Own Id: OTP-20331
  Related Id(s): PR-11345

> #### Full runtime dependencies of ssl-11.7.6
>
> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.21.1,
> runtime_tools-1.15.1, stdlib-7.0

# stdlib-8.1

The stdlib-8.1 application can be applied independently of other applications on
a full OTP 29 installation.

## Fixed Bugs and Malfunctions

- 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
  Related Id(s): PR-11167

  *** POTENTIAL INCOMPATIBILITY ***

- The default seed in the `rand` module has been improved to spread out its
  entropy over all three seed words.

  This avoids identical first random numbers from two successive seeds on
  machines with low system time resolution.

  Own Id: OTP-20158
  Related Id(s): PR-11165

- Fixed unicode:characters_to_binary/2 to handle incomplete utf-32 sequences
  without crashing.

  Also fixed a performance regression in unicode:characters_to_nfkd_list/1.

  Own Id: OTP-20169
  Related Id(s): PR-11130

- The `array` module has been improved. array:slice/3 now raises `badarg` for
  negative lengths.

  The performance of array:mapfoldl/3 and array:sparse_mapfoldl/3 has been
  improved.

  The documentation has been clarified regarding array growth/shrink behavior
  and how `concat/1,2` handles mixed arrays.

  Own Id: OTP-20177
  Related Id(s): PR-11159

- Added more checks in the linter for badly formed `{Name,Arity}` attributes

  Own Id: OTP-20277
  Related Id(s): GH-11397, PR-11422

- Fixed return value of zip:zip_get/2. When a file was extracted to a
  directory, the function returned a map instead of a file name.

  Own Id: OTP-20298
  Related Id(s): PR-11313

- When `compr_assign` is enabled, the linter will correctly check for unbounded
  variables after block expressions in comprehensions.

  Own Id: OTP-20309
  Related Id(s): GH-11406, PR-11567

- When compiling a module with a triple-quoted string with escape sequences and
  a chunk boundary happened to fall just after an escape character, that
  character was not passed to the reentrancy continuation, so the scanner
  interpreted the following characters as not an escape sequence.

  This bug has now been fixed.

  Own Id: OTP-20320
  Related Id(s): GH-11423, PR-11505

- Fixed some errors in examples in the documentation for the `string` and
  `uri_string` modules.

  Own Id: OTP-20322
  Related Id(s): PR-11446

- Linter will emit better error messages when a behaviour attribute has a bad
  module name.

  Own Id: OTP-20354
  Related Id(s): GH-11401, PR-11552

## Improvements and New Features

- uri_string:parse/1 now reports the actual offending character in error
  tuples instead of reporting a misleading cascade-failure position.

  Previously, when parsing a URI containing an invalid character (such as `|` or
  non-ASCII characters like `ö`), the error tuple would point to the `:`
  character — the position where the parser's final backtracking attempt failed
  — rather than the character that actually violated the URI grammar. For
  example, `uri_string:parse("http://localhost/A|B")` returned
  `{error,invalid_uri,":"}` instead of the more helpful
  `{error,invalid_uri,"|"}`

  Own Id: OTP-20235
  Related Id(s): GH-7862, PR-11129

- Fixed a guard precedence bug in uri_string:compose_query/2 that caused
  inconsistent error handling depending on the encoding option.

  When `compose_query/2` was called with invalid input (e.g. an atom instead of
  a string) and `{encoding, unicode}`, it would crash with
  `** exception error: bad argument` instead of returning the expected
  `{error, invalid_input, Term}` tuple. The same call with `{encoding, utf8}`
  correctly returned the error tuple. Both encoding options now consistently
  return `{error, invalid_input, Term}` for invalid input.

  Own Id: OTP-20236
  Related Id(s): PR-11128

> #### Full runtime dependencies of stdlib-8.1
>
> compiler-5.0, crypto-4.5, erts-16.0.3, kernel-11.0, sasl-3.0,
> syntax_tools-3.2.1

# syntax_tools-4.1.1

The syntax_tools-4.1.1 application can be applied independently of other
applications on a full OTP 29 installation.

## Fixed Bugs and Malfunctions

- Fixed exception when the epp_dodger AST contains macro-named record.

  Own Id: OTP-20180
  Related Id(s): GH-11155, PR-11203

- Any caller who passed a single syntax tree that was not a form_list (e.g.
  `erl_recomment:recomment_forms(erl_syntax:atom(foo), Cs)` or any
  expression/function tree) would get a hard crash instead of the documented
  result. This issue has been fixed.

  Own Id: OTP-20290
  Related Id(s): PR-11442

> #### Full runtime dependencies of syntax_tools-4.1.1
>
> compiler-9.0, erts-16.0, kernel-10.3, stdlib-8.0

# tools-4.2.3

The tools-4.2.3 application can be applied independently of other applications
on a full OTP 29 installation.

## Fixed Bugs and Malfunctions

- The `tags.erl` module is used to generate `TAGS` files for Emacs. There was a
  case where single quote items starting in position 0 would crash the scanner.
  This use case can potentially happen in docstrings, although not too common.
  This fix makes the scanner to handle such cases instead of crashing.

  Own Id: OTP-20293
  Related Id(s): PR-11447

- Updated the Emacs skeleton to reflect latest `format_status` callback
  handling.

  Own Id: OTP-20339
  Related Id(s): PR-11507

> #### Full runtime dependencies of tools-4.2.3
>
> compiler-8.5, crypto-5.9, erts-15.0, kernel-10.0, public_key-1.21,
> runtime_tools-2.1, stdlib-6.0

# wx-2.7

The wx-2.7 application can be applied independently of other applications on a
full OTP 29 installation.

## Fixed Bugs and Malfunctions

- A large set of correctness and robustness fixes were applied across the `wx`
  application, addressing issues found by static analysis of both the Erlang and
  C/C++ sources.

  Own Id: OTP-20335
  Related Id(s): PR-11530

## Improvements and New Features

- Removed configure checks that prevented cross compilation of wx. Note that
  cross compilation is not tested and may require manual configuration.

  Own Id: OTP-20189
  Related Id(s): PR-11137

> #### Full runtime dependencies of wx-2.7
>
> erts-12.0, kernel-8.0, stdlib-5.0

# Thanks to

Alois Vitasek, Anton Thomasson, ausimian, Bernhard M. Wiedemann, Cole
Christensen, Dmitri Vereshchagin, Dmytro Lytovchenko, Eric Meadows-Jönsson,
haoxian, Jianbo He, João Henrique Ferreira de Freitas, Johan Bevemyr, John
Downey, Jonatan Männchen, Julian Doherty, kagetora66, k-patrik, Louis Pilfold,
Lukasz Samson, Luke Bakken, Maria Scott, Mikael Pettersson, Paul Guyot, Renato
Ceolin, ruslandoga, Scott Wiggins, Stanislav Yaglo, Thomas Arts, Thomas
Cioppettini, Zeke Dou, zmstone



More information about the erlang-announce mailing list