Erlang/OTP 23 is a new major release with new features, improvements as well as a few incompatibilities.
erl_interface
: Removed the deprecated parts of erl_interface
(erl_interface.h
and essentially all C functions with prefix erl_
).erlang:get_stacktrace/0
BIF now returns an empty list instead of a stacktrace. erlang:get_stacktrace/0
is scheduled for removal in OTP 24.openssh-key-v1
. This is now supported with the exception of handling encrypted keys.-dist_listen false
Setup the distribution channel, but do not listen for incoming connection.-erl_epmd_port Port
Configure a default port that the built-in EPMD client should return.socket
backend togen_tcp
and inet
has been implemented. gen_udp
and gen_sctp
will follow.
Putting {inet_backend, socket}
as first option to listen()
or connect()
makes it easy to try this for existing code
erpc
in kernel which implements an enhanced subset of the operations provided by the rpc
module. Enhanced in the sense that it makes it possible to distinguish between returned value, raised exceptions and other errors. erpc
also has better performance and scalability than the original rpc
implementation. This by utilizing the newly introduced spawn_request()
BIF. Also the rpc
module benefits from these improvements by utilizing erpc
when possible.123_456_789
, 16#1234_ABCD
.functions are:
h/1,2,3
-- Print the documentation for a Module:Function/Arity
.ht/1,2,3
-- Print the type documentation for a Module:Type/Arity
.The embedded documentation is created as docchunks (EEP 48) when building the Erlang/OTP documentation.
pg
with a new implementation of distributed named process groups is introduced. The old module pg2
is deprecated and scheduled for removal in OTP 24.For more details see http://erlang.org/download/otp_src_23.0.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_23.0.exe http://erlang.org/download/otp_win64_23.0.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-11.0/doc The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp
This is the second of three planned release candidates before the OTP 23 release. The intention with this release is to get feedback from our users. All feedback is welcome, even if it is only to say that it works for you.
Erlang/OTP 23 is a new major release with new features, improvements as well as a few incompatibilities.
erl_interface
: Removed the deprecated parts of erl_interface
(erl_interface.h
and essentially all C functions with prefix erl_
).
erlang:get_stacktrace/0
BIF now returns an empty list instead of a stacktrace.erlang:get_stacktrace/0
is scheduled for removal in OTP 24.
keys called�openssh-key-v1
. This is now supported with the exception of
handling encrypted keys.
This is useful for example to enable an algorithm that is disabled by default without need to change the code.
look more like a TLS 1.2 handshake and increases the chance of successfully establishing TLS 1.3 connections through legacy middleboxes.
signature verification
relying on EPMD has been extended. To achieve this a
couple of new options to the inet distribution has been
added. * -dist_listen false
Setup the distribution
channel, but do not listen for incoming connection.
-erl_epmd_port Port
Configure a default port thatthe built-in EPMD client should return.
socket
backend togen_tcp
and inet
has been implemented. gen_udp
and gen_sctp
will follow.
Putting {inet_backend, socket}
as first option to listen()
or connect()
makes it easy to try this for
existing code
erpc
in kernel which implements an enhanced subset of the operations provided by the rpc
module. Enhanced in the sense that it makes it possible to distinguish between returned value, raised exceptions and other errors. erpc
also has better performance and scalability than the original rpc
implementation. This by utilizing the newly introduced spawn_request()
BIF. Also the rpc
module benefits from these improvements by utilizing erpc
when possible.123_456_789
, 16#1234_ABCD
.functions are: * h/1,2,3
-- Print the documentation for a�Module:Function/Arity
.
ht/1,2,3
-- Print the type documentation for a�Module:Type/Arity
.The embedded documentation is created as docchunks (EEP 48) when building the Erlang/OTP documentation.
pg
with a new implementation of distributed named process groups is introduced. The old module pg2
is deprecated and scheduled for removal in OTP 24.For more details see http://erlang.org/download/otp_src_23.0-rc2.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_23.0-rc2.exe http://erlang.org/download/otp_win64_23.0-rc2.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-11.0-rc2/doc The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp
Erlang/OTP 22.3 is the last planned patch package for the 22 major release with new features, improvements and bugfixes. Below follows some highlights.
update feature, and general hardening of TLS 1.3. There are cryptographic limits on the amount of plaintext which can be safely encrypted under a given set of keys. This change enforces those limits by triggering automatic key updates on TLS 1.3 connections.
stateless). This allows session resumption using keying material from a previous successful handshake.
PSS-RSA padding in signature verification.
the underlying TCP stream.
ssh_dbg
tool.results of stateful testing.
resolve a URI reference against a base URI.
module for a running server. See gen_statem's
documentation for�change_callback_module
,
push_callback_module
, and�pop_callback_module
.
For more details see http://erlang.org/download/otp_src_22.3.readme Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_22.3.exe http://erlang.org/download/otp_win64_22.3.exe Online documentation can be browsed here: http://erlang.org/doc/search/ The source tarball can be fetched here: http://erlang.org/download/otp_src_22.3.tar.gz The documentation can be fetched here: http://erlang.org/download/otp_doc_html_22.3.tar.gz The man pages can be fetched here: http://erlang.org/download/otp_doc_man_22.3.tar.gz The Erlang/OTP source can also be found at GitHub on the official Erlang repository: https://github.com/erlang/otp OTP-22.3
Thank you for all your contributions!
This is the first of three planned release candidates before the OTP 23 release. The intention with this release is to get feedback from our users. All feedback is welcome, even if it is only to say that it works for you.
Erlang/OTP 23 is a new major release with new features, improvements as well as a few incompatibilities.
erl_interface
: Removed the deprecated parts of erl_interface
(erl_interface.h
and essentially all C functions with prefix erl_
).
erlang:get_stacktrace/0
BIF now returns an empty list instead of a stacktrace.erlang:get_stacktrace/0
is scheduled for removal in OTP 24.
erpc
in kernel which implements an enhanced subset of the operations provided by the rpc
module. Enhanced in the sense that it makes it possible to distinguish between returned value, raised exceptions and other errors. erpc
also has better performance and scalability than the original rpc
implementation. This by utilizing the newly introduced spawn_request()
BIF. Also the rpc
module benefits from these improvements by utilizing erpc
when possible.123_456_789
, 16#1234_ABCD
.functions are: * h/1,2,3
-- Print the documentation for a Module:Function/Arity
.
ht/1,2,3
-- Print the type documentation for a Module:Type/Arity
.The embedded documentation is created as docchunks (EEP 48) when building the Erlang/OTP documentation.
pg
with a new implementation of distributed named process groups is introduced. The old module pg2
is deprecated and scheduled for removal in OTP 24.For more details see http://erlang.org/download/otp_src_23.0-rc1.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_23.0-rc1.exe http://erlang.org/download/otp_win64_23.0-rc1.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-11.0-rc1/doc The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp
For more details see erlang.org/download/otp_src_22.2.readme
Pre-built versions for Windows can be fetched here: erlang.org/download/otp_win32_22.2.exe erlang.org/download/otp_win64_22.2.exe
Online documentation can be browsed here: erlang.org/doc/search/
The source tarball can be fetched here: erlang.org/download/otp_src_22.2.tar.gz The documentation can be fetched here: erlang.org/download/otp_doc_html_22.2.tar.gz The man pages can be fetched here: erlang.org/download/otp_doc_man_22.2.tar.gz
The Erlang/OTP source can also be found at GitHub on the official Erlang repository:
Thank you for all your contributions!
For more details see http://erlang.org/download/otp_src_22.1.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_22.1.exe http://erlang.org/download/otp_win64_22.1.exe
Online documentation can be browsed here: http://erlang.org/doc/search/
The source tarball can be fetched here: http://erlang.org/download/otp_src_22.1.tar.gz The documentation can be fetched here: http://erlang.org/download/otp_doc_html_22.1.tar.gz The man pages can be fetched here: http://erlang.org/download/otp_doc_man_22.1.tar.gz
The Erlang/OTP source can also be found at GitHub on the official Erlang repository:
Thank you for all your contributions!
Erlang/OTP 22 is a new major release with new features and improvements as well as incompatibilities.
For a deeper dive into the highlights of the OTP 22 release, you can read our blog here:
http://blog.erlang.org/OTP-22-Highlights/
For more details see http://erlang.org/download/otp_src_22.0.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_22.0.exe http://erlang.org/download/otp_win64_22.0.exe
Online documentation can be browsed here: http://erlang.org/doc/search/
The Erlang/OTP source can also be found at GitHub on the official Erlang repository:
Thank you for all your contributions!
This is the second of three planned release candidates before the OTP 22 release.
The intention with this release is to get feedback from our users. All feedback is welcome, even if it is only to say that it works for you, as it lets us know that the release candidate got some testing.
Erlang/OTP 22 is a new major release with new features and improvements as well as incompatibilities.
For more details see http://erlang.org/download/otp_src_22.0-rc2.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_22.0-rc2.exe http://erlang.org/download/otp_win64_22.0-rc2.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-11.0-rc2/doc
The Erlang/OTP source can also be found at GitHub on the official Erlang repository:
Thank you for all your contributions!
Erlang/OTP 21.3 is the third service release for version 21 release with, improvements as well as a few features!
Kernel:
SSL:
Erl_interface:
OTP:
For a full list of details see: http://erlang.org/download/otp_src_21.3.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_21.3.exe http://erlang.org/download/otp_win64_21.3.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-10.3/doc
The Erlang/OTP source can also be found at GitHub on the official Erlang repository, Here: OTP-21.2
Please report any new issues via Erlang/OTPs public issue tracker https://bugs.erlang.org We want to thank all of those who sent us patches, suggestions and bugreports! Thank you! The Erlang/OTP Team at Ericsson
This is the first of three planned release candidates before the OTP 22 release.
The intention with this release is to get feedback from our users. All feedback is welcome, even if it is only to say that it works for you, as it lets us know that the release candidate got some testing.
Erlang/OTP 22 is a new major release with new features and improvements as well as incompatibilities.
Native code generation does not work for all modules due to new BEAM instructions not supported by HiPE the native compiler. However, dialyzer's automatic compilation to native code still works. Building OTP with the configure option enable-native-libs will not work in this release candidate.
For more details see http://erlang.org/download/otp_src_22.0-rc1.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_22.0-rc1.exe http://erlang.org/download/otp_win64_22.0-rc1.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-11.0-rc1/doc
The Erlang/OTP source can also be found at GitHub on the official Erlang repository:
Thank you for all your contributions!
Erlang/OTP 21.2 is the second service release for the 21st major release with, improvements as well as a few features!
SSH:
SSL:
ERTS, Kernel:
For a full list of details see: http://erlang.org/download/otp_src_21.2.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_21.2.exe http://erlang.org/download/otp_win64_21.2.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-10.2/doc
The Erlang/OTP source can also be found at GitHub on the official Erlang repository, Here: OTP-21.2
Please report any new issues via Erlang/OTPs public issue tracker https://bugs.erlang.org We want to thank all of those who sent us patches, suggestions and bugreports! Thank you! The Erlang/OTP Team at Ericsson
Erlang/OTP 21.1 is the first service release for the 21st major release with improvements as well as a few new features!
SSH:
Crypto:
ERTS, Kernel:
For more details see: http://erlang.org/download/otp_src_21.1.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_21.1.exe http://erlang.org/download/otp_win64_21.1.exe
Online documentation can be browsed here: http://erlang.org/documentation/doc-10.1/doc
The Erlang/OTP source can also be found at GitHub on the official Erlang repository, Here: OTP-21.1
Please report any new issues via Erlang/OTPs public issue tracker https://bugs.erlang.org We want to thank all of those who sent us patches, suggestions and bugreports! Thank you! The Erlang/OTP Team at Ericsson
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
saltlength setting
signatures as mentioned in NIST SP 800-57 Part 1.
crypto:supports/0
reports supported MACalgorithms.
decode_format
to allow incoming messages to be decoded into mapsinstead of records.
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.
zlib
module has been refactored and all its operations will now yield appropriately,allowing them to be used freely in concurrent applications.
erlang:iolist_to_iovec/1
, which converts aniolist()
to an�erlang:iovec()
, which is suitable for use
with�enif_inspect_iovec()
.
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()
avoid generating a new crash dump from the node running the Crashdump Viewer.
Add system statistics and limits to frontpage in observer.
Improved error propagation and reports
modify_algorithms
is implemented. Itenables specifying changes on the default algorithms list. See the reference manual and the SSH User's Guide chapter "Configuring algorithms in SSH".
the�-on_load()
attribute and does not report unused functions.
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
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:
erlang:hash/2
see 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.asn1rt
, asn1ct:encode/3
and decode/3
)#{'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
The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp with tag OTP-20.0
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.
This is the second of two release candidates before the OTP 20 release. The intention with this release is that you as users try it and give us feedback if something does not work as expected. Could be a bug, an unexpected incompatibility, a significant change of characteristics in negative direction, etc.
There are only minor changes compared to the first release candidate, some of them listed below:
./configure --enable-lock-counter
will enable building of an additional emulator that has support forlock counting. (The option previously existed, but would turn on lock counting in the default emulator
being built.) To start the lock-counting emulator, use erl -emu_type lcnt
.
message_queue_data
= off_heap
to the code_server
process in order toimprove characteristics during code upgrade, which can generate a huge amount of messages.
Here are some of the most important news in OTP 20 (same as in RC1):
erlang:hash/2
see erlang:check_process_code/3
.
asn1rt
, asn1ct:encode/3
and decode/3
)#{'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.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 formatsmath:fmod/2
For more details see http://erlang.org/download/otp_src_20.0-rc2.readme
Per built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_20.0-rc2.exe http://erlang.org/download/otp_win64_20.0-rc2.exe
On line documentation can be browsed here: www.erlang.org/documentation/doc-9.0-rc2/doc/
Thanks to all contributors.
This is the first of two release candidates before the OTP 20 release in June 2017.
The intention with this release is that you as users try it and give us feedback if something does not work as expected. Could be a bug, an unexpected incompatibility, a significant change of characteristics in negative direction, etc.
Erlang/OTP 20.0 is a new major release with new features, quite a few (characteristics) improvements, as well as a few incompatibilities.
Here are some of the most important news:
erlang:hash/2
see erlang:check_process_code/3
.
asn1rt
, asn1ct:encode/3
and decode/3
)#{'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.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 formatsmath:fmod/2
For more details see http://erlang.org/download/otp_src_20.0-rc1.readme
Pre built versions for Windows can be fetched here: http://erlang.org/download/otp_win32_20.0-rc1.exe http://erlang.org/download/otp_win64_20.0-rc1.exe
On line documentation can be browsed here: www.erlang.org/documentation/doc-9.0-rc1/doc/
Thanks to all contributors.