This is a beta release, which will be followed by the final OTP 17.0 product release in the beginning of April.
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.
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.
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.
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.
One known, but previously insufficiently documented incompatibility that we would like to highlight is:
OTP-11719 == erts ==
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.
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:
tst.erl:1: cannot parse file, giving up tst.erl:1: no module definition tst.erl:1: cannot translate from UTF-8
In this case, you need to apply one of the following alternatives to each (impacted) file:
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:
%% -*- coding: utf-8 -*-
Alternative 2: Leave the file encoded as Latin-1 and insert a comment stating the encoding at the beginning of the file:
%% -*- coding: latin-1 -*-
For detailed information, see the STDLIB User's Guide, 2 Using Unicode in Erlang
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.
Note! The new datatype MAP is not properly documented yet but the EEP 43 https://www.erlang.org/eeps/eep-0043.html will provide a good start. Also note that it is a limited implementation of maps implemented so far:
Some other highlights of the release are:
You can find the README file with more detailed info at http://www.erlang.org/download/otp_src_17.0-rc2.readme
You can download the full source distribution from http://www.erlang.org/download/otp_src_17.0-rc2.tar.gz
Note: To unpack the TAR archive you need a GNU TAR compatible program. For installation instructions please read the README that is part of the distribution.
You can also find this release at the official Erlang/OTP Git-repository at Github here: https://github.com/erlang/otp tagged *OTP_17.0-rc2*
The Windows binary distribution can be downloaded from
You can also download the complete HTML documentation or the Unix manual files http://www.erlang.org/download/otp_doc_html_17.0-rc2.tar.gz
We also want to thank those that sent us patches, suggestions and bug reports.
The Erlang/OTP Team at Ericsson