OTP 24.0 has been released

Henrik Nord X henrik.x.nord@REDACTED
Wed May 12 13:05:52 CEST 2021

OTP 24

Erlang/OTP 24 is a new major release with new features, improvements as well as a few incompatibilities.

Below are some of the highlights of the release:


  *   The compiler will now inline funs that are used only once immediately after their definition.
  *   Compiler warnings and errors now include column numbers in addition to line numbers.
  *   Variables bound between the keywords 'try' and 'of' can now be used in the clauses following the 'of' keyword
(that is, in the success case when no exception was raised).
  *   Generators in list and binary comprehensions will now
raise a {bad_generator,Generator} exception if the
generator has an incorrect type
Similarly, when a
filter does not evaluate to a boolean, a
{bad_filter,Filter} exception will be raised.
  *   Warnings for expressions whose result was ignored that could be suppressed by
using the anonymous variable '_' can now be suppressed with a variable beginning with '_'.
  *   Selective receive optimization will now be applied much
more often.
The new recv_opt_info compile flag can be used to print
diagnostics relating to this optimization.
You can read more about the selective receive
optimization in the Efficiency Guide.

erts, kernel, stdlib

  *   hex encoding and decoding functions added in the binary module

  *   The BeamAsm JIT-compiler has been added to Erlang/OTP and will give a significant performance boost for many applications.
The JIT-compiler is enabled by default on most x86 64-bit platforms that have a C++ compiler that can compile C++17.
To verify that a JIT enabled emulator is running you can use erlang:system_info(emu_flavor).

  *   A compatibility adaptor for gen_tcp to use the new socket API has been implemented (gen_tcp_socket).

  *   Extended error information for failing BIF calls as proposed in EEP 54 has been implemented.

  *   Process aliases as outlined by EEP 53 has been introduced.

  *   Implementation of EEP 56 in supervisor. It adds the concept of significant children as well as the auto_shutdown supervisor flag. See the supervisor manual page for more information.


  *   Add support for FTPES (explicit FTP over TLS).


  *   Make TLS handshakes in Erlang distribution concurrent.
  *   TLS connections now support EdDSA certificates.


  *   The application has been completely rewritten in order
to use wxWidgets version 3 as its base.
  *   Added support for wxWebView.


  *   EDoc is now capable of emitting EEP-48 doc chunks. This means that, with some
configuration, community projects can now provide documentation for shell_docs
the same way that OTP libraries did since OTP 23.0.

For more details about new features and potential incompatibilities see

  *   https://erlang.org/download/OTP-24.0.README

Pre built versions for Windows can be fetched here:

Online documentation can be browsed here:

  *   http://erlang.org/documentation/doc-12.0/doc

The Erlang/OTP source can also be found at GitHub on the official Erlang repository,

Many thanks to all the contributors.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20210512/73d378e0/attachment.htm>

More information about the erlang-questions mailing list