Erlang OTP 23.0 Release Candidate 1
OTP 23 Release Candidate 1 #
This is the first of three planned release candidates before the OTP 23 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.
Erlang/OTP 23 is a new major release with new features, improvements as well as a few incompatibilities.
Potential Incompatibilities #
- SSL: * Support for SSL 3.0 is completely removed.
- TLS 1.3 is added to the list of default supported versions.
erl_interface
: Removed the deprecated parts oferl_interface
(erl_interface.h
and essentially all C functions with prefixerl_
).- The deprecated
erlang:get_stacktrace/0
BIF now returns an empty list instead of a stacktrace.erlang:get_stacktrace/0
is scheduled for removal in OTP 24. - …
Highlights #
- A new module
erpc
in kernel which implements an enhanced subset of the operations provided by therpc
module. Enhanced in the sense that it makes it possible to distinguish between returned value, raised exceptions and other errors.erpc
also has better performance and scalability than the originalrpc
implementation. This by utilizing the newly introducedspawn_request()
BIF. Also therpc
module benefits from these improvements by utilizingerpc
when possible. - Scalability and performance Improvements plus new functionality regarding distributed spawn operations.
- In binary matching, the size of the segment to be matched is now allowed to be a guard expression (EEP-52)
- When matching with maps the keys can now be guard expressions (EEP-52).
- ssh: support for TCP/IP port forwarding, a.k.a tunneling a.k.a as tcp-forward/direct-tcp is implemented. In the OpenSSH client, this corresponds to the options -L and -R.
- Allow underscores in numeric literals to improve readability. Examples:
123_456_789
,16#1234_ABCD
. - New functions in the shell for displaying documentation for Erlang modules, functions and types. The
functions are: *
h/1,2,3
– Print the documentation for aModule:Function/Arity
. ht/1,2,3
– Print the type documentation for aModule:Type/Arity
. The embedded documentation is created as docchunks (EEP 48) when building the Erlang/OTP documentation.- kernel: The module
pg
with a new implementation of distributed named process groups is introduced. The old modulepg2
is deprecated and scheduled for removal in OTP 24. - Our tool chain for building the Windows packages is upgraded with new C++ compiler, Java compiler, OpenSSL libraries and wxWidgets versions. We are now using WSL (the Linux Subsystem for Windows when building) which makes it easier to handle the build environment.
- …
For more details see https://erlang.org/download/otp_src_23.0-rc1.readme
Pre built versions for Windows can be fetched here: https://erlang.org/download/otp_win32_23.0-rc1.exe https://erlang.org/download/otp_win64_23.0-rc1.exe
Online documentation can be browsed here: https://erlang.org/documentation/doc-11.0-rc1/doc The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp