OTP 24.0 Release Candidate 3

April 20, 2021 · by Henrik Nord

This is the last of three planned release candidates before the OTP 24 release. The intention with this release is to get feedback from our users. All feedback is welcome, even if it is only to say that it works for you.

We encourage users to try it out and give us feedback either by creating an issue here https://github.com/erlang/otp/issues or by posting to the mailing list erlang-questions@erlang.org.

Erlang/OTP 24 is a new major release with new features, improvements as well as a few incompatibilities. Some of the new features are highlighted below.

Highlights rc3 #

stdlib #

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

Highlights rc2 #

compiler #

  • The compiler will now inline funs that are used only once immediately after their definition.

erts, kernel, stdlib #

  • hex encoding and decoding functions added in the binary module

There is as usual a number of bug fixes and improvements detailed in the readme. #

Highlights rc1 #

erts, kernel, stdlib #

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

compiler #

  • 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).

ftp #

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

ssl #

  • Support for the “early data” feature for TLS 1.3 servers and clients.
  • Make TLS handshakes in Erlang distribution concurrent.

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-rc3.README

Pre built versions for Windows can be fetched here: https://erlang.org/download/otp_win32_24.0-rc3.exe https://erlang.org/download/otp_win64_24.0-rc3.exe

Online documentation can be browsed here: https://erlang.org/documentation/doc-12.0-rc3/doc/

The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp