Erlang/OTP 21.3.8

This release of Erlang/OTP can be built from source or installed using pre-built packages for your OS or third-party tools (such as kerl or asdf).

docker run -it erlang:21.3.8
Patch Package OTP 21.3.8
Git Tag OTP-21.3.8
Date 2019-05-07
Issue Id
ERIERL-143
ERIERL-334
ERIERL-337
ERIERL-342
ERIERL-356
System OTP
Release 21
Application
Potential Incompatibilities

Potential Incompatibilities #

OTP-15717
Application(s):
common_test
Related Id(s):
ERIERL-334

The test result when a hook function fails is in general the same as if the function that the hook is associated with fails. For example, if post_init_per_testcase fails the result is that the test case is skipped, as is the case when init_per_testcase fails.This, however, was earlier not true for timetrap timeouts or other error situations where the process running the hook function was killed. This is now corrected, so the error handling should be the same no matter how the hook function fails.

common_test-1.17.2 #

The common_test-1.17.2 application can be applied independently of other applications on a full OTP 21 installation.

OTP-15717
Application(s):
common_test
Related Id(s):
ERIERL-334

*** POTENTIAL INCOMPATIBILITY ***

The test result when a hook function fails is in general the same as if the function that the hook is associated with fails. For example, if post_init_per_testcase fails the result is that the test case is skipped, as is the case when init_per_testcase fails.This, however, was earlier not true for timetrap timeouts or other error situations where the process running the hook function was killed. This is now corrected, so the error handling should be the same no matter how the hook function fails.

OTP-15758
Application(s):
common_test
Related Id(s):
ERIERL-342

In some rare cases, when two common_test nodes used the same log directory, a timing problem could occur which caused common_test to crash because it's log cache file was unexpectedly empty. This is now corrected.

OTP-14746
Application(s):
common_test
Related Id(s):
ERIERL-143

Two new common_test hook functions are introduced:

post_groups/2, which is called after Suite:groups/0 post_all/3, which is called after Suite:all/0

These functions allow modifying the return values from the groups/0 and all/0 functions, respectively.

A new term, {testcase,TestCase,RepeatProperties} is now also allowed in the return from all/0. This can be used for repeating a single test case a specific number of times, or until it fails or succeeds once.

Full runtime dependencies of common_test-1.17.2: compiler-6.0, crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0, observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0, stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8

eldap-1.2.7 #

The eldap-1.2.7 application can be applied independently of other applications on a full OTP 21 installation.

OTP-15785
Application(s):
eldap, public_key, ssl
Related Id(s):
ERL-893 , ERL-929 , PR-2215

Back port of bug fix ERL-893 from OTP-22 and document enhancements that will solve dialyzer warnings for users of the ssl application.

This change also affects public_key, eldap (and inet doc).

Full runtime dependencies of eldap-1.2.7: asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-2.0

erl_interface-3.11.3 #

The erl_interface-3.11.3 application can be applied independently of other applications on a full OTP 21 installation.

OTP-15781
Application(s):
erl_interface
Related Id(s):
ERIERL-356

erl_interface/ei refused to use node names with an alive name (the part of the node name preceding the @ sign) longer than 63 characters and a host name longer than 64 characters. The total amount of characters allowed in a node name (alivename@hostname) was thus limited to 128 characters. These limits applied both to the own node name as well as node names of other nodes. Ordinary Erlang nodes limit the node name length to 256 characters, which meant that you could not communicate with certain Erlang nodes due to their node name used.

erl_interface/ei now allow the total amount of characters in a node name to be up to 256 characters. These characters may be distributed between alive name and host name in whatever way needed. That is, the maximum amount of characters in the alive name may be 254 and the maximum amount of characters in the host name may be 254, but in total the node name must not exceed 256 characters.

erts-10.3.5 #

Note! The erts-10.3.5 application *cannot* be applied independently of other applications on an arbitrary OTP 21 installation. On a full OTP 21 installation, also the following runtime dependencies have to be satisfied: -- kernel-6.1 (first satisfied in OTP 21.1) -- sasl-3.3 (first satisfied in OTP 21.2)

OTP-15793
Application(s):
erts
Related Id(s):
ERIERL-337 , OTP-15709

Fixed more bugs in process_info(reductions) causing it to sometimes behave non-monotonic. That is, a subsequent call toward the same process could return a lower reduction value.

Full runtime dependencies of erts-10.3.5: kernel-6.1, sasl-3.3, stdlib-3.5

public_key-1.6.6 #

The public_key-1.6.6 application can be applied independently of other applications on a full OTP 21 installation.

OTP-15785
Application(s):
eldap, public_key, ssl
Related Id(s):
ERL-893 , ERL-929 , PR-2215

Back port of bug fix ERL-893 from OTP-22 and document enhancements that will solve dialyzer warnings for users of the ssl application.

This change also affects public_key, eldap (and inet doc).

Full runtime dependencies of public_key-1.6.6: asn1-3.0, crypto-3.8, erts-6.0, kernel-3.0, stdlib-3.5

ssl-9.2.3 #

The ssl-9.2.3 application can be applied independently of other applications on a full OTP 21 installation.

OTP-15802
Application(s):
ssl
Related Id(s):
ERL-934

Missing check of size of user_data_buffer made internal socket behave as an active socket instead of active N. This could cause memory problems.

OTP-15785
Application(s):
eldap, public_key, ssl
Related Id(s):
ERL-893 , ERL-929 , PR-2215

Back port of bug fix ERL-893 from OTP-22 and document enhancements that will solve dialyzer warnings for users of the ssl application.

This change also affects public_key, eldap (and inet doc).

Full runtime dependencies of ssl-9.2.3: crypto-4.2, erts-10.0, inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5

stdlib-3.8.2 #

The stdlib-3.8.2 application can be applied independently of other applications on a full OTP 21 installation.

OTP-15295
Application(s):
stdlib

A bug in gen_statem has been fixed where the internal timeout message could arrive as an info to the callback module during high load due to incorrect use of asynchronous timer cancel.

Full runtime dependencies of stdlib-3.8.2: compiler-5.0, crypto-3.3, erts-10.0, kernel-6.0, sasl-3.0