Erlang/OTP 20.1 is the first service release for the 20 major release. The service release contains mostly bug fixes and characteristics improvements but also some new features.
Some highlights for 20.1
crypto, public_key: Extend crypto and public_key functions sign and verify with:
A new tuple in crypto:supports/0
reports supported MAC
algorithms.
diameter:
decode_format
to allow incoming messages to be decoded into maps
instead of records.erts: Upgraded the ERTS internal PCRE library from version 8.40 to version 8.41.
erts, kernel, tools: Profiling with lock counting can now be fully toggled at runtime in
the lock counting emulator (-emu_type lcnt). Everything
is enabled by default to match the old behavior, but
specific categories can be toggled at will with minimal
runtime overhead when disabled. Refer to the
documentation on lcnt:rt_mask/1
for details.
lcnt:collect
and lcnt:clear
will no longer block all
other threads in the runtime system. This makes it possible to run the lock counting
under heavier load.
erts: The zlib
module has been refactored and all its operations will now yield appropriately,
allowing them to be used freely in concurrent applications.
erts, tools: Add erlang:iolist_to_iovec/1
, which converts an
iolist()
to an erlang:iovec()
, which is suitable for use
with enif_inspect_iovec()
.
erts: Add new nif API functions for managing an I/O Queue.
The added functions are: enif_ioq_create()
, enif_ioq_destroy()
, enif_ioq_enq_binary()
,
enif_ioq_enqv()
, enif_ioq_deq()
, enif_ioq_peek()
, enif_inspect_iovec()
, enif_free_iovec()
observer/crashdump_viewer:
avoid generating a new crash dump from the node running the Crashdump Viewer.
observer: Add system statistics and limits to frontpage in observer.
public_key, ssl**: Improved error propagation and reports
ssh: A new option modify_algorithms
is implemented. It
enables specifying changes on the default algorithms
list. See the reference manual and the SSH User's Guide
chapter "Configuring algorithms in SSH".
tools/xref: The predefined Xref analysis locals_not_used now understands
the -on_load()
attribute and does not report unused functions.
tools/fprof: When sampling multiple processes and analyzing with totals set to true, the output now sums together all caller and callee entries which concerns the same function. Previous behaviour was to report each contributing entry separately.
You can find the README and the full listing of changes for this service release at
http://www.erlang.org/download/otp_src_20.1.readme
The source distribution and binary distributions for Windows can be downloaded from
http://www.erlang.org/download/otp_src_20.1.tar.gz http://www.erlang.org/download/otp_win32_20.1.exe http://www.erlang.org/download/otp_win64_20.1.exe
Note: To unpack the TAR archive you need a GNU TAR compatible program.
For installation instructions please consult the README file that is part of the distribution.
The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp with tag OTP-20.1
The on-line documentation can be found at: http://www.erlang.org/doc/ You can also download the complete HTML documentation or the Unix manual files
http://www.erlang.org/download/otp_doc_html_20.1.tar.gz http://www.erlang.org/download/otp_doc_man_20.1.tar.gz
Please report any new issues via Erlang/OTPs public issue tracker
We want to thank all of those who sent us patches, suggestions and bug reports!
Thank you!
The Erlang/OTP Team at Ericsson
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