NEWS

Written by Henrik, 22 Sep 2021

Highlights

  • OTP: The Efficiency Guide has been extended with a chapter about maps.

  • Stdlib: Most output functions in the io module now print extra
    error information when provided with invalid arguments.
    The functions are: io:format, io:fwrite, io:put_chars,
    io:nl and io:write.

  • Erts: init:stop() no longer unloads loaded code before
    terminating the runtime system. On systems with slow
    CPUs (such as Raspberry PI Zero), that can
    significantly speed up termination of the runtime system.

For more details about new features and potential incompatibilities see
https://erlang.org/download/OTP-24.1.README

For more details about new features and potential incompatibilities see

Pre built versions for Windows can be fetched here:

For a quicker build a tar file with all the platform independent parts already built (.beam files and doc chunks) can be found here:

Online documentation can be browsed here:

Many thanks to all the contributors.

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

Tags: [ release OTP 24 ]

Written by Henrik, 12 May 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:

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

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:

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.

Tags: [ release OTP 24 ]

Written by Henrik, 20 Apr 2021

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

Online documentation can be browsed here:
http://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

Tags: [ release candidate OTP 24 ]

Written by Henrik, 26 Mar 2021

This is the second 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 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-rc2.README

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

Online documentation can be browsed here:
http://erlang.org/documentation/doc-12.0-rc2/doc/

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

Tags: [ release candidate OTP 24 ]