Erlang/OTP 18.0 has been released!
OTP 18.0 Readme File
OTP 18.0 Source File
OTP 18.0 Windows 32-bit Binary File
OTP 18.0 Windows 64-bit Binary File
OTP 18.0 HTML Documentation File
OTP 18.0 Man Pages File
Some highlights of the release are:
- Starting from 18.0 Erlang/OTP is released under the APL 2.0 (Apache Public License)
- erts: The time functionality has been extended. This includes a new API for
time, as well as "time warp" modes which alters the behavior when system time changes. You are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is a scalability bottleneck.
For more information see the Time and Time Correction chapter of the ERTS User's Guide. Here is a linkhttp://www.erlang.org/doc/apps/erts/time_correction.html
- erts: Beside the API changes and time warp modes a lot of scalability and performance improvements regarding time management has been made. Examples are:
- scheduler specific timer wheels,
- scheduler specific BIF timer management,
- parallel retrieval of monotonic time and system time on OS:es that support it.
- erts: The previously introduced "eager check I/O" feature is now enabled by default.
- erts/compiler: enhanced support for maps. Big maps new uses a HAMT (Hash Array Mapped Trie) representation internally which makes them more efficient. There is now also support for variables as map keys.
- dialyzer: The -dialyzer() attribute can be used for suppressing warnings
in a module by specifying functions or warning options.
It can also be used for requesting warnings in a module.
- ssl: Remove default support for SSL-3.0 and added padding check for TLS-1.0 due to the Poodle vulnerability.
- ssl: Remove default support for RC4 cipher suites, as they are consider too weak.
- stdlib: Allow maps for supervisor flags and child specs
- stdlib: New functions in ets:
- take/2. Works the same as ets:delete/2 but
also returns the deleted object(s).
- ets:update_counter/4 with a default object as
Compiling Erlang from source
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.
Source Versions and Windows Binaries for Patches
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.
Pre-built Binary Packages
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).