Erlang/OTP 25.0.1

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:25.0.1
Patch Package OTP 25.0.1
Git Tag OTP-25.0.1
Date 2022-06-09
Issue Id
System OTP
Release 25
Application

crypto-5.1.1 #

The crypto-5.1.1 application can be applied independently of other applications on a full OTP 25 installation.

OTP-18046
Application(s):
crypto

Note in the documentation that MODP (rfc3526) groups and OpenSSL 3.0 can give an error if a call to crypto:generate_key/2 specifies a key length, and that length is to small.

OTP-18010
Application(s):
crypto

The cmac now uses only the 3.0 API

OTP-18132
Application(s):
crypto

Documentation is now updated with which OpenSSL cryptolib versions that OTP currently is tested.

Full runtime dependencies of crypto-5.1.1: erts-9.0, kernel-5.3, stdlib-3.9

dialyzer-5.0.1 #

The dialyzer-5.0.1 application can be applied independently of other applications on a full OTP 25 installation.

OTP-18120
Application(s):
dialyzer

Fixed the documentation for the missing_return and extra_return options.

Full runtime dependencies of dialyzer-5.0.1: compiler-8.0, erts-12.0, kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0

erts-13.0.1 #

Note! The erts-13.0.1 application *cannot* be applied independently of other applications on an arbitrary OTP 25 installation. On a full OTP 25 installation, also the following runtime dependency has to be satisfied: -- kernel-8.4.1 (first satisfied in OTP 25.0.1)

OTP-18105
Application(s):
erts
Related Id(s):
OTP-16982 , PR-6003

A spawn_reply signal from a remote node could be delayed and be delivered after other signals from the newly spawned process.

When this bug triggered, the connection to the node where the process was spawned sometimes could be taken down due to the bug. The following error message would then be logged if this happened: Missing 'spawn_reply' signal from the node <RemoteNode> detected by <Pid> on the node <LocalNode>. The node <RemoteNode> probably suffers from the bug with ticket id OTP-17737.

This bug only affected processes which had enabled off_heap message_queue_data and parallel reception of signals had been automatically enabled.

This bug was introduced in OTP 25.0, ERTS version 13.0.

OTP-18106
Application(s):
erts
Related Id(s):
PR-5992

Fixed type spec of erlang:system_info(dist_ctrl).

OTP-18123
Application(s):
erts
Related Id(s):
GH-5994

The zlib built in to the runtime system has been updated to version 1.2.12. (Note that on most platforms, the platform's own zlib is used.)

OTP-18124
Application(s):
erts, kernel
Related Id(s):
OTP-17558 , PR-6032

The erlang:is_alive() BIF could return true before configured distribution service was available. This bug was introduced in OTP 25.0 ERTS version 13.0.

The erlang:monitor_node() and erlang:monitor() BIFs could erroneously fail even though configured distribution service was available. This occurred if these BIFs were called after the distribution had been started using dynamic node name assignment but before the name had been assigned.

Full runtime dependencies of erts-13.0.1: kernel-8.4.1, sasl-3.3, stdlib-4.0

kernel-8.4.1 #

Note! The kernel-8.4.1 application *cannot* be applied independently of other applications on an arbitrary OTP 25 installation. On a full OTP 25 installation, also the following runtime dependency has to be satisfied: -- erts-13.0.1 (first satisfied in OTP 25.0.1)

OTP-18112
Application(s):
kernel
Related Id(s):
ERIERL-811

The DNS resolver inet_res has been fixed to ignore trailing dot difference in the request domain between the sent request and the received response, when validating a response.

OTP-18122
Application(s):
kernel
Related Id(s):
GH-6015 , PR-6020

A bug in inet_res has been fixed where a missing internal {ok,_} wrapper caused inet_res:resolve/* to return a calculated host name instead of an `{ok,Msg} tuple, when resolving an IP address or a host name that is an IP address string.

OTP-18124
Application(s):
erts, kernel
Related Id(s):
OTP-17558 , PR-6032

The erlang:is_alive() BIF could return true before configured distribution service was available. This bug was introduced in OTP 25.0 ERTS version 13.0.

The erlang:monitor_node() and erlang:monitor() BIFs could erroneously fail even though configured distribution service was available. This occurred if these BIFs were called after the distribution had been started using dynamic node name assignment but before the name had been assigned.

OTP-18136
Application(s):
kernel

Added the missing mandatory address/0 callback in the gen_tcp_dist example.

Full runtime dependencies of kernel-8.4.1: crypto-5.0, erts-13.0.1, sasl-3.0, stdlib-4.0

mnesia-4.21.1 #

The mnesia-4.21.1 application can be applied independently of other applications on a full OTP 25 installation.

OTP-18128
Application(s):
mnesia
Related Id(s):
PR-6013

Fixed add_table_copy which could leave a table lock if the receiving node went down during the operation.

Full runtime dependencies of mnesia-4.21.1: erts-9.0, kernel-5.3, stdlib-3.4

ssh-4.14.1 #

The ssh-4.14.1 application can be applied independently of other applications on a full OTP 25 installation.

OTP-18094
Application(s):
ssh

Binaries can be limited in logs with the parameter max_log_item_len. The default value is 500 bytes.

Full runtime dependencies of ssh-4.14.1: crypto-5.0, erts-11.0, kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15

ssl-10.8.1 #

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

OTP-18087
Application(s):
ssl
Related Id(s):
GH-5961

When a TLS-1.3 enabled client tried to talk to a TLS-1.2 server that coalesces TLS-1.2 handshake message over one TLS record, the connection could fail due to some message being handled in the wrong state, this has been fixed.

OTP-18100
Application(s):
ssl
Related Id(s):
GH-5985

Correctly handles supported protocol version change from default to something else by sni_fun supplied to ssl:handshake/[2,3] together with a TCP-socket (so called upgrade).

OTP-18129
Application(s):
ssl
Related Id(s):
GH-5950

Also, TLS-1.3 should respond with a protocol version alert if previous versions, that are supported but not configured, are attempted.

Full runtime dependencies of ssl-10.8.1: crypto-5.0, erts-10.0, inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1, stdlib-3.12

stdlib-4.0.1 #

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

OTP-18110
Application(s):
stdlib
Related Id(s):
GH-6000

In the initial release of Erlang/OTP 25, the expression bound to the _ pseudo-field in a record initialization would always be evaluated once, even if all other fields in the record were explicitly initialized. That would break the use case of binding the expression error(...) to _ in order to get an exception if not all fields were initialized.

The behavior of binding to _ has been reverted to the pre-OTP 25 behavior, that is, to not evaluate the expression if all fields have been bound to explicit values.

Full runtime dependencies of stdlib-4.0.1: compiler-5.0, crypto-4.5, erts-12.0, kernel-8.4, sasl-3.0