<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<div>
<h2>OTP 23 Release Candidate 3</h2>
<p>This is the third and last of three planned release candidates before the OTP 23 release.<br>
The intention with this release is to get feedback from our users. <strong>All feedback is welcome</strong>, even if it is only to say that it works for you.</p>
<p>Erlang/OTP 23 is a new major release with new features, improvements as well as a few incompatibilities.</p>
<h3>Highlights (rc3)</h3>
<p>Apart from the changes below, this third pre-release contains only minor fixes.</p>
<h3>Potential Incompatibilities</h3>
<ul>
<li>SSL:
<ul>
<li>Support for SSL 3.0 is completely removed.</li><li>TLS 1.3 is added to the list of default supported versions.</li></ul>
</li><li><code>erl_interface</code>: Removed the deprecated parts of <code>erl_interface</code><br>
(<code>erl_interface.h</code> and essentially all C functions with prefix <code>erl_</code>).</li><li>The deprecated <code>erlang:get_stacktrace/0</code> BIF now returns an empty list instead of a stacktrace.<br>
<code>erlang:get_stacktrace/0</code> is scheduled for removal in OTP 24.</li><li>...</li></ul>
<h3>Highlights (rc2)</h3>
<ul>
<li><strong>ssh</strong>:
<ul>
<li>OpenSSH 6.5 introduced a new file representation of<br>
keys called <code>openssh-key-v1</code>. This is now supported with the exception of<br>
handling encrypted keys.</li><li>Algorithm configuration could now be done in a .config file.<br>
This is useful for example to enable an algorithm that<br>
is disabled by default without need to change the code.</li></ul>
</li><li><strong>ssl</strong>:
<ul>
<li>Support for the middlebox compatibility mode makes the TLS 1.3 handshake<br>
look more like a TLS 1.2 handshake and increases the chance of successfully<br>
establishing TLS 1.3 connections through legacy middleboxes.</li><li>Add support for key exchange with Edward curves and PSS-RSA padding in<br>
signature verification</li></ul>
</li><li>The possibility to run Erlang distribution without<br>
relying on EPMD has been extended. To achieve this a<br>
couple of new options to the inet distribution has been<br>
added.
<ul>
<li><code>-dist_listen false</code> Setup the distribution<br>
channel, but do not listen for incoming connection.</li><li><code>-erl_epmd_port Port</code> Configure a default port that<br>
the built-in EPMD client should return.</li><li>...</li></ul>
</li><li>A first EXPERIMENTAL <code>socket</code> backend to<br>
<code>gen_tcp</code> and <code>inet</code> has been implemented. <code>gen_udp</code> and
<code>gen_sctp</code> will follow.<br>
Putting <code>{inet_backend, socket}</code> as first option to <code>listen()</code> or
<code>connect()</code> makes it easy to try this for<br>
existing code</li></ul>
<h3>Highlights (rc1)</h3>
<ul>
<li>A new module <code>erpc</code> in kernel which implements an enhanced subset of the operations provided by the
<code>rpc</code> module. Enhanced in the sense that it makes it possible to distinguish between returned value, raised exceptions and other errors.
<code>erpc</code> also has better performance and scalability than the original <code>
rpc</code> implementation. This by utilizing the newly introduced <code>spawn_request()</code> BIF. Also the
<code>rpc</code> module benefits from these improvements by utilizing <code>erpc</code> when possible.</li><li>Scalability and performance Improvements plus new functionality regarding distributed spawn operations.</li><li>In binary matching, the size of the segment to be matched is now allowed to be a guard expression (EEP-52)</li><li>When matching with maps the keys can now be guard expressions (EEP-52).</li><li>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.</li><li>Allow underscores in numeric literals to improve readability. Examples: <code>
123_456_789</code>, <code>16#1234_ABCD</code>.</li><li>New functions in the shell for displaying documentation for Erlang modules, functions and types. The<br>
functions are:
<ul>
<li><code>h/1,2,3</code> -- Print the documentation for a <code>Module:Function/Arity</code>.</li><li><code>ht/1,2,3</code> -- Print the type documentation for a <code>Module:Type/Arity</code>.<br>
The embedded documentation is created as docchunks (EEP 48) when building the Erlang/OTP documentation.</li></ul>
</li><li>kernel: The module <code>pg</code> with a new implementation of distributed named process groups is introduced. The old module
<code>pg2</code> is deprecated and scheduled for removal in OTP 24.</li><li>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.</li><li>...</li></ul>
<p>For more details see<br>
<a href="http://erlang.org/download/otp_src_23.0-rc3.readme" rel="nofollow" style="">http://erlang.org/download/otp_src_23.0-rc3.readme</a></p>
<p>Pre built versions for Windows can be fetched here:<br>
<a href="http://erlang.org/download/otp_win32_23.0-rc3.exe" rel="nofollow" style="">http://erlang.org/download/otp_win32_23.0-rc3.exe</a><br>
<a href="http://erlang.org/download/otp_win64_23.0-rc3.exe" rel="nofollow" style="">http://erlang.org/download/otp_win64_23.0-rc3.exe</a></p>
<p>Online documentation can be browsed here:<br>
<a href="http://erlang.org/documentation/doc-11.0-rc3/doc" rel="nofollow" style="">http://erlang.org/documentation/doc-11.0-rc3/doc</a><br>
The Erlang/OTP source can also be found at GitHub on the official Erlang repository,<br>
<a href="https://github.com/erlang/otp" style="">https://github.com/erlang/otp</a></p>
</div>
<br>
</div>
</body>
</html>