<div dir="ltr">Erlang/OTP 17.0-rc2 has been released.<div class="gmail_extra"><div>
<p>
        This is a beta release, which will be followed by the final OTP 17.0 product release in the beginning of April.</p>
<p>
        Between this beta and the final release there will be new updates of 
the master branch with corrections and minor new features. Occasionally 
there might be new tags which we in that case will communicate and ask 
you to test.</p>
<p>
        Erlang/OTP 17.0 is a new major release with new features, quite a few 
(characteristics) improvements, as well as some incompatibilities. See 
the README file and the documentation for more details.</p>
<p>
        We would like to ask you to download and test the beta release and send
 us your feedback as soon as possible, so that we can make the necessary
 corrections before OTP 17.0.</p>
<p>
        The release contains many changes and a few potential 
incompatibilities. Please try to build and run your current 
products/applications and let us know about any problems.</p>
<p>
        One known, but previously insufficiently documented incompatibility that we would like to highlight is:</p>
<p>
        OTP-11719 == erts == </p>
<p>
        <strong>The default encoding of Erlang files has been changed from 
ISO-8859-1 to UTF-8. The encoding of XML files has also been changed to 
UTF-8.</strong></p>
<p>
        Please verify that your source code compiles with Erlang/OTP 17. If 
your (ISO-8559-1 / Latin-1 encoded) source code files contain characters
 that are outside of the bit 7-bit ASCII character set, you will receive
 a compiler error similar to the following:</p>
<pre>tst.erl:1: cannot parse file, giving up
tst.erl:1: no module definition
tst.erl:1: cannot translate from UTF-8
</pre>
<p>
        In this case, you need to apply one of the following alternatives to each (impacted) file:</p>
<p>
        Alternative 1: Encode the file in UTF-8 (instead of Latin-1). If the 
file is going to be compiled with both OTP 17 and previous versions, 
insert a comment stating the encoding at the beginning of the file:</p>
<pre>   %% -*- coding: utf-8 -*-
</pre>
<p>
        Alternative 2: Leave the file encoded as Latin-1 and insert a comment stating the encoding at the beginning of the file:</p>
<pre>   %% -*- coding: latin-1 -*-
</pre>
<p>
        For detailed information, <a href="http://www.erlang.org/doc/apps/stdlib/unicode_usage.html">see the STDLIB User's Guide, 2 Using Unicode in Erlang</a></p>
<p>
        The 17.0 release contains many changes; thus, some unexpected 
incompatibilities or issues may have slipped through our tests. Please 
try to build and run your current products/applications and let us know 
about any problems.</p>
<p>
        Note! The new datatype MAP is not properly documented yet but the EEP 
43 <a href="https://www.erlang.org/eeps/eep-0043.html">https://www.erlang.org/eeps/eep-0043.html</a> will provide a good start. 
Also note that it is a limited implementation of maps implemented so 
far:</p>
<ul><li>
                no variable keys are allowed</li><li>
                native code can not be generated for modules using maps</li></ul>
<p>
        Some other highlights of the release are:</p>
<ul><li>
                Erlang/OTP has been ported to the realtime operating system OSE.</li><li>
                Maps, a new dictionary data type (experimental)</li><li>
                A more natural mapping from ASN.1 OCTET STRING and BIT STRING to Erlang types, and other ASN.1 improvements and optimizations</li><li>
                The {active, N} socket option for TCP, UDP, and SCTP</li><li>
                A new (optional) scheduler utilization balancing mechanism</li><li>
                Migration of memory carriers has been enabled by default on all ERTS internal memory allocators</li><li>
                Increased garbage collection tenure rate</li><li>
                Experimental "dirty schedulers" functionality</li><li>
                Funs can now be given names</li><li>
                Miscellaneous unicode support enhancements</li><li>
                A new, semantic version scheme for OTP and its applications</li></ul>
<p>
        You can find the README file with more detailed info at <a href="http://www.erlang.org/download/otp_src_17.0-rc2.readme">http://www.erlang.org/download/otp_src_17.0-rc2.readme</a></p>
<p>
        You can download the full source distribution from <a href="http://www.erlang.org/download/otp_src_17.0-rc2.tar.gz">http://www.erlang.org/download/otp_src_17.0-rc2.tar.gz</a></p>
<p>
        Note: To unpack the TAR archive you need a GNU TAR compatible program. 
For installation instructions pleaseErlang/OTP 17.0-rc2 has been released. read the README that is part of the
 distribution.</p>
<p>
        You can also find this release at the official Erlang/OTP Git-repository at Github here: <a href="https://github.com/erlang/otp">https://github.com/erlang/otp</a> tagged *OTP_17.0-rc2*</p>
<p>
        The Windows binary distribution can be downloaded from</p>
<p>
        <a href="http://www.erlang.org/download/otp_win32_17.0-rc2.exe">http://www.erlang.org/download/otp_win32_17.0-rc2.exe</a> <a href="http://www.erlang.org/download/otp_win64_17.0-rc2.exe"><br>
        http://www.erlang.org/download/otp_win64_17.0-rc2.exe </a></p>
<p>
        You can also download the complete HTML documentation or the Unix manual files <a href="http://www.erlang.org/download/otp_doc_html_17.0-rc2.tar.gz">http://www.erlang.org/download/otp_doc_html_17.0-rc2.tar.gz</a> <br>
        <a href="http://www.erlang.org/download/otp_doc_man_17.0-rc2.tar.gz">http://www.erlang.org/download/otp_doc_man_17.0-rc2.tar.gz</a></p>
<p>
        We also want to thank those that sent us patches, suggestions and bug reports.</p>
<p>
        The Erlang/OTP Team at Ericsson</p>
</div></div></div>