Erlang/OTP 28.2

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, asdf or mise).

docker run -it erlang:28.2
Patch Package OTP 28.2
Git Tag OTP-28.2
Date 2025-11-24
Issue Id
System OTP
Release 28
Application

compiler-9.0.3 #

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

OTP-19845
Related Id(s):

GH-10354, PR-10358

Fixed broken type inference for lists:mapfoldl/r.

Full runtime dependencies of compiler-9.0.3

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

erts-16.1.2 #

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

OTP-19846
Related Id(s):

PR-10359

Fixed a JIT bug that could miscompile equality tests on empty bitstrings.

OTP-19865
Related Id(s):

ERIERL-1251, PR-10396

The documentation building code produced warnings during the build, if none of the applications were skipped. The warnings were resolved.

Full runtime dependencies of erts-16.1.2

kernel-9.0, sasl-3.3, stdlib-4.1

kernel-10.4.2 #

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

OTP-19832
Related Id(s):

PR-10290

Fixed a race condition when registering the standard error process.

Full runtime dependencies of kernel-10.4.2

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

public_key-1.19 #

Note! The public_key-1.19 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.

   On a full OTP 28 installation, also the following runtime
   dependency has to be satisfied:
   -- crypto-5.7 (first satisfied in OTP 28.1)
OTP-19861
Related Id(s):

PR-10386

Added support for the Public-Key Infrastructure Certificate Management Protocol (PKICMP) ASN.1 specification.

Full runtime dependencies of public_key-1.19

asn1-5.0, crypto-5.7, erts-13.0, kernel-8.0, stdlib-4.0

ssh-5.3.4 #

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

OTP-19839
Related Id(s):

ERIERL-1273, PR-10350

With this change user space buffers are used to limit ssh hello message size instead of kernel buffers

Full runtime dependencies of ssh-5.3.4

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

ssl-11.4.2 #

Note! The ssl-11.4.2 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.

   On a full OTP 28 installation, also the following runtime
   dependencies have to be satisfied:
   -- crypto-5.7 (first satisfied in OTP 28.1)
   -- public_key-1.18.3 (first satisfied in OTP 28.1)
OTP-19813
Related Id(s):

PR-10284

Graceful error handling added in negative test scenario.

OTP-19818
Related Id(s):

PR-10296

Handle duplicate change_cipher_spec message with an unexpected message alert instead of failing later in corrupted state.

OTP-19825
Related Id(s):

PR-10296

Make sure TLS-1.3 protocol spec is followed, that is psk-hello extension is guaranteed to be included as the last extension in the list of client hello extensions and internal hello message truncation in handshake history is handled correctly, the previous handling could cause interoperability issues.

OTP-19830
Related Id(s):

PR-10339

If two certificate massages are sent to the server generate an unexpected message alert for the second one.

Full runtime dependencies of ssl-11.4.2

crypto-5.7, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.18.3, runtime_tools-1.15.1, stdlib-7.0

syntax_tools-4.0.2 #

The syntax_tools-4.0.2 application can be applied independently of other applications on a full OTP 28 installation.

OTP-19817
Related Id(s):

GH-10119

Annotate map comprehensions and generators

Full runtime dependencies of syntax_tools-4.0.2

compiler-9.0, erts-16.0, kernel-10.3, stdlib-7.0

Thanks To #

Dmytro Lytovchenko, Nelson Vides