OTP 24.0 has been released

Henrik Nord X <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <VI1PR07MB545305D5267258729EDF037BD5529@VI1PR07MB5453.eurprd07.prod.outlook.com>
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:

Highlights
compiler

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

ftp

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

ssl

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

wx

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

edoc

  *   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:
https://erlang.org/download/otp_win32_24.0.exe
https://erlang.org/download/otp_win64_24.0.exe

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,
https://github.com/erlang/otp

Many thanks to all the contributors.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.