Erlang/OTP 20.0 is a new major release with new features, quite a few (characteristics) improvements, as well as a few incompatibilities.
There are only minor changes compared to the second release candidate, some of them listed below:
erlang:term_to_binary/1
changed the encoding of all atoms from ATOM_EXT
to ATOM_UTF8_EXT
and SMALL_ATOM_UTF8_EXT
. This is now changed so that only atoms actually containing unicode characters are encoded with the UTF8 tags while other atoms are encoded ATOM_EXT
just as before.Here are some of the most important news in OTP 20:
ERTS:
erlang:hash/2
erlang:check_process_code/3
.DFLAG_UTF8_ATOMS
capability in the distribution protocol must be supported if an OTP 20 node should accept the connection with another node or library. Third party libraries which uses the distribution protocol need to be updated with this.Asn1: Deprecated module and functions removed (asn1rt
, asn1ct:encode/3
and decode/3
)
Ssh: client only option in a call to start a daemon will now fail
#{'a'=>1, 'b'=>2, 'a'=>3}
will warn for the repeated key a
.export_all
is used. Can be disableddeterministic
to omit path to source + options info the BEAM file.compile:file/2
has an option to include extra chunks in the BEAM file.string
module with unicode support and many new functionsgen_fsm
is deprecated and replaced by gen_statem
rand:jump/0-1
gen_server
crashes, the stacktrace for the client will be printed to facilitate debugging.take/2
has been added to dict
, orddict
, and gb_trees
.take_any/2
has been added to gb_trees
erl_tar
support for long path names and new file formatsasn1
: the new maps
option changes the representation of SEQUENCE
to be maps instead of recordspublic_key:pkix_verify_hostname/2
to verify the hostnamessl
: DTLS documented in the API, experimentalssh
: improving security, removing and adding algorithmsmath:fmod/2
For more details see http://erlang.org/download/otp_src_20.0.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_20.0.exe http://erlang.org/download/otp_win64_20.0.exe
On line documentation can be browsed here: www.erlang.org/doc/
Thanks to all contributors.
You can build Erlang from source on your own, following the building and installation instructions. Or use the Kerl script. Kerl is a script that lets you easily build Erlang with a few commands. Follow the instructions to build.
Information about all released OTP versions since OTP 17.0 can be found at the OTP Versions Tree page. This information includes a link to the GitHub source tag, and a link to the README. As of OTP 23, Windows binaries can also be downloaded from here for all patches.
Most OS package managers provide pre-built binary packages. You can also download the latest stable releases from Erlang Solutions. Erlang Solutions provides pre-built binary packages for OS X, Windows, Ubuntu, Debian, Fedora, CentOS, Raspbian and other operating systems.
Since OTP 18.0, Erlang/OTP is released under Apache License 2.0. The older releases prior to 18.0 were released under Erlang Public License (EPL), a derivative work of the Mozilla Public License (MPL).
PDF files are included in the Windows installer and in the HTML documentation tarballs, starting with theR13B03 release.
There is a file containing MD5 checksumsfor all files in the download directory, also reachable through rsync rsync.erlang.org::erlang-download