Releases: erlang/otp
OTP 24.3.4.9
Patch Package: OTP 24.3.4.9
Git Tag: OTP-24.3.4.9
Date: 2023-02-23
Trouble Report Id: OTP-18386, OTP-18417, OTP-18421, OTP-18433,
OTP-18463, OTP-18467, OTP-18470, OTP-18472
Seq num: ERIERL-888, GH-6772, GH-6807, GH-6873
System: OTP
Release: 24
Application: compiler-8.1.1.3, erts-12.3.2.9,
inets-7.5.3.2, ssh-4.13.2.2, ssl-10.7.3.6
Predecessor: OTP 24.3.4.8
Check out the git tag OTP-24.3.4.9, 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.1.1.3 ------------------------------------------------
---------------------------------------------------------------------
The compiler-8.1.1.3 application can be applied independently of
other applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18470 Application(s): compiler
Related Id(s): GH-6873, PR-6877
The compiler would generate incorrect code for the
following type of expression:
Pattern = BoundVar1 = . . . = BoundVarN = Expression
An exception should be raised if any of the bound
variables have different values than Expression. The
compiler would generate code that would cause the bound
variables to be bound to the value of Expressionwhether
the value matched or not.
Full runtime dependencies of compiler-8.1.1.3: crypto-3.6, erts-11.0,
kernel-7.0, stdlib-3.13
---------------------------------------------------------------------
--- erts-12.3.2.9 ---------------------------------------------------
---------------------------------------------------------------------
Note! The erts-12.3.2.9 application *cannot* be applied independently
of other applications on an arbitrary OTP 24 installation.
On a full OTP 24 installation, also the following runtime
dependency has to be satisfied:
-- kernel-8.3 (first satisfied in OTP 24.3)
--- Fixed Bugs and Malfunctions ---
OTP-18421 Application(s): erts
Related Id(s): PR-6806
process_info(Pid, status) when Pid /= self() could
return an erroneous result.
OTP-18463 Application(s): erts
Related Id(s): PR-6858
In rare circumstances, when a process exceeded its
allowed heap size set by option max_heap_size, it would
not be killed as it should be, but instead enter a kind
of zombie state it would never get out of.
Full runtime dependencies of erts-12.3.2.9: kernel-8.3, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
--- inets-7.5.3.2 ---------------------------------------------------
---------------------------------------------------------------------
The inets-7.5.3.2 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18472 Application(s): inets
Related Id(s): DAFH-1592
With this change, handling of URI to a folder, with
missing trailing / and a query component present is
fixed.
Full runtime dependencies of inets-7.5.3.2: erts-6.0, kernel-3.0,
mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
---------------------------------------------------------------------
--- ssh-4.13.2.2 ----------------------------------------------------
---------------------------------------------------------------------
The ssh-4.13.2.2 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18386 Application(s): ssh
Related Id(s): PR-6611
With this change, ssh application does not crash when
formatting some of info reports for unsuccessful
connections.
OTP-18417 Application(s): ssh
Related Id(s): ERIERL-888, DAFH-1349, IA18357
With this change, ssh does not log extensively long
messages.
Full runtime dependencies of ssh-4.13.2.2: crypto-5.0, erts-9.0,
kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
---------------------------------------------------------------------
--- ssl-10.7.3.6 ----------------------------------------------------
---------------------------------------------------------------------
Note! The ssl-10.7.3.6 application *cannot* be applied independently
of other applications on an arbitrary OTP 24 installation.
On a full OTP 24 installation, also the following runtime
dependencies have to be satisfied:
-- public_key-1.11.3 (first satisfied in OTP 24.1.2)
-- stdlib-3.17.2.1 (first satisfied in OTP 24.3.4.5)
--- Improvements and New Features ---
OTP-18433 Application(s): ssl
Related Id(s): GH-6772
Maximize compatibility by ignoring change_cipher_spec
during handshake even if middle_box_mode is not
negotiated (mandated by client)
OTP-18467 Application(s): ssl
Related Id(s): GH-6807
Move assert of middlebox message after an
hello_retry_request to maximize interoperability. Does
not changes semantics of the protocol only allows
unexpected message delay from server.
Full runtime dependencies of ssl-10.7.3.6: crypto-5.0, erts-10.0,
inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-3.17.2.1
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 25.2.3
Patch Package: OTP 25.2.3
Git Tag: OTP-25.2.3
Date: 2023-02-17
Trouble Report Id: OTP-18386, OTP-18415, OTP-18417, OTP-18421,
OTP-18433, OTP-18461, OTP-18462, OTP-18467
Seq num: ERIERL-888, ERIERL-890, GH-6772, GH-6807,
GH-6846
System: OTP
Release: 25
Application: erts-13.1.5, inets-8.2.2, ssh-4.15.2,
ssl-10.8.7
Predecessor: OTP 25.2.2
Check out the git tag OTP-25.2.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.
---------------------------------------------------------------------
--- erts-13.1.5 -----------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.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
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-18415 Application(s): erts
Comparisons between small numbers and pids or ports
would in some edge cases say that the number was
greater than the pid or port, violating the term order.
OTP-18421 Application(s): erts
Related Id(s): PR-6806
process_info(Pid, status) when Pid /= self() could
return an erroneous result.
Full runtime dependencies of erts-13.1.5: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- inets-8.2.2 -----------------------------------------------------
---------------------------------------------------------------------
The inets-8.2.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18461 Application(s): inets
Related Id(s): ERIERL-890
Ensure graceful shutdown
OTP-18462 Application(s): inets
Related Id(s): GH-6846
Return type of the type specification for function
httpc:cookie_header/{1,2,3} has been fixed from -spec
cookie_header(url()) -> [{ field(), value() }] |
{error, Reason} to -spec cookie_header(url()) -> {
field(), value() } | {error, Reason}
Full runtime dependencies of inets-8.2.2: erts-6.0, kernel-6.0,
mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
stdlib-4.0
---------------------------------------------------------------------
--- ssh-4.15.2 ------------------------------------------------------
---------------------------------------------------------------------
The ssh-4.15.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18386 Application(s): ssh
Related Id(s): PR-6611
With this change, ssh application does not crash when
formatting some of info reports for unsuccessful
connections.
OTP-18417 Application(s): ssh
Related Id(s): ERIERL-888, DAFH-1349, IA18357
With this change, ssh does not log extensively long
messages.
Full runtime dependencies of ssh-4.15.2: 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.7 ------------------------------------------------------
---------------------------------------------------------------------
Note! The ssl-10.8.7 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)
--- Improvements and New Features ---
OTP-18433 Application(s): ssl
Related Id(s): GH-6772
Maximize compatibility by ignoring change_cipher_spec
during handshake even if middle_box_mode is not
negotiated (mandated by client)
OTP-18467 Application(s): ssl
Related Id(s): GH-6807
Move assert of middlebox message after an
hello_retry_request to maximize interoperability. Does
not changes semantics of the protocol only allows
unexpected message delay from server.
Full runtime dependencies of ssl-10.8.7: 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.0-rc1
Erlang/OTP 26.0-rc1 is the first release candidate of three before the OTP 26.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 here https://github.com/erlang/otp/issues or by posting to Erlangforums.
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-14.0-rc1/doc/. You can also install the latest release using kerl like this: kerl build 26.0-rc1 26.0-rc1.
Erlang/OTP 26 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!
Below are some highlights of the release:
Highlights
The Shell
There are a lot of new features and improvements in the Erlang shell:
- auto-complete of variables, record names, record fields names, map keys, function parameter types and filenames.
- Open external editor in the shell to edit
the current expression. - defining records (with types), functions, specs and types in the shell.
New terminal
- The TTY/terminal subsystem has been rewritten.
Windows users will notice thaterl.exe
has the same
functionality as a normal Unix shell and thatwerl.exe
is just a
symlink toerl.exe
. This makes the Windows Erlang terminal
experience identical to that of Unix.
Compiler and JIT optimizations:
-
Creation and matching of binaries with segments of fixed sizes have been optimized.
-
Creation and matching of UTF-8 segments have been optimized.
-
Appending to binaries has been optimized.
-
The compiler and JIT now generate better code for creation of small maps where all keys
are literals known at compile time. -
Thanks to the optimizations above the performance of the
base64
module has been
significantly improved. For example, on an x86_64 system with the JIT both encode and
decode are almost three times faster than in Erlang/OTP 25.
Maps
-
Map comprehensions as suggested in EEP 58 has now been
implemented. -
Some map operations have been optimized by changing the
internal sort order of atom keys. This changes the
(undocumented) order of how atom keys in small maps are
printed and returned bymaps:to_list/1
andmaps:next/1
.
The new order is unpredictable and may change between
different invocations of the Erlang VM. -
Introducing the new function
maps:iterator/2
for creating an interator
that return the map elements in a deterministic order.
There are also new modifiersk
andK
for the format
string inio:format()
to support printing map elements
ordered.
Dialyzer
- Dialyzer has a new incremental mode that be invoked by
giving the--incremental
option when running Dialyzer.
This new incremental mode is likely to become the
default in a future release.
Misc ERTS, Stdlib, Kernel, Compiler
-
Multi time warp mode is now enabled by default.
This assumes that all code executing on the system is
time warp safe. -
Support for UTF-8 atoms and strings in the NIF
interface including new functionsenif_make_new_atom
,
enif_make_new_atom_len
andenif_get_string_length
. -
The BIFs
min/2
andmax/2
are now allowed to be used in
guards and match specs. -
Improved the selective receive optimization, which can
now be enabled for references returned from other
functions. This greatly improves the performance of
gen_server:send_request/3
,gen_server:wait_response/2
,
and similar functions. -
New trace feature
call_memory
. Similar tocall_time
tracing, but instead of measure accumulated time in
traced functions it measures accumulated heap space
consumed by traced functions. It can be used to compare
how much different functions are contributing to
garbage collection being triggered. -
It is no longer necessary to enable a feature in the
runtime system in order to load modules that are using
it. It is sufficient to enable the feature in the
compiler when compiling it. -
inet:setopts/2
has got 3 new options:reuseport
,reuseport_lb
andexclusiveaddruse
. -
Fix so that
-fno-omit-frame-pointer
is applied to all
of the Erlang VM when using the JIT so that tools, such
asperf
, can crawl the process stacks. -
In the
lists
module, the zip family of functions now takes
options to allow handling lists of different lengths. -
Added the
zip:zip_get_crc32/2
function to retrieve the
CRC32
checksum from an opened ZIP archive.
gen_server
optimized by caching callback functions -
The modules Erlang DNS resolver
inet_res
and helper
modules have been updated for RFC6891; to handle OPT RR
with DNSSEC OK (DO) bit. -
Introduced
application:get_supervisor/1
. -
Cache OTP boot code paths, to limit how many folders
that are being accessed during a module lookup. Can be
disabled with-cache_boot_path false
.
SSL
-
Support for Kernel TLS (kTLS), has been added to the
SSL application, for TLS distribution (-proto_dist
inet_tls
), the SSL option{ktls, true}
. -
Improved error checking and handling of ssl options.
-
Mitigate memory usage from large certificate chains by
lowering the maximum handshake size. This should not
effect the common cases, if needed it can be configured
to a higher value. -
For security reasons the
SHA1
andDSA
algorithms are no longer among the default values. -
Add encoding and decoding of
use_srtp
hello extension
to facilitate forDTLS
users to implementSRTP
functionality.
For more details about new features and potential incompatibilities see the readme
OTP 25.2.2
Patch Package: OTP 25.2.2
Git Tag: OTP-25.2.2
Date: 2023-01-30
Trouble Report Id: OTP-18409
Seq num: ERIERL-908
System: OTP
Release: 25
Application: ftp-1.1.3
Predecessor: OTP 25.2.1
Check out the git tag OTP-25.2.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.
---------------------------------------------------------------------
--- ftp-1.1.3 -------------------------------------------------------
---------------------------------------------------------------------
The ftp-1.1.3 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18409 Application(s): ftp
Related Id(s): ERIERL-908, PR-6721
Fixes calls to ftp:nlist/2 returning {error, epath}
when the file / folder exists
Full runtime dependencies of ftp-1.1.3: erts-7.0, kernel-6.0,
runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 25.1.2.1
Patch Package: OTP 25.1.2.1
Git Tag: OTP-25.1.2.1
Date: 2023-01-18
Trouble Report Id: OTP-18379, OTP-18383, OTP-18388
Seq num: ERIERL-904, ERIERL-905
System: OTP
Release: 25
Application: erts-13.1.2.1, snmp-5.13.1.1
Predecessor: OTP 25.1.2
Check out the git tag OTP-25.1.2.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.
---------------------------------------------------------------------
--- erts-13.1.2.1 ---------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.1.2.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
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-18383 Application(s): erts
Related Id(s): ERIERL-905
Fixed a bug in selective receive optimization that
could crash 32-bit emulators.
OTP-18388 Application(s): erts
Related Id(s): OTP-17462, PR-6662
A race condition which was very rarely triggered could
cause the signal queue of a process to become
inconsistent causing the runtime system to crash.
Full runtime dependencies of erts-13.1.2.1: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- snmp-5.13.1.1 ---------------------------------------------------
---------------------------------------------------------------------
The snmp-5.13.1.1 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18379 Application(s): snmp
Related Id(s): ERIERL-904
Single threaded agent crash when vacm table not
properly initiated.
Full runtime dependencies of snmp-5.13.1.1: crypto-4.6, erts-12.0,
kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 25.2.1
Patch Package: OTP 25.2.1
Git Tag: OTP-25.2.1
Date: 2023-01-17
Trouble Report Id: OTP-18357, OTP-18358, OTP-18362, OTP-18363,
OTP-18365, OTP-18368, OTP-18379, OTP-18383,
OTP-18388
Seq num: ERIERL-879, ERIERL-895, ERIERL-904,
ERIERL-905, GH-6558
System: OTP
Release: 25
Application: common_test-1.23.3, compiler-8.2.3,
erts-13.1.4, inets-8.2.1, kernel-8.5.3,
snmp-5.13.3
Predecessor: OTP 25.2
Check out the git tag OTP-25.2.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.
---------------------------------------------------------------------
--- common_test-1.23.3 ----------------------------------------------
---------------------------------------------------------------------
The common_test-1.23.3 application can be applied independently of
other applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18363 Application(s): common_test
Related Id(s): ERIERL-879
Change timeout to infinity for gen_server calls in
cth_log_redirect
Full runtime dependencies of common_test-1.23.3: 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.2.3 --------------------------------------------------
---------------------------------------------------------------------
The compiler-8.2.3 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18365 Application(s): compiler
Fixed a bug that could cause legal code to fail
validation.
OTP-18368 Application(s): compiler
Eliminated a rare crash in the beam_types module.
Full runtime dependencies of compiler-8.2.3: crypto-5.1, erts-13.0,
kernel-8.4, stdlib-4.0
---------------------------------------------------------------------
--- erts-13.1.4 -----------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.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
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-18383 Application(s): erts
Related Id(s): ERIERL-905
Fixed a bug in selective receive optimization that
could crash 32-bit emulators.
OTP-18388 Application(s): erts
Related Id(s): OTP-17462, PR-6662
A race condition which was very rarely triggered could
cause the signal queue of a process to become
inconsistent causing the runtime system to crash.
Full runtime dependencies of erts-13.1.4: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- inets-8.2.1 -----------------------------------------------------
---------------------------------------------------------------------
The inets-8.2.1 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18362 Application(s): inets
Related Id(s): ERIERL-895, GH-6558
fixes a missing case of the type specification for
httpd:info/2/3/4
Full runtime dependencies of inets-8.2.1: erts-6.0, kernel-6.0,
mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
stdlib-4.0
---------------------------------------------------------------------
--- kernel-8.5.3 ----------------------------------------------------
---------------------------------------------------------------------
Note! The kernel-8.5.3 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:
-- erts-13.1.3 (first satisfied in OTP 25.2)
-- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
--- Fixed Bugs and Malfunctions ---
OTP-18357 Application(s): kernel
Related Id(s): #6509
The tcp connect option 'bind_to_device' could not be
used with inet_backend = 'socket'. 'inet' requires
value type binarry() and 'socket' requires value type
'string()'.
OTP-18358 Application(s): kernel
Related Id(s): #6528
Minor issue processing options when calling
gen_tcp:connect with a sockaddr() and inet_backend =
socket.
Full runtime dependencies of kernel-8.5.3: crypto-5.0, erts-13.1.3,
sasl-3.0, stdlib-4.1.1
---------------------------------------------------------------------
--- snmp-5.13.3 -----------------------------------------------------
---------------------------------------------------------------------
The snmp-5.13.3 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18379 Application(s): snmp
Related Id(s): ERIERL-904
Single threaded agent crash when vacm table not
properly initiated.
Full runtime dependencies of snmp-5.13.3: crypto-4.6, erts-12.0,
kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 24.3.4.8
Patch Package: OTP 24.3.4.8
Git Tag: OTP-24.3.4.8
Date: 2023-01-17
Trouble Report Id: OTP-18379, OTP-18383, OTP-18388
Seq num: ERIERL-904, ERIERL-905
System: OTP
Release: 24
Application: erts-12.3.2.8, snmp-5.12.0.2
Predecessor: OTP 24.3.4.7
Check out the git tag OTP-24.3.4.8, 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-12.3.2.8 ---------------------------------------------------
---------------------------------------------------------------------
Note! The erts-12.3.2.8 application *cannot* be applied independently
of other applications on an arbitrary OTP 24 installation.
On a full OTP 24 installation, also the following runtime
dependency has to be satisfied:
-- kernel-8.3 (first satisfied in OTP 24.3)
--- Fixed Bugs and Malfunctions ---
OTP-18383 Application(s): erts
Related Id(s): ERIERL-905
Fixed a bug in selective receive optimization that
could crash 32-bit emulators.
OTP-18388 Application(s): erts
Related Id(s): OTP-17462, PR-6662
A race condition which was very rarely triggered could
cause the signal queue of a process to become
inconsistent causing the runtime system to crash.
Full runtime dependencies of erts-12.3.2.8: kernel-8.3, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
--- snmp-5.12.0.2 ---------------------------------------------------
---------------------------------------------------------------------
The snmp-5.12.0.2 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18379 Application(s): snmp
Related Id(s): ERIERL-904
Single threaded agent crash when vacm table not
properly initiated.
Full runtime dependencies of snmp-5.12.0.2: crypto-3.3, erts-12.0,
kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 24.3.4.7
Patch Package: OTP 24.3.4.7
Git Tag: OTP-24.3.4.7
Date: 2022-12-27
Trouble Report Id: OTP-18288, OTP-18296, OTP-18306, OTP-18315,
OTP-18317, OTP-18319, OTP-18321, OTP-18325,
OTP-18328, OTP-18352, OTP-18357, OTP-18358,
OTP-18363, OTP-18365
Seq num: ERIERL-868, ERIERL-875, ERIERL-879,
ERIERL-881, GH-6393, GH-6439, GH-6465,
GH-6466
System: OTP
Release: 24
Application: common_test-1.22.1.1, compiler-8.1.1.2,
erts-12.3.2.7, kernel-8.3.2.3,
mnesia-4.20.4.2, snmp-5.12.0.1,
stdlib-3.17.2.2
Predecessor: OTP 24.3.4.6
Check out the git tag OTP-24.3.4.7, 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.
---------------------------------------------------------------------
--- common_test-1.22.1.1 --------------------------------------------
---------------------------------------------------------------------
The common_test-1.22.1.1 application can be applied independently of
other applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18363 Application(s): common_test
Related Id(s): ERIERL-879
Change timeout to infinity for gen_server calls in
cth_log_redirect
Full runtime dependencies of common_test-1.22.1.1: 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
---------------------------------------------------------------------
--- compiler-8.1.1.2 ------------------------------------------------
---------------------------------------------------------------------
The compiler-8.1.1.2 application can be applied independently of
other applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18325 Application(s): compiler, stdlib
Related Id(s): GH-6465, GH-6466
It is not allowed to call functions from guards. The
compiler failed to reject a call in a guard when done
by constructing a record with a default initialization
expression that called a function.
OTP-18365 Application(s): compiler
Fixed a bug that could cause legal code to fail
validation.
Full runtime dependencies of compiler-8.1.1.2: crypto-3.6, erts-11.0,
kernel-7.0, stdlib-3.13
---------------------------------------------------------------------
--- erts-12.3.2.7 ---------------------------------------------------
---------------------------------------------------------------------
Note! The erts-12.3.2.7 application *cannot* be applied independently
of other applications on an arbitrary OTP 24 installation.
On a full OTP 24 installation, also the following runtime
dependency has to be satisfied:
-- kernel-8.3 (first satisfied in OTP 24.3)
--- Fixed Bugs and Malfunctions ---
OTP-18296 Application(s): erts, kernel
Related Id(s): OTP-16464
Spec for function net:if_names/0 incorrect
OTP-18306 Application(s): erts
Related Id(s): GH-6393, PR-6401
Fix bug in binary_to_term decoding a binary term 2Gbyte
or larger.
OTP-18321 Application(s): erts
Fix list_to_atom/1 for negative code points. Could
either return with a positive code point or fail with
an incorrect exception.
OTP-18328 Application(s): erts
Related Id(s): GH-6439, PR-6440
Fix bug in binary_to_term decoding a list of length 1G
or longer.
Full runtime dependencies of erts-12.3.2.7: kernel-8.3, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
--- kernel-8.3.2.3 --------------------------------------------------
---------------------------------------------------------------------
Note! The kernel-8.3.2.3 application *cannot* be applied
independently of other applications on an arbitrary OTP 24
installation.
On a full OTP 24 installation, also the following runtime
dependency has to be satisfied:
-- erts-12.3 (first satisfied in OTP 24.3)
--- Fixed Bugs and Malfunctions ---
OTP-18296 Application(s): erts, kernel
Related Id(s): OTP-16464
Spec for function net:if_names/0 incorrect
OTP-18315 Application(s): kernel
Missing ctrl option name transation for TOS and TTL (on
FreeBSD) when using gen_udp with the 'socket'
inet_backend.
OTP-18357 Application(s): kernel
Related Id(s): #6509
The tcp connect option 'bind_to_device' could not be
used with inet_backend = 'socket'. 'inet' requires
value type binarry() and 'socket' requires value type
'string()'.
OTP-18358 Application(s): kernel
Related Id(s): #6528
Minor issue processing options when calling
gen_tcp:connect with a sockaddr() and inet_backend =
socket.
--- Improvements and New Features ---
OTP-18317 Application(s): kernel
Improve warning message format for gen_tcp_socket.
Full runtime dependencies of kernel-8.3.2.3: crypto-5.0, erts-12.3,
sasl-3.0, stdlib-3.13
---------------------------------------------------------------------
--- mnesia-4.20.4.2 -------------------------------------------------
---------------------------------------------------------------------
The mnesia-4.20.4.2 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18288 Application(s): mnesia
Related Id(s): ERIERL-868
Don't fill the logs if mnesia can't connect to all
nodes, due to partitioned network.
OTP-18319 Application(s): mnesia
Related Id(s): ERIERL-875
Fixed crash which could happen during startup if too
many decisions where sent from remote nodes.
Full runtime dependencies of mnesia-4.20.4.2: erts-9.0, kernel-5.3,
stdlib-3.4
---------------------------------------------------------------------
--- snmp-5.12.0.1 ---------------------------------------------------
---------------------------------------------------------------------
The snmp-5.12.0.1 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18352 Application(s): snmp
Related Id(s): ERIERL-881
Explicitly close the socket(s) when terminating
(default-) net-if process.
Full runtime dependencies of snmp-5.12.0.1: crypto-3.3, erts-12.0,
kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
--- stdlib-3.17.2.2 -------------------------------------------------
---------------------------------------------------------------------
The stdlib-3.17.2.2 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18325 Application(s): compiler, stdlib
Related Id(s): GH-6465, GH-6466
It is not allowed to call functions from guards. The
compiler failed to reject a call in a guard when done
by constructing a record with a default initialization
expression that called a function.
Full runtime dependencies of stdlib-3.17.2.2: compiler-5.0,
crypto-3.3, erts-12.0, kernel-7.0, sasl-3.0
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 25.2
Patch Package: OTP 25.2
Git Tag: OTP-25.2
Date: 2022-12-14
Trouble Report Id: OTP-18213, OTP-18250, OTP-18251, OTP-18252,
OTP-18255, OTP-18256, OTP-18257, OTP-18267,
OTP-18268, OTP-18269, OTP-18270, OTP-18273,
OTP-18280, OTP-18281, OTP-18283, OTP-18284,
OTP-18289, OTP-18291, OTP-18292, OTP-18293,
OTP-18294, OTP-18295, OTP-18296, OTP-18298,
OTP-18302, OTP-18304, OTP-18306, OTP-18307,
OTP-18308, OTP-18313, OTP-18314, OTP-18315,
OTP-18317, OTP-18319, OTP-18321, OTP-18322,
OTP-18323, OTP-18324, OTP-18325, OTP-18326,
OTP-18328, OTP-18332, OTP-18333, OTP-18336,
OTP-18339, OTP-18343, OTP-18345, OTP-18347,
OTP-18349, OTP-18351, OTP-18352
Seq num: ERIERL-865, ERIERL-867, ERIERL-875,
ERIERL-881, ERIERL-885, ERL-6435, GH-5823,
GH-6106, GH-6245, GH-6290, GH-6307, GH-6332,
GH-6341, GH-6363, GH-6373, GH-6387, GH-6393,
GH-6419, GH-6426, GH-6435, GH-6439, GH-6461,
GH-6465, GH-6466, GH-6473, GH-6496, GH-6501,
GH-6518
System: OTP
Release: 25
Application: common_test-1.23.2, compiler-8.2.2,
dialyzer-5.0.4, erts-13.1.3, ftp-1.1.2,
inets-8.2, kernel-8.5.2, megaco-4.4.2,
mnesia-4.21.3, observer-2.14, os_mon-2.8,
public_key-1.13.2, snmp-5.13.2, ssh-4.15.1,
ssl-10.8.6, stdlib-4.2, wx-2.2.1
Predecessor: OTP 25.1.2
Check out the git tag OTP-25.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.
---------------------------------------------------------------------
--- POTENTIAL INCOMPATIBILITIES -------------------------------------
---------------------------------------------------------------------
OTP-18324 Application(s): erts, kernel
Related Id(s): GH-6461, PR-6481
The inet:setopts/2 {reuseaddr, true} option will now be
ignored on Windows unless the socket is an UDP socket.
For more information see the documentation of the
reuseaddr option part of the documentation of
inet:setopts/2.
Prior to OTP 25 the {reuseaddr, true} option was
ignored for all sockets on Windows, but as of OTP 25.0
this was changed so that it was not ignored for any
sockets.
---------------------------------------------------------------------
--- common_test-1.23.2 ----------------------------------------------
---------------------------------------------------------------------
The common_test-1.23.2 application can be applied independently of
other applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18255 Application(s): common_test
Related Id(s): PR-6314
Fix starting of peer nodes on old releases when the
compile server was active and the current Erlang
installation contained non-latin1 characters in its
path.
Full runtime dependencies of common_test-1.23.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.2.2 --------------------------------------------------
---------------------------------------------------------------------
The compiler-8.2.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18268 Application(s): compiler
Related Id(s): GH-6332
Line number in compiler messages would be truncated to
4 digits for line numbers greater than 9999.
OTP-18273 Application(s): compiler
Related Id(s): GH-6341
In rare circumstance, matching a binary as part of a
receive clause could cause the compiler to terminate
because of an internal consistency check failure.
OTP-18308 Application(s): compiler
Related Id(s): GH-6426
Compiling a function with complex bit syntax matching
such as f(<<X:0, _:X>>, <<Y:0, _:Y>>) -> ok. could
crash the compiler.
OTP-18325 Application(s): compiler, stdlib
Related Id(s): GH-6465, GH-6466
It is not allowed to call functions from guards. The
compiler failed to reject a call in a guard when done
by constructing a record with a default initialization
expression that called a function.
OTP-18336 Application(s): compiler, stdlib
Related Id(s): GH-6501, PR-6502
The compiler could crash when using a record with
complex field initialization expression as a filter in
a list comprehension.
Full runtime dependencies of compiler-8.2.2: crypto-5.1, erts-13.0,
kernel-8.4, stdlib-4.0
---------------------------------------------------------------------
--- dialyzer-5.0.4 --------------------------------------------------
---------------------------------------------------------------------
The dialyzer-5.0.4 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18307 Application(s): dialyzer
Related Id(s): GH-6419, GH-6473
Dialyzer would crash when attempting to analyze a bit
syntax segment size having an literal non-integer size
such as [].
OTP-18347 Application(s): dialyzer
Related Id(s): GH-6518, PR-6525
Dialyzer could crash when trying to analyze a
convoluted nested expression involving funs,
Full runtime dependencies of dialyzer-5.0.4: compiler-8.0, erts-12.0,
kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
---------------------------------------------------------------------
--- erts-13.1.3 -----------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.1.3 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-18256 Application(s): erts
Related Id(s): PR-6316
Fix perf/gdb JIT symbols to not contain
CodeInfoPrologue for the JIT internal module
erts_beamasm.
OTP-18281 Application(s): erts
Related Id(s): PR-4840
Fixed minor memory leaks.
OTP-18284 Application(s): erts
Related Id(s): PR-6305
Fix bugs in ets:insert and ets:insert_new when called
with a list of tuples to insert while a concurrent
process either deletes or renames the table. The table
deletion could be done with ets:delete/1 or be caused
by termination of the table owning process.
Symptoms are either VM crash or strange incorrect
behavior from the insert operation. The risk of
triggering the bugs increases with the length of the
list of tuple to insert. Bugs exist since OTP 23.0.
OTP-18294 Application(s): erts
Related Id(s): PR-6390
Boost execution of scheduled thread progress jobs. This
to prevent memory exhaustion in extremely rapid
allocation/deallocation scenarios, such as repeated ETS
table creations/deletions.
OTP-18295 Application(s): erts
Fix segv crash during crash dumping an ETS table doing
ets:delete_all_objects.
OTP-18296 Application(s): erts, kernel
Related Id(s): OTP-16464
Spec for function net:if_names/0 incorrect
OTP-18306 Application(s): erts
Related Id(s): GH-6393, PR-6401
Fix bug in binary_to_term decoding a binary term 2Gbyte
or larger.
OTP-18313 Application(s): erts
Related Id(s): PR-6456
Documentation of erlang:module_loaded/1 has been
adjusted:
-- It did not previously say that the BIF only returns
true for modules loaded as current code.
-- The warning claiming that the BIF should only be
used by the code server has been removed.
OTP-18321 Application(s): erts
Fix list_to_atom/1 for negative code points. Could
either return with a positive code point or fail with
an incorrect exception.
OTP-18322 Application(s): erts
Related Id(s): PR-6479
Fix rare bug causing VM crash when sending to a pid of
a spawning process returned ...
OTP 25.1.2
Patch Package: OTP 25.1.2
Git Tag: OTP-25.1.2
Date: 2022-10-24
Trouble Report Id: OTP-18288, OTP-18290
Seq num: ERIERL-866, ERIERL-868
System: OTP
Release: 25
Application: erts-13.1.2, mnesia-4.21.2
Predecessor: OTP 25.1.1
Check out the git tag OTP-25.1.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.
---------------------------------------------------------------------
--- erts-13.1.2 -----------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.1.2 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-18290 Application(s): erts
Related Id(s): ERIERL-866, PR-6378
Add abandon carrier free utilization limit (+Muacful)
option to erts_alloc. This option allows the user to
mark unused segments in a memory carrier as re-useable
by the OS if needed.
This functionality was a non-configurable default
before Erlang/OTP 25, but removed due to performance
issues.
Full runtime dependencies of erts-13.1.2: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- mnesia-4.21.2 ---------------------------------------------------
---------------------------------------------------------------------
The mnesia-4.21.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18288 Application(s): mnesia
Related Id(s): ERIERL-868
Don't fill the logs if mnesia can't connect to all
nodes, due to partitioned network.
Full runtime dependencies of mnesia-4.21.2: erts-9.0, kernel-5.3,
stdlib-3.4
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------