Erlang/OTP 27.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:27.0.1

OTP-27.0.1 #

OTP-19095
Related Id(s):

PR-8507

Bump ex_doc version to v0.34.1 and fix copyright in published docs to have correct year.

compiler-8.5.1 #

The compiler-8.5.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19131
Related Id(s):

PR-8567

One of the compiler’s optimization passes would get very slow when compiling certain modules. The compiler will now automatically disable that pass for input that would trigger the slowdown.

OTP-19142
Related Id(s):

GH-8579, PR-8585

Fix +deterministic to work properly with documentation attributes.

Full runtime dependencies of compiler-8.5.1

crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0

edoc-1.3.1 #

The edoc-1.3.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19116
Related Id(s):

PR-8534

Fix broken makefile dependency when building HTML documentation.

Full runtime dependencies of edoc-1.3.1

erts-11.0, inets-5.10, kernel-7.0, stdlib-4.0, syntax_tools-2.0, xmerl-1.3.7

erts-15.0.1 #

The erts-15.0.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19108
Related Id(s):

PR-8539

In rare circumstances the JIT could do an unsafe in-place update of a tuple.

OTP-19121
Related Id(s):

GH-8484

When a port command crashed in the inet driver during gen_tcp:send/2, a monitor 'DOWN' message could be left lingering in the caller’s mailbox. This has now been fixed.

OTP-19123
Related Id(s):

GH-8484, PR-8546

'DOWN' messages originating from a monitored port, contained the atom process instead of the atom port as the third element when the exit reason was not an immediate term.

OTP-19137
Related Id(s):

GH-8574

Fix so that the options to enable Transparent Huge Page alignment of the Erlang VM executable are only applied to the Erlang VM and not other native programs such as erlc and dialyzer. This bug was introduced in Erlang/OTP 27.0.

OTP-19147
Related Id(s):

ERIERL-1043, ERIERL-1106, PR-8619

When no time warp mode was enabled, a smaller Erlang monotonic time could be read than a previously read time, i.e., breaking the monotonic property. The runtime system will abort when detecting an issue like this since OTP 24.3.4.17 and OTP 25.0.

Up until OTP 25 no time warp mode is the default. As of OTP 26 [multi time warp mode] is the default.

OTP-19151
Related Id(s):

GH-8614, PR-8616

When calling trace:function(Session, _, true, [meta]) the meta tracer was incorrectly set to be the calling process. Now it’s set to the session tracer as expected.

Full runtime dependencies of erts-15.0.1

kernel-9.0, sasl-3.3, stdlib-4.1

kernel-10.0.1 #

The kernel-10.0.1 application can be applied independently of other applications on a full OTP 27 installation.

OTP-19118
Related Id(s):

PR-8534

Polish the logger documentation.

Full runtime dependencies of kernel-10.0.1

crypto-5.0, erts-15.0, sasl-3.0, stdlib-6.0

public_key-1.16.1 #

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

OTP-19100
Related Id(s):

GH-8482, PR-8508

Fix bug in dnsName constraint check, could cause valid cert to be considered bad during path validation.

Full runtime dependencies of public_key-1.16.1

asn1-3.0, crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5

ssh-5.2.1 #

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

OTP-19109
Related Id(s):

PR-8345

With this change, race condition between connection closing and automatic window adjustment is fixed.

Full runtime dependencies of ssh-5.2.1

crypto-5.0, erts-14.0, kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0

ssl-11.2.1 #

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

OTP-19094
Related Id(s):

GH-8489

Check for TLS-1.3 support should check minimum requirements.

OTP-19107
Related Id(s):

GH-8376

If both TLS-1.3 and TLS-1.2 is supported and TLS-1.2 negotiated convert TLS-1.3 ECDSA schemes to TLS-1.2 hash and signature pairs for increased interoperability.

OTP-19140

TLS-1.3 negotiation now uses SNI based options correctly instead of ignoring them.

OTP-19091

Make it easier to distinguish between a invalid signature and unsupported signature.

OTP-19092
Related Id(s):

GH-8482

Enhance ALERT logs to help understand what causes the alert.

OTP-19152
Related Id(s):

GH-8588

When the default value for signature_algs is used, default the signature_algs_cert to the default value + rsa_pkcs1_sha1 to allow this algorithms for certificates but not for the TLS protocol. This is for better interoperability. If signature_algs is set explicitly signature_algs_cert must also be set explicitly if they should be different.

Full runtime dependencies of ssl-11.2.1

crypto-5.0, erts-15.0, inets-5.10.7, kernel-9.0, public_key-1.15, runtime_tools-1.15.1, stdlib-6.0

stdlib-6.0.1 #

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

OTP-19099
Related Id(s):

PR-8542

Fix so that missing -doc({file, File}) files only result in a warning and not an error.

OTP-19106
Related Id(s):

GH-8580, PR-8519, PR-8581

Fixed json bugs, json:encode_key_value_list/2 did not generate arrays and json:decode/3 did not invoke the user callback for 0.

Full runtime dependencies of stdlib-6.0.1

compiler-5.0, crypto-4.5, erts-15.0, kernel-10.0, sasl-3.0

Thanks To #

Frej Drejhammar, Igor Goryachev, Michał Muskała