Releases: erlang/otp
OTP 26.2.5.3
Patch Package: OTP 26.2.5.3
Git Tag: OTP-26.2.5.3
Date: 2024-09-05
Trouble Report Id: OTP-17848, OTP-19119, OTP-19168, OTP-19170,
OTP-19173, OTP-19175, OTP-19178, OTP-19179,
OTP-19187, OTP-19205, OTP-19206, OTP-19213
Seq num: ERIERL-1102, ERIERL-1108, GH-7746, GH-8454,
GH-8561, GH-8630, PR-8310, PR-8543, PR-8686,
PR-8690, PR-8763
System: OTP
Release: 26
Application: compiler-8.4.3.1, diameter-2.3.2.2,
erts-14.2.5.3, ftp-1.2.1.1, kernel-9.2.4.2,
public_key-1.15.1.2, ssh-5.1.4.2,
ssl-11.1.4.3
Predecessor: OTP 26.2.5.2
Check out the git tag OTP-26.2.5.3, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- compiler-8.4.3.1 ------------------------------------------------
---------------------------------------------------------------------
The compiler-8.4.3.1 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19168 Application(s): compiler
Related Id(s): GH-8630
Fixed a crash in an optimization pass relating to
appending binaries.
OTP-19178 Application(s): compiler
Related Id(s): PR-8686
Fixed a bug in the compiler's alias analysis pass that
could make it emit unsafe code.
Full runtime dependencies of compiler-8.4.3.1: crypto-5.1, erts-13.0,
kernel-8.4, stdlib-5.0
---------------------------------------------------------------------
--- diameter-2.3.2.2 ------------------------------------------------
---------------------------------------------------------------------
The diameter-2.3.2.2 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19206 Application(s): diameter
Related Id(s): ERIERL-1102
Stop service has been made more synchronous.
Full runtime dependencies of diameter-2.3.2.2: erts-10.0, kernel-3.2,
ssl-9.0, stdlib-5.0
---------------------------------------------------------------------
--- erts-14.2.5.3 ---------------------------------------------------
---------------------------------------------------------------------
The erts-14.2.5.3 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19175 Application(s): erts, kernel, ssl
Related Id(s): GH-8561, PR-8690
A race in the kTLS flavour of SSL distribution has been
fixed so inet_drv.c doesn't read ahead too much data
which could cause the kTLS encryption to be activated
too late when some encrypted data had already been read
into the inet_drv.c buffer as unencrypted.
Full runtime dependencies of erts-14.2.5.3: kernel-9.0, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- ftp-1.2.1.1 -----------------------------------------------------
---------------------------------------------------------------------
The ftp-1.2.1.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19119 Application(s): ftp
Related Id(s): GH-8454, PR-8543
Fix race condition that sometimes resulted in
ftp:recv_bin/2 returning ok instead of {ok, Data}.
Full runtime dependencies of ftp-1.2.1.1: erts-7.0, kernel-6.0,
runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
---------------------------------------------------------------------
--- kernel-9.2.4.2 --------------------------------------------------
---------------------------------------------------------------------
The kernel-9.2.4.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19175 Application(s): erts, kernel, ssl
Related Id(s): GH-8561, PR-8690
A race in the kTLS flavour of SSL distribution has been
fixed so inet_drv.c doesn't read ahead too much data
which could cause the kTLS encryption to be activated
too late when some encrypted data had already been read
into the inet_drv.c buffer as unencrypted.
OTP-19205 Application(s): kernel
Fix a deadlock when an application crashes during
startup and log messages were sent to standard out.
Logger would fail to print the messages to standard out
and instead print them to standard error.
OTP-19213 Application(s): kernel
Related Id(s): ERIERL-1108, PR-8763
Add the stdlib application parameters
shell_redraw_prompt_on_output which when set to false
disables redrawing of the shell prompt if any other
output is done.
Full runtime dependencies of kernel-9.2.4.2: crypto-5.0, erts-14.0,
sasl-3.0, stdlib-5.0
---------------------------------------------------------------------
--- public_key-1.15.1.2 ---------------------------------------------
---------------------------------------------------------------------
The public_key-1.15.1.2 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19179 Application(s): public_key
For completeness handle rsa_pss implicit default value,
although this will probably not be commonly used as it
provides very weak security.
Full runtime dependencies of public_key-1.15.1.2: asn1-3.0,
crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5
---------------------------------------------------------------------
--- ssh-5.1.4.2 -----------------------------------------------------
---------------------------------------------------------------------
The ssh-5.1.4.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19170 Application(s): ssh
Related Id(s): GH-7746
With this change, ssh daemon started with TCP port
number argument will re-try to obtain listen socket
before returning error to user.
OTP-19173 Application(s): ssh
Related Id(s): PR-8310
With this change, robustness is improved by monitoring
connection handler process before casting socket
control notification.
Full runtime dependencies of ssh-5.1.4.2: crypto-5.0, erts-14.0,
kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
stdlib-5.0
---------------------------------------------------------------------
--- ssl-11.1.4.3 ----------------------------------------------------
---------------------------------------------------------------------
The ssl-11.1.4.3 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19175 Application(s): erts, kernel, ssl
Related Id(s): GH-8561, PR-8690
A race in the kTLS flavour of SSL distribution has been
fixed so inet_drv.c doesn't read ahead too much data
which could cause the kTLS encryption to be activated
too late when some encrypted data had already been read
into the inet_drv.c buffer as unencrypted.
--- Improvements and New Features ---
OTP-17848 Application(s): ssl
Make sure all TLS-1.3 terminations are graceful
(previous TLS version terminations already are).
OTP-19187 Application(s): ssl
Include more information in logging of SNI (Server Name
Indication) mismatch error.
Full runtime dependencies of ssl-11.1.4.3: crypto-5.0, erts-14.0,
inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-4.1
---------------------------------------------------------------------
--- Thanks to -------------------------------------------------------
---------------------------------------------------------------------
Frej Drejhammar, jakob svenningsson
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 27.0.1
Patch Package: OTP 27.0.1
Git Tag: OTP-27.0.1
Date: 2024-07-10
Trouble Report Id: OTP-19091, OTP-19092, OTP-19094, OTP-19095,
OTP-19099, OTP-19100, OTP-19106, OTP-19107,
OTP-19108, OTP-19109, OTP-19116, OTP-19118,
OTP-19121, OTP-19123, OTP-19131, OTP-19137,
OTP-19140, OTP-19142, OTP-19147, OTP-19151,
OTP-19152
Seq num: ERIERL-1043, ERIERL-1106, GH-8376, GH-8482,
GH-8484, GH-8489, GH-8574, GH-8579, GH-8580,
GH-8588, GH-8614, PR-8345, PR-8507, PR-8508,
PR-8519, PR-8534, PR-8539, PR-8542, PR-8546,
PR-8567, PR-8581, PR-8585, PR-8616, PR-8619
System: OTP
Release: 27
Application: compiler-8.5.1, edoc-1.3.1, erts-15.0.1,
kernel-10.0.1, public_key-1.16.1, ssh-5.2.1,
ssl-11.2.1, stdlib-6.0.1
Predecessor: OTP 27.0
Check out the git tag OTP-27.0.1, and build a full OTP system including
documentation. Apply one or more applications from this build as patches to your
installation using the 'otp_patch_apply' tool. For information on install
requirements, see descriptions for each application version below.
OTP-27.0.1
Improvements and New Features
-
Bump ex_doc version to v0.34.1 and fix copyright in published docs to have
correct year.Own Id: OTP-19095
Related Id(s): PR-8507
compiler-8.5.1
The compiler-8.5.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
-
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.Own Id: OTP-19131
Related Id(s): PR-8567 -
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.
Fixed Bugs and Malfunctions
-
Fix broken makefile dependency when building HTML documentation.
Own Id: OTP-19116
Related Id(s): PR-8534
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.
Fixed Bugs and Malfunctions
-
In rare circumstances the JIT could do an unsafe in-place update of a tuple.
Own Id: OTP-19108
Related Id(s): PR-8539 -
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.Own Id: OTP-19121
Related Id(s): GH-8484 -
'DOWN'
messages originating from a monitored port, contained the atom
process
instead of the atomport
as the third element when the exit reason
was not an immediate term. -
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 aserlc
anddialyzer
. This bug was introduced in Erlang/OTP
27.0.Own Id: OTP-19137
Related Id(s): GH-8574 -
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.Own Id: OTP-19147
Related Id(s): ERIERL-1043, ERIERL-1106, PR-8619 -
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.
Improvements and New Features
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.
Fixed Bugs and Malfunctions
-
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.
Fixed Bugs and Malfunctions
-
With this change, race condition between connection closing and automatic
window adjustment is fixed.Own Id: OTP-19109
Related Id(s): PR-8345
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.
Fixed Bugs and Malfunctions
-
Check for TLS-1.3 support should check minimum requirements.
Own Id: OTP-19094
Related Id(s): GH-8489 -
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.Own Id: OTP-19107
Related Id(s): GH-8376 -
TLS-1.3 negotiation now uses SNI based options correctly instead of ignoring
them.Own Id: OTP-19140
Improvements and New Features
-
Make it easier to distinguish between a invalid signature and unsupported
signature.Own Id: OTP-19091
-
Enhance ALERT logs to help understand what causes the alert.
Own Id: OTP-19092
Related Id(s): GH-8482 -
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.Own Id: OTP-19152
Related Id(s): GH-8588
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.
Fixed Bugs and Malfunctions
-
Fix so that missing
-doc({file, File})
files only result in a warning and
not an error.Own Id: OTP-19099
Related Id(s): PR-8542 -
Fixed
json
bugs,json:encode_key_value_list/2
did not generate arrays
andjson:decode/3
did not invoke the user callback for0
.
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
OTP 26.2.5.2
Patch Package: OTP 26.2.5.2
Git Tag: OTP-26.2.5.2
Date: 2024-07-10
Trouble Report Id: OTP-19143, OTP-19147, OTP-19152, OTP-19154,
OTP-19157
Seq num: ERIERL-1043, ERIERL-1106, GH-8588, GH-8613,
PR-8619, PR-8627, PR-8638
System: OTP
Release: 26
Application: crypto-5.4.2.1, erts-14.2.5.2, ssl-11.1.4.2,
stdlib-5.2.3.1
Predecessor: OTP 26.2.5.1
Check out the git tag OTP-26.2.5.2, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- crypto-5.4.2.1 --------------------------------------------------
---------------------------------------------------------------------
The crypto-5.4.2.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Improvements and New Features ---
OTP-19143 Application(s): crypto
Add warning in documentation to avoid crypto:start/0 as
it does not work for FIPS mode. Use
application:start(crypto) instead.
Full runtime dependencies of crypto-5.4.2.1: erts-9.0, kernel-5.3,
stdlib-3.9
---------------------------------------------------------------------
--- erts-14.2.5.2 ---------------------------------------------------
---------------------------------------------------------------------
The erts-14.2.5.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19147 Application(s): erts
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-19154 Application(s): erts
Related Id(s): GH-8613, PR-8627
A scheduler thread could get stuck when deleting a
memory allocator carrier when adjacent carriers were
deleted and/or inserted simultaneously by other
schedulers. This in turn could cause the other
schedulers to get stuck as well.
Full runtime dependencies of erts-14.2.5.2: kernel-9.0, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- ssl-11.1.4.2 ----------------------------------------------------
---------------------------------------------------------------------
The ssl-11.1.4.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Improvements and New Features ---
OTP-19152 Application(s): ssl
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.1.4.2: crypto-5.0, erts-14.0,
inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-4.1
---------------------------------------------------------------------
--- stdlib-5.2.3.1 --------------------------------------------------
---------------------------------------------------------------------
The stdlib-5.2.3.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19157 Application(s): stdlib
Related Id(s): PR-8638
Fixed a bug that caused the shell completion to crash
when keyword and tuple appeared on the same line.
Full runtime dependencies of stdlib-5.2.3.1: compiler-5.0,
crypto-4.5, erts-13.1, kernel-9.0, sasl-3.0
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 25.3.2.13
Patch Package: OTP 25.3.2.13
Git Tag: OTP-25.3.2.13
Date: 2024-07-08
Trouble Report Id: OTP-19057, OTP-19109, OTP-19123, OTP-19140,
OTP-19147, OTP-19154
Seq num: ERIERL-1043, ERIERL-1106, GH-7483, GH-8484,
GH-8613, PR-8345, PR-8546, PR-8619, PR-8627
System: OTP
Release: 25
Application: erts-13.2.2.10, ssh-4.15.3.5, ssl-10.9.1.5
Predecessor: OTP 25.3.2.12
Check out the git tag OTP-25.3.2.13, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- erts-13.2.2.10 --------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.2.2.10 application *cannot* be applied
independently of other applications on an arbitrary OTP 25
installation.
On a full OTP 25 installation, also the following runtime
dependencies have to be satisfied:
-- kernel-8.5 (first satisfied in OTP 25.1)
-- stdlib-4.1 (first satisfied in OTP 25.1)
--- Fixed Bugs and Malfunctions ---
OTP-19123 Application(s): erts
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-19147 Application(s): erts
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-19154 Application(s): erts
Related Id(s): GH-8613, PR-8627
A scheduler thread could get stuck when deleting a
memory allocator carrier when adjacent carriers were
deleted and/or inserted simultaneously by other
schedulers. This in turn could cause the other
schedulers to get stuck as well.
Full runtime dependencies of erts-13.2.2.10: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- ssh-4.15.3.5 ----------------------------------------------------
---------------------------------------------------------------------
The ssh-4.15.3.5 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19057 Application(s): ssh
Related Id(s): GH-7483, PR-8345
With this change, ssh client will automatically adjust
transfer window size for commands executed remotely
over SSH.
OTP-19109 Application(s): ssh
Related Id(s): PR-8345
With this change, race condition between connection
closing and automatic window adjustment is fixed.
Full runtime dependencies of ssh-4.15.3.5: crypto-5.0, erts-11.0,
kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
---------------------------------------------------------------------
--- ssl-10.9.1.5 ----------------------------------------------------
---------------------------------------------------------------------
Note! The ssl-10.9.1.5 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:
-- stdlib-4.1 (first satisfied in OTP 25.1)
--- Fixed Bugs and Malfunctions ---
OTP-19140 Application(s): ssl
TLS-1.3 negotiation now uses SNI based options
correctly instead of ignoring them.
Full runtime dependencies of ssl-10.9.1.5: crypto-5.0, erts-10.0,
inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-4.1
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 26.2.5.1
Patch Package: OTP 26.2.5.1
Git Tag: OTP-26.2.5.1
Date: 2024-06-25
Trouble Report Id: OTP-19057, OTP-19063, OTP-19090, OTP-19091,
OTP-19092, OTP-19094, OTP-19100, OTP-19104,
OTP-19107, OTP-19109, OTP-19121, OTP-19123,
OTP-19140
Seq num: ERIERL-870, GH-7483, GH-8376, GH-8482,
GH-8484, GH-8489, OTP-18835, PR-8345,
PR-8399, PR-8508, PR-8546
System: OTP
Release: 26
Application: diameter-2.3.2.1, erts-14.2.5.1,
kernel-9.2.4.1, public_key-1.15.1.1,
ssh-5.1.4.1, ssl-11.1.4.1
Predecessor: OTP 26.2.5
Check out the git tag OTP-26.2.5.1, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- diameter-2.3.2.1 ------------------------------------------------
---------------------------------------------------------------------
The diameter-2.3.2.1 application can be applied independently of
other applications on a full OTP 26 installation.
--- Improvements and New Features ---
OTP-19090 Application(s): diameter
Related Id(s): PR-8399
Pick peer can now also handle request of type
#diameter_packet{}.
Full runtime dependencies of diameter-2.3.2.1: erts-10.0, kernel-3.2,
ssl-9.0, stdlib-5.0
---------------------------------------------------------------------
--- erts-14.2.5.1 ---------------------------------------------------
---------------------------------------------------------------------
The erts-14.2.5.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19063 Application(s): erts, kernel
Related Id(s): OTP-18835
A call to socket:[recv|recvfrom|recvmsg]/* with Timeout
= 0 on Windows could cause a (case clause) crash if
data is immediately available.
OTP-19121 Application(s): erts
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 Application(s): erts
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.
Full runtime dependencies of erts-14.2.5.1: kernel-9.0, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- kernel-9.2.4.1 --------------------------------------------------
---------------------------------------------------------------------
The kernel-9.2.4.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19063 Application(s): erts, kernel
Related Id(s): OTP-18835
A call to socket:[recv|recvfrom|recvmsg]/* with Timeout
= 0 on Windows could cause a (case clause) crash if
data is immediately available.
OTP-19104 Application(s): kernel
Related Id(s): ERIERL-870
Open a disk_log file and combining head_func with
rotate options did not work.
Full runtime dependencies of kernel-9.2.4.1: crypto-5.0, erts-14.0,
sasl-3.0, stdlib-5.0
---------------------------------------------------------------------
--- public_key-1.15.1.1 ---------------------------------------------
---------------------------------------------------------------------
The public_key-1.15.1.1 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19100 Application(s): public_key
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.15.1.1: asn1-3.0,
crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5
---------------------------------------------------------------------
--- ssh-5.1.4.1 -----------------------------------------------------
---------------------------------------------------------------------
The ssh-5.1.4.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19057 Application(s): ssh
Related Id(s): GH-7483, PR-8345
With this change, ssh client will automatically adjust
transfer window size for commands executed remotely
over SSH.
OTP-19109 Application(s): ssh
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.1.4.1: crypto-5.0, erts-14.0,
kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
stdlib-5.0
---------------------------------------------------------------------
--- ssl-11.1.4.1 ----------------------------------------------------
---------------------------------------------------------------------
The ssl-11.1.4.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19094 Application(s): ssl
Related Id(s): GH-8489
Check for TLS-1.3 support should check minimum
requirements.
OTP-19107 Application(s): ssl
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 Application(s): ssl
TLS-1.3 negotiation now uses SNI based options
correctly instead of ignoring them.
--- Improvements and New Features ---
OTP-19091 Application(s): ssl
Make it easier to distinguish between a invalid
signature and unsupported signature.
OTP-19092 Application(s): ssl
Related Id(s): GH-8482
Enhance ALERT logs to help understand what causes the
alert.
Full runtime dependencies of ssl-11.1.4.1: crypto-5.0, erts-14.0,
inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-4.1
---------------------------------------------------------------------
--- Thanks to -------------------------------------------------------
---------------------------------------------------------------------
Anupama Singh
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 27.0
Erlang/OTP 27 Released
All artifacts for the release can be downloaded from the Erlang/OTP Github release and you can view the new documentation at https://erlang.org/doc.
You can also install the latest release using kerl like this:
kerl build 27.0 27.0
The new Erlang/OTP 27 release contains new features, improvements as well as a few incompatibilities. Some of the new features are highlighted below.
Many thanks to all contributors!
Documentation
EEP-59 has been implemented. Documentation attributes in source files can now be used to document functions, types, callbacks, and modules.
The entire Erlang/OTP documentation is now using the new documentation system.
New language features
-
Triple-Quoted Strings has been implemented as per EEP 64 to allow a string to encompass a complete paragraph.
-
Adjacent string literals without intervening white space is now a syntax error, to avoid possible confusion with triple-quoted strings.
-
Sigils on string literals (both ordinary and triple-quoted) have been implemented as per EEP 66. For example,
~"Björn"
or~b"Björn"
are now equivalent to<<"Björn"/utf8>>
.
Compiler and JIT improvements
-
The compiler will now merge consecutive updates of the same record.
-
Safe destructive update of tuples has been implemented in the compiler and runtime system. This allows the VM to update tuples in-place when it is safe to do so, thus improving performance by doing less copying but also by producing less garbage.
-
The
maybe
expression is now enabled by default, eliminating the need for enabling themaybe_expr
feature. -
Native coverage support has been implemented in the JIT. It will automatically be used by the
cover
tool to reduce the execution overhead when running cover-compiled code. There are also new APIs to support native coverage without using thecover
tool. -
The compiler will now raise a warning when updating record/map literals to catch a common mistake. For example, the compiler will now emit a warning for
#r{a=1}#r{b=2}
. -
The order in which the compiler looks up options has changed.
When there is a conflict in the compiler options given in the
-compile()
attribute and options given to the compiler, the options given in the-compile()
attribute overrides the option given to the compiler, which in turn overrides options given in theERL_COMPILER_OPTIONS
environment variable.Example:
If
some_module.erl
has the following attribute:-compile([nowarn_missing_spec]).
and the compiler is invoked like so:
% erlc +warn_missing_spec some_module.erl
no warnings will be issued for functions that do not have any specs.
ERTS
-
The
erl
command now supports the-S
flag, which is similar to the-run
flag, but with some of the rough edges filed off. -
By default, escripts will now be compiled instead of interpreted. That means that the
compiler
application must be installed. -
The existing experimental support for archive files will be changed in a future release. The support for having an archive in an escript will remain, but the support for using archives in a release will either become more limited or completely removed.
As of Erlang/OTP 27, the function
code:lib_dir/2
, the-code_path_choice
flag, and usingerl_prim_loader
for reading members of an archive are deprecated.To remain compatible with future version of Erlang/OTP
escript
scripts that need to retrieve data files from its archive should useescript:extract/2
instead oferl_prim_loader
andcode:lib_dir/2
. -
The default process limit has been raised to
1048576
processes. -
The
erlang:system_monitor/2
functionality is now able to monitor long message queues in the system. -
The obsolete and undocumented support for opening a port to an external resource by passing an atom (or a string) as first argument to
open_port()
, implemented by the vanilla driver, has been removed. This feature has been scheduled for removal in OTP 27 since the release of OTP 26. -
The
pid
field has been removed fromerlang:fun_info/1,2
. -
Multiple trace sessions are now supported.
-
configure
now automatically enables support for year-2038-safe timestamps.By default
configure
scripts used when building OTP will now try to enable support for timestamps that will work after mid-January 2038. This has typically only been an issue on 32-bit platforms. Ifconfigure
cannot figure out how to enable such timestamps, it will abort with an error message. If you want to build the system anyway, knowing that the system will not function properly after mid-January 2038, you can pass the--disable-year2038
option toconfigure
, which will enableconfigure
to continue without support for timestamps after mid-January 2038.'
STDLIB
-
There is a new module json for encoding and decoding JSON.
Both encoding and decoding can be customized. Decoding can be done in a SAX-like fashion and handle multiple documents and streams of data.
The new
json
module is used by thejer
(JSON Encoding Rules) for ASN.1 for encoding and decoding JSON. Thus, there is no longer any need to supply an external JSON library. -
Several new functions that accept funs have been added to module
timer
. -
The functions
is_equal/2
,map/2
, andfiltermap/2
have been added to the modulessets
,ordsets
, andgb_sets
. -
There are new efficient
ets
traversal functions with guaranteed atomicity. For example,ets:next/2
followed byets:lookup/2
can now be replaced withets:next_lookup/1
. -
The new function
ets:update_element/4
is similar toets:update_element/3
, but takes a default tuple as the fourth argument, which will be inserted if no previous record with that key exists. -
binary:replace/3,4
now supports using a fun for supplying the replacement binary. -
The new function
proc_lib:set_label/1
can be used to add a descriptive term to any process that does not have a registered name. The name will
be shown by tools such asc:i/0
andobserver
, and it will be included in crash reports produced by processes usinggen_server
,gen_statem
,gen_event
, andgen_fsm
. -
Added functions to retrieve the next higher or lower key/element from
gb_trees
andgb_sets
, as well as returning iterators that start at given keys/elements.
common_test
-
Calls to
ct:capture_start/0
andct:capture_stop/0
are now synchronous to ensure that all output is captured. -
The default CSS will now include a basic dark mode handling if it is preferred by the browser.
crypto
- The functions
crypto_dyn_iv_init/3
andcrypto_dyn_iv_update/3
that were marked as deprecated in Erlang/OTP 25 have been removed.
dialyzer
- The
--gui
option for Dialyzer has been removed.
ssl
- The
ssl
client can negotiate and handle certificate status request (OCSP stapling support on the client side).
tools
- There is a new tool
tprof
, which combines the functionality ofeprof
andcprof
under one interface. It also adds heap profiling.
xmerl
- As an alternative to
xmerl_xml
, a new export modulexmerl_xml_indent
that provides out-of-the box indented output has been added.
For more details about new features and potential incompatibilities see the README.
OTP 26.2.5
Patch Package: OTP 26.2.5
Git Tag: OTP-26.2.5
Date: 2024-05-02
Trouble Report Id: OTP-19061, OTP-19062, OTP-19065, OTP-19067,
OTP-19068, OTP-19069, OTP-19070, OTP-19071,
OTP-19072, OTP-19076, OTP-19078
Seq num: ERIERL-1073, GH-8356, GH-8383, GH-8385,
OTP-18999, PR-8367, PR-8379, PR-8380,
PR-8391, PR-8422
System: OTP
Release: 26
Application: dialyzer-5.1.3, erts-14.2.5, kernel-9.2.4,
mnesia-4.23.1, ssl-11.1.4, stdlib-5.2.3
Predecessor: OTP 26.2.4
Check out the git tag OTP-26.2.5, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- HIGHLIGHTS ------------------------------------------------------
---------------------------------------------------------------------
OTP-19069 Application(s): erts
Added a warning to open_port/2 regarding the BadBatBut
attack affecting Windows.
---------------------------------------------------------------------
--- dialyzer-5.1.3 --------------------------------------------------
---------------------------------------------------------------------
The dialyzer-5.1.3 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19068 Application(s): dialyzer
Related Id(s): GH-8383
Fixed an issue with bitstring type inference on
segments following UTF-8/16/32 segments.
Full runtime dependencies of dialyzer-5.1.3: compiler-8.0, erts-12.0,
kernel-8.0, stdlib-5.0, syntax_tools-2.0, wx-2.0
---------------------------------------------------------------------
--- erts-14.2.5 -----------------------------------------------------
---------------------------------------------------------------------
The erts-14.2.5 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19061 Application(s): erts
gen_sctp:send/3,4 now waits for the send to complete
instead of returning an OS result such as
{error, ewouldblock}.
OTP-19070 Application(s): erts
Related Id(s): GH-8385
ETS functions did not properly handle keys containing
maps, sometimes matching too many or too few objects.
OTP-19071 Application(s): erts
Related Id(s): PR-8380, OTP-18999
Fix CPU quota determination for cgroups.
The bug was introduced through OTP-18999.
--- Improvements and New Features ---
OTP-19069 Application(s): erts
*** HIGHLIGHT ***
Added a warning to open_port/2 regarding the BadBatBut
attack affecting Windows.
Full runtime dependencies of erts-14.2.5: kernel-9.0, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- kernel-9.2.4 ----------------------------------------------------
---------------------------------------------------------------------
The kernel-9.2.4 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19072 Application(s): kernel, stdlib
Related Id(s): PR-8391
Fix the shell Job Control Mode to not crash when typing
TAB or CTRL+R.
OTP-19078 Application(s): kernel
Related Id(s): PR-8422
Fix calls to blocking application APIs to throw an
exception with reason terminating if called when the
system is terminating.
This is done in order to avoid deadlocks during
shutdown or restart.
Full runtime dependencies of kernel-9.2.4: crypto-5.0, erts-14.0,
sasl-3.0, stdlib-5.0
---------------------------------------------------------------------
--- mnesia-4.23.1 ---------------------------------------------------
---------------------------------------------------------------------
The mnesia-4.23.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19076 Application(s): mnesia
Related Id(s): ERIERL-1073
Mnesia could crash during startup if del_table_copy/2
and add_table_copy/3 was invoked when the table was
loading.
Full runtime dependencies of mnesia-4.23.1: erts-9.0, kernel-5.3,
stdlib-5.0
---------------------------------------------------------------------
--- ssl-11.1.4 ------------------------------------------------------
---------------------------------------------------------------------
The ssl-11.1.4 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19065 Application(s): ssl
Related Id(s): GH-8356, PR-8367
Fix certificate authorities check so that CA closest to
peer is not lost. It could manifest itself in a failed
connection as the client failed to realize it had a
valid certificate chain to send to the server.
OTP-19067 Application(s): ssl
Related Id(s): PR-8379
ssl:signature_algs/2 did not list some legacy algorithm
schemes correctly when listing all algorithms
available.
Full runtime dependencies of ssl-11.1.4: crypto-5.0, erts-14.0,
inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-4.1
---------------------------------------------------------------------
--- stdlib-5.2.3 ----------------------------------------------------
---------------------------------------------------------------------
The stdlib-5.2.3 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19062 Application(s): stdlib
Fix shell expansion of -type a() :: $a. in the erlang
shell.
OTP-19072 Application(s): kernel, stdlib
Related Id(s): PR-8391
Fix the shell Job Control Mode to not crash when typing
TAB or CTRL+R.
Full runtime dependencies of stdlib-5.2.3: compiler-5.0, crypto-4.5,
erts-13.1, kernel-9.0, sasl-3.0
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 25.3.2.12
Patch Package: OTP 25.3.2.12
Git Tag: OTP-25.3.2.12
Date: 2024-05-02
Trouble Report Id: OTP-19065, OTP-19070, OTP-19071, OTP-19076
Seq num: ERIERL-1073, GH-8356, GH-8385, OTP-18999,
PR-8367, PR-8380
System: OTP
Release: 25
Application: erts-13.2.2.9, mnesia-4.21.4.3, ssl-10.9.1.4
Predecessor: OTP 25.3.2.11
Check out the git tag OTP-25.3.2.12, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- erts-13.2.2.9 ---------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.2.2.9 application *cannot* be applied independently
of other applications on an arbitrary OTP 25 installation.
On a full OTP 25 installation, also the following runtime
dependencies have to be satisfied:
-- kernel-8.5 (first satisfied in OTP 25.1)
-- stdlib-4.1 (first satisfied in OTP 25.1)
--- Fixed Bugs and Malfunctions ---
OTP-19070 Application(s): erts
Related Id(s): GH-8385
ETS functions did not properly handle keys containing
maps, sometimes matching too many or too few objects.
OTP-19071 Application(s): erts
Related Id(s): PR-8380, OTP-18999
Fix CPU quota determination for cgroups.
The bug was introduced through OTP-18999.
Full runtime dependencies of erts-13.2.2.9: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- mnesia-4.21.4.3 -------------------------------------------------
---------------------------------------------------------------------
The mnesia-4.21.4.3 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19076 Application(s): mnesia
Related Id(s): ERIERL-1073
Mnesia could crash during startup if del_table_copy/2
and add_table_copy/3 was invoked when the table was
loading.
Full runtime dependencies of mnesia-4.21.4.3: erts-9.0, kernel-5.3,
stdlib-3.4
---------------------------------------------------------------------
--- ssl-10.9.1.4 ----------------------------------------------------
---------------------------------------------------------------------
Note! The ssl-10.9.1.4 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:
-- stdlib-4.1 (first satisfied in OTP 25.1)
--- Fixed Bugs and Malfunctions ---
OTP-19065 Application(s): ssl
Related Id(s): GH-8356, PR-8367
Fix certificate authorities check so that CA closest to
peer is not lost. It could manifest itself in a failed
connection as the client failed to realize it had a
valid certificate chain to send to the server.
Full runtime dependencies of ssl-10.9.1.4: crypto-5.0, erts-10.0,
inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-4.1
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 27.0-rc3
OTP 27.0-rc3
Erlang/OTP 27.0-rc3 is the third and final release candidate before the OTP 27.0 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.
We encourage users to try it out and give us feedback either by creating an issue at https://github.com/erlang/otp/issues or by posting to Erlang Forums.
All artifacts for the release can be downloaded from the Erlang/OTP Github release and you can view the new documentation at https://erlang.org/documentation/doc-15.0-rc3/doc.
You can also install the latest release using kerl like this:
kerl build 27.0-rc3 27.0-rc3.
Erlang/OTP 27 is a new major release with new features, improvements as well as a few incompatibilities. Some of the new features are highlighted below.
Many thanks to all contributors!
Notable changes in RC3
- The support for multiple trace sessions is now documented and ready for use.
Highlights for RC2
-
There is a new module json for encoding and decoding JSON.
Both encoding and decoding can be customized. Decoding can be done in a SAX-like fashion and handle multiple documents and streams of data.
The new
json
module is used by thejer
(JSON Encoding Rules) for ASN.1 for encoding and decoding JSON. Thus, there is no longer any need to supply an external JSON library.
Other notable changes in RC2
-
The existing experimental support for archive files will be changed in a future release. The support for having an archive in an escript will remain, but the support for using archives in a release will either become more limited or completely removed.
As of Erlang/OTP 27, the function
code:lib_dir/2
, the-code_path_choice
flag, and usingerl_prim_loader
for reading members of an archive are deprecated.To remain compatible with future version of Erlang/OTP
escript
scripts that need to retrieve data files from its archive should useescript:extract/2
instead oferl_prim_loader
andcode:lib_dir/2
. -
The order in which the compiler looks up options has changed.
When there is a conflict in the compiler options given in the
-compile()
attribute and options given to the compiler, the options given in the-compile()
attribute overrides the option given to the compiler, which in turn overrides options given in theERL_COMPILER_OPTIONS
environment variable.Example:
If
some_module.erl
has the following attribute:-compile([nowarn_missing_spec]).
and the compiler is invoked like so:
% erlc +warn_missing_spec some_module.erl
no warnings will be issued for functions that do not have any specs.
-
configure
now automatically enables support for year-2038-safe timestamps.By default
configure
scripts used when building OTP will now try to enable support for timestamps that will work after mid-January
2038. This has typically only been an issue on 32-bit platforms. Ifconfigure
cannot figure out how to enable such timestamps, it will abort with an error message. If you want to build the system anyway, knowing that the system will not function properly after mid-January 2038, you can pass the--disable-year2038
option toconfigure
, which will enableconfigure
to continue without support for timestamps after mid-January 2038.'
Highlights for RC1
Documentation
EEP-59 has been implemented. Documentation attributes in source files can now be used to document functions, types, callbacks, and modules.
The entire Erlang/OTP documentation is now using the new documentation system.
New language features
-
Triple-Quoted Strings has been implemented as per EEP 64 to allow a string to encompass a complete paragraph.
-
Adjacent string literals without intervening white space is now a syntax error, to avoid possible confusion with triple-quoted strings.
-
Sigils on string literals (both ordinary and triple-quoted) have been implemented as per EEP 66. For example,
~"Björn"
or~b"Björn"
are now equivalent to<<"Björn"/utf8>>
.
Compiler and JIT improvements
-
The compiler will now merge consecutive updates of the same record.
-
Safe destructive update of tuples has been implemented in the compiler and runtime system. This allows the VM to update tuples in-place when it is safe to do so, thus improving performance by doing less copying but also by producing less garbage.
-
The
maybe
expression is now enabled by default, eliminating the need for enabling themaybe_expr
feature. -
Native coverage support has been implemented in the JIT. It will automatically be used by the
cover
tool to reduce the execution overhead when running cover-compiled code. There are also new APIs to support native coverage without using thecover
tool. -
The compiler will now raise a warning when updating record/map literals to catch a common mistake. For example, the compiler will now emit a warning for
#r{a=1}#r{b=2}
.
ERTS
-
The
erl
command now supports the-S
flag, which is similar to the-run
flag, but with some of the rough edges filed off. -
By default, escripts will now be compiled instead of interpreted. That means that the
compiler
application must be installed. -
The default process limit has been raised to
1048576
processes. -
The
erlang:system_monitor/2
functionality is now able to monitor long message queues in the system. -
The obsolete and undocumented support for opening a port to an external resource by passing an atom (or a string) as first argument to
open_port()
, implemented by the vanilla driver, has been removed. This feature has been scheduled for removal in OTP 27 since the release of OTP 26. -
The
pid
field has been removed fromerlang:fun_info/1,2
. -
Multiple trace sessions are now supported.
STDLIB
-
Several new functions that accept funs have been added to module
timer
. -
The functions
is_equal/2
,map/2
, andfiltermap/2
have been added to the modulessets
,ordsets
, andgb_sets
. -
There are new efficient
ets
traversal functions with guaranteed atomicity. For example,ets:next/2
followed byets:lookup/2
can now be replaced withets:next_lookup/1
. -
The new function
ets:update_element/4
is similar toets:update_element/3
, but takes a default tuple as the fourth argument, which will be inserted if no previous record with that key exists. -
binary:replace/3,4
now supports using a fun for supplying the replacement binary. -
The new function
proc_lib:set_label/1
can be used to add a descriptive term to any process that does not have a registered name. The name will
be shown by tools such asc:i/0
andobserver
, and it will be included in crash reports produced by processes usinggen_server
,gen_statem
,gen_event
, andgen_fsm
. -
Added functions to retrieve the next higher or lower key/element from
gb_trees
andgb_sets
, as well as returning iterators that start at given keys/elements.
common_test
-
Calls to
ct:capture_start/0
andct:capture_stop/0
are now synchronous to ensure that all output is captured. -
The default CSS will now include a basic dark mode handling if it is preferred by the browser.
crypto
- The functions
crypto_dyn_iv_init/3
andcrypto_dyn_iv_update/3
that were marked as deprecated in Erlang/OTP 25 have been removed.
dialyzer
- The
--gui
option for Dialyzer has been removed.
ssl
- The
ssl
client can negotiate and handle certificate status request (OCSP stapling support on the client side).
tools
- There is a new tool
tprof
, which combines the functionality ofeprof
andcprof
under one interface. It also adds heap profiling.
xmerl
- As an alternative to
xmerl_xml
, a new export modulexmerl_xml_indent
that provides out-of-the box indented output has been added.
For more details about new features and potential incompatibilities see the README.
OTP 26.2.4
Patch Package: OTP 26.2.4
Git Tag: OTP-26.2.4
Date: 2024-04-12
Trouble Report Id: OTP-18958, OTP-18960, OTP-18999, OTP-19013,
OTP-19014, OTP-19015, OTP-19019, OTP-19021,
OTP-19031, OTP-19034, OTP-19035, OTP-19036,
OTP-19037, OTP-19038, OTP-19039, OTP-19040,
OTP-19041, OTP-19043, OTP-19044, OTP-19045,
OTP-19048, OTP-19049, OTP-19056, OTP-19058,
OTP-19059, OTP-19060
Seq num: #8176, ERIERL-1043, ERIERL-1060, ERIERL-682,
GH-7897, GH-7928, GH-7951, GH-7955, GH-8120,
GH-8186, GH-8238, GH-8268, GH-8271, GH-8280,
GH-8291, GH-8316, GH-8338, OTP-17323,
PR-8220, PR-8248, PR-8275, PR-8277, PR-8284,
PR-8297, PR-8312, PR-8342, PR-8343
System: OTP
Release: 26
Application: asn1-5.2.2, common_test-1.26.2,
compiler-8.4.3, crypto-5.4.2, debugger-5.3.4,
diameter-2.3.2, erts-14.2.4, kernel-9.2.3,
ssh-5.1.4, ssl-11.1.3, stdlib-5.2.2
Predecessor: OTP 26.2.3
Check out the git tag OTP-26.2.4, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- asn1-5.2.2 ------------------------------------------------------
---------------------------------------------------------------------
The asn1-5.2.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19039 Application(s): asn1
Related Id(s): GH-8291, PR-8297
An ASN.1 module that contains named BIT STRING values
would fail to compiled if both the BER and JER
back-ends were enabled.
Full runtime dependencies of asn1-5.2.2: erts-11.0, kernel-7.0,
stdlib-3.13
---------------------------------------------------------------------
--- common_test-1.26.2 ----------------------------------------------
---------------------------------------------------------------------
The common_test-1.26.2 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18960 Application(s): common_test
With this change, the last column in common_test
testcase log file is modified to now show the total sum
of each time in the table rows, and Elapsed Time which
is a clock time spent to run above functions. The
Elapsed Time is the same time that was previously a
total.
Full runtime dependencies of common_test-1.26.2: compiler-6.0,
crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
---------------------------------------------------------------------
--- compiler-8.4.3 --------------------------------------------------
---------------------------------------------------------------------
The compiler-8.4.3 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19019 Application(s): compiler
In rare circumstances, the compiler code generate
unsafe code for a bit syntax match.
OTP-19035 Application(s): compiler
Related Id(s): GH-8280, PR-8284
In rare circumstances, binary matches that were
supposed to succeed failed.
OTP-19045 Application(s): compiler
Related Id(s): GH-8316
Fixed a bug where a fun's environment could be
overridden by an argument if all of the following
conditions were met:
-- The fun was declared in the module that called it.
-- The fun's target was statically known.
-- The fun was called with a number of extra arguments
equal to the number of environment variables.
Full runtime dependencies of compiler-8.4.3: crypto-5.1, erts-13.0,
kernel-8.4, stdlib-5.0
---------------------------------------------------------------------
--- crypto-5.4.2 ----------------------------------------------------
---------------------------------------------------------------------
The crypto-5.4.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19038 Application(s): crypto
Related Id(s): GH-8271, PR-8277
Fix building with --enable-fips with OpenSSL 3 on
MacOS.
Full runtime dependencies of crypto-5.4.2: erts-9.0, kernel-5.3,
stdlib-3.9
---------------------------------------------------------------------
--- debugger-5.3.4 --------------------------------------------------
---------------------------------------------------------------------
The debugger-5.3.4 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18958 Application(s): debugger
Related Id(s): GH-8120, PR-8275
Guards with nested record expression could wrongly
evaluate to false.
Full runtime dependencies of debugger-5.3.4: compiler-8.0, erts-12.0,
kernel-8.0, stdlib-3.15, wx-2.0
---------------------------------------------------------------------
--- diameter-2.3.2 --------------------------------------------------
---------------------------------------------------------------------
The diameter-2.3.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19040 Application(s): diameter
Related Id(s): ERIERL-1060
Reduce the impact of calling service_info by not
counting the binaries (on the heap) info, This is done
by introducing an option, bins_info, which controls
this.
Full runtime dependencies of diameter-2.3.2: erts-10.0, kernel-3.2,
ssl-9.0, stdlib-5.0
---------------------------------------------------------------------
--- erts-14.2.4 -----------------------------------------------------
---------------------------------------------------------------------
The erts-14.2.4 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18999 Application(s): erts
Related Id(s): GH-7928
Fixed CPU quota determination for cgroup version 2
OTP-19014 Application(s): erts
Fix faulty reduction counting in exiting process which
could cause it to do unnecessary yielding.
OTP-19015 Application(s): erts
Related Id(s): ERIERL-682
Fix bug in re:run/3 where if an invalid UTF-8 subject
was given, re:run could get stuck in an infinite loop.
Bug was introduced in Erlang/OTP 22.1.
OTP-19021 Application(s): erts
Related Id(s): GH-8238, PR-8248
On AArch64 (ARM64), Erlang code using bit syntax
construction compiled using Erlang/OTP 24 could crash
the runtime system when run in Erlang/OTP 26.2.3.
OTP-19034 Application(s): erts
Calling erlang:trace/3 with first argument one of
ports, processes, existing_ports, existing_processes,
existing or all, could cause emulator crash if a dirty
scheduler was executing a simultaneous trace action.
OTP-19036 Application(s): erts
Related Id(s): GH-8186
Fixed an integer overflow when the monotonic time unit
reported by the operating system was greater than 10
and lower than 100 microseconds.
OTP-19041 Application(s): erts
Fix option reuseaddr for FreeBSD 14
OTP-19043 Application(s): erts
Related Id(s): PR-8342
When a traced process executing on a dirty scheduler
received an exit signal, the dirty scheduler could use
the wrong thread specific data which could lead to a
crash.
OTP-19048 Application(s): erts
Related Id(s): PR-8343
Fixed a more or less harmless bug that caused time
correction of Erlang monotonic time to become slightly
off on Windows platforms when QueryPerformanceCounter()
was used as OS monotonic time source.
erlang:system_info(os_monotonic_time_source) now also
returns information about used resolution which not
always corresponds to the resolution of the OS
monotonic time source.
OTP-19049 Application(s): erts, kernel
Related Id(s): #8176
When using IPv6, classic gen_udp failed to add (group)
membership (drop was used instead).
OTP-19060 A...