Patch Package: OTP 26.1
Git Tag: OTP-26.1
Date: 2023-09-20
Trouble Report Id: OTP-14480, OTP-18579, OTP-18582, OTP-18586,
OTP-18592, OTP-18598, OTP-18599, OTP-18605,
OTP-18611, OTP-18614, OTP-18615, OTP-18616,
OTP-18623, OTP-18627, OTP-18628, OTP-18629,
OTP-18631, OTP-18633, OTP-18638, OTP-18644,
OTP-18645, OTP-18647, OTP-18654, OTP-18655,
OTP-18660, OTP-18661, OTP-18662, OTP-18664,
OTP-18666, OTP-18669, OTP-18670, OTP-18672,
OTP-18674, OTP-18675, OTP-18676, OTP-18677,
OTP-18678, OTP-18679, OTP-18681, OTP-18683,
OTP-18685, OTP-18686, OTP-18687, OTP-18688,
OTP-18689, OTP-18690, OTP-18691, OTP-18692,
OTP-18693, OTP-18694, OTP-18696, OTP-18697,
OTP-18698, OTP-18700, OTP-18701, OTP-18702,
OTP-18704, OTP-18705, OTP-18706, OTP-18707,
OTP-18708, OTP-18710, OTP-18711, OTP-18712,
OTP-18718, OTP-18719, OTP-18721, OTP-18722,
OTP-18723, OTP-18724, OTP-18725, OTP-18729,
OTP-18731, OTP-18732, OTP-18733, OTP-18734,
OTP-18736, OTP-18737, OTP-18738, OTP-18740,
OTP-18745, OTP-18746, OTP-18747, OTP-18748,
OTP-18752, OTP-18753, OTP-18754, OTP-18755,
OTP-18757, OTP-18758, OTP-18759, OTP-18763
Seq num: ERIERL-43, ERIERL-957, ERIERL-959,
ERIERL-962, ERIERL-963, ERIERL-965,
ERIERL-979, GH-6074, GH-6339, GH-6394,
GH-6460, GH-6461, GH-7119, GH-7162, GH-7258,
GH-7280, GH-7292, GH-7298, GH-7317, GH-7325,
GH-7336, GH-7344, GH-7381, GH-7401, GH-7409,
GH-7410, GH-7413, GH-7417, GH-7431, GH-7436,
GH-7444, GH-7459, GH-7467, GH-7468, GH-7469,
GH-7477, GH-7482, GH-7488, GH-7492, GH-7504,
GH-7506, GH-7507, GH-7510, GH-7517, GH-7524,
GH-7546, GH-7566, GH-7569, GH-7577, GH-7584,
GH-7605, GH-7606, GH-7655
System: OTP
Release: 26
Application: asn1-5.2, common_test-1.25.1, compiler-8.4,
crypto-5.3, debugger-5.3.2, dialyzer-5.1.1,
erl_docgen-1.5.1, erts-14.1, inets-9.0.2,
kernel-9.1, megaco-4.5, mnesia-4.22.1,
observer-2.15.1, public_key-1.14.1,
snmp-5.15, ssl-11.0.3, stdlib-5.1
Predecessor: OTP 26.0.2
Check out the git tag OTP-26.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.
---------------------------------------------------------------------
--- HIGHLIGHTS ------------------------------------------------------
---------------------------------------------------------------------
OTP-18746 Application(s): stdlib
Related Id(s): PR-7313, PR-7456
*** POTENTIAL INCOMPATIBILITY ***
A warning for (accidental use of) Triple-Quoted Strings
has been implemented as per EEP 64.
---------------------------------------------------------------------
--- POTENTIAL INCOMPATIBILITIES -------------------------------------
---------------------------------------------------------------------
OTP-18696 Application(s): stdlib
Pattern matching and equivalence (=:=, =/=) comparisons
on 0.0 will now raise a warning, as it will no longer
be considered equivalent to -0.0 in OTP 27.
If a match on 0.0 specifically is desired (distinct
from -0.0), the warning can be suppressed by writing
+0.0 instead.
The arithmetic comparison operators are unaffected,
including arithmetic equality (==).
OTP-18746 Application(s): stdlib
Related Id(s): PR-7313, PR-7456
*** HIGHLIGHT ***
A warning for (accidental use of) Triple-Quoted Strings
has been implemented as per EEP 64.
---------------------------------------------------------------------
--- asn1-5.2 --------------------------------------------------------
---------------------------------------------------------------------
The asn1-5.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18729 Application(s): asn1
Related Id(s): PR-7575
The ASN.1 compiler would ignore a constraint such as
(SIZE (1..4), ...), causing incorrect behavior of the
encoding and decoding function for the PER and UPER
backends. Corrected to handle the constraint in the
same way as (SIZE (1..4, ...)).
--- Improvements and New Features ---
OTP-18748 Application(s): asn1
Related Id(s): ERIERL-957, PR-7637
The JER backend has been internally refactored in a way
that is compatible for applications that use the
documented API. However, for a group of ASN.1 modules
that depend on each other (for example,
S1AP-PDU-Descriptions, S1AP-Contents, and so on), all
modules in the group must be recompiled if on of the
group members is recompiled.
Full runtime dependencies of asn1-5.2: erts-11.0, kernel-7.0,
stdlib-3.13
---------------------------------------------------------------------
--- common_test-1.25.1 ----------------------------------------------
---------------------------------------------------------------------
The common_test-1.25.1 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-14480 Application(s): common_test
Related Id(s): ERIERL-43, OTP-11894, PR-7455
With this change, ct_hooks manual refers to CTH
execution order section in user guide.
OTP-18579 Application(s): common_test
Related Id(s): GH-7119
With this change, Config data from pre_end_per_testcase
hook is delivered to post_end_per_testcase callback in
case of testcase timetrap or linked process crash.
OTP-18615 Application(s): common_test
Related Id(s): PR-7234
With this change, remaining references to not supported
vts tool in ct_run are removed (mainly relates to docs
and ct_run help message).
OTP-18664 Application(s): common_test
Related Id(s): ERIERL-959
With this change, prompt search functionality in
ct_telnet handles unicode input.
OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
stdlib
Related Id(s): GH-7459, PR-7473
Expanded the documentation about how to use the
standard_io, standard_error and user I/O devices.
Added the types io:standard_io/0, io:standard:error/0
and io:user/0.
Full runtime dependencies of common_test-1.25.1: 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 ----------------------------------------------------
---------------------------------------------------------------------
The compiler-8.4 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18605 Application(s): compiler, stdlib
Related Id(s): GH-7298, GH-7317
The compiler could run forever when compiling a call to
is_record/3 with a huge positive tuple size. The call
is_record(A, a, 0) would crash the compiler when used
in a function body. When used in a guard the compiler
would emit incorrect code that would accept {a> as a
record.
OTP-18629 Application(s): compiler, dialyzer
Related Id(s): GH-7325
Fixed a bug that caused dialyzer to crash when
analyzing bogus code that contained the literal atom
undefined in segment sizes.
OTP-18662 Application(s): compiler
Related Id(s): GH-7409, PR-7416
The compiler would crash when compiling some modules
that contained a call to erlang:load_nif/2.
OTP-18678 Application(s): compiler
Related Id(s): GH-7488
Fixed a bug that caused the compiler to crash on legal
code.
OTP-18689 Application(s): compiler
Related Id(s): GH-7504, PR-7518
The compiler could crash when attempting to compile a
call to is_list/1 in a complex expression.
OTP-18692 Application(s): compiler
Related Id(s): GH-7517, PR-7519
A complex guard expression using the or operator could
succeed when it was supposed to fail.
OTP-18701 Application(s): compiler
Related Id(s): GH-7477, PR-7532
Compiling nested try/catch and catch expression could
result in an internal compiler error.
OTP-18719 Application(s): compiler
Related Id(s): GH-7468, PR-7562
Using the bnot operator in a complex expression could
cause the compiler to terminate with an internal
consistency failure diagnostic.
OTP-18721 Application(s): compiler
Related Id(s): PR-7527
Fixed a bug that caused the compiler to crash in a
binary optimization pass.
OTP-18725 Application(s): compiler
Related Id(s): GH-7467
The compiler could terminate with an internal error
when attempting to compile a binary pattern that could
not possibly match.
--- Improvements and New Features ---
OTP-18691 Application(s): compiler
Related Id(s): PR-7448
Fixed various performance issues related to the alias
optimization pass.
Full runtime dependencies of compiler-8.4: crypto-5.1, erts-13.0,
kernel-8.4, stdlib-5.0
---------------------------------------------------------------------
--- crypto-5.3 ------------------------------------------------------
---------------------------------------------------------------------
The crypto-5.3 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18670 Application(s): crypto
Related Id(s): GH-7436, PR-7450
Fix VM crash caused by crypto being purged and reloaded
(by init:restart for example) on OS with musl libc
(such as Alpine linux).
OTP-18758 Application(s): crypto
Related Id(s): PR-7209
Improved understanding of LibreSSL versions. Support
chacha20 and chacha20_poly1305 for LibreSSL 3.7.
Reflect removal of support for the DSS/DSA algorithm
which was done in LibreSSL 2.6.1.
--- Improvements and New Features ---
OTP-18666 Application(s): crypto
Related Id(s): PR-7392
FIPS supported by crypto for OpenSSL 3.0.* and 3.1.*.
Full runtime dependencies of crypto-5.3: erts-9.0, kernel-5.3,
stdlib-3.9
---------------------------------------------------------------------
--- debugger-5.3.2 --------------------------------------------------
---------------------------------------------------------------------
The debugger-5.3.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18644 Application(s): debugger
Related Id(s): GH-7336
The call int:no_break(Module) did not remove any
breakpoints.
OTP-18740 Application(s): debugger
Related Id(s): GH-7410, PR-7599
The maybe expression is now supported in the Debugger.
Full runtime dependencies of debugger-5.3.2: compiler-8.0, erts-12.0,
kernel-8.0, stdlib-3.15, wx-2.0
---------------------------------------------------------------------
--- dialyzer-5.1.1 --------------------------------------------------
---------------------------------------------------------------------
The dialyzer-5.1.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18629 Application(s): compiler, dialyzer
Related Id(s): GH-7325
Fixed a bug that caused dialyzer to crash when
analyzing bogus code that contained the literal atom
undefined in segment sizes.
OTP-18738 Application(s): dialyzer
Related Id(s): GH-7584
Dialyzer could crash when attempting to analyze a
module that defined a type called product/.
Full runtime dependencies of dialyzer-5.1.1: compiler-8.0, erts-12.0,
kernel-8.0, stdlib-5.0, syntax_tools-2.0, wx-2.0
---------------------------------------------------------------------
--- erl_docgen-1.5.1 ------------------------------------------------
---------------------------------------------------------------------
The erl_docgen-1.5.1 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
stdlib
Related Id(s): GH-7459, PR-7473
Expanded the documentation about how to use the
standard_io, standard_error and user I/O devices.
Added the types io:standard_io/0, io:standard:error/0
and io:user/0.
Full runtime dependencies of erl_docgen-1.5.1: edoc-1.0, erts-11.0,
kernel-8.0, stdlib-3.15, xmerl-1.3.7
---------------------------------------------------------------------
--- erts-14.1 -------------------------------------------------------
---------------------------------------------------------------------
The erts-14.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18592 Application(s): erts
maps:put with existing key and identical value was not
optimized as a no-op correctly if having the same
32-bit hash as another key in the map. In practice very
rare and harmless.
OTP-18623 Application(s): erts, kernel
Related Id(s): GH-7344
Fixed an issue with truncated crash slogans on failed
emulator start.
OTP-18645 Application(s): erts
Related Id(s): GH-7401
Fixed a bug where the emulator was unable to determine
the current cgroup CPU quota.
OTP-18647 Application(s): erts
Related Id(s): PR-7595
A process optimized for parallel signal delivery could
under some circumstances lose wakeup information. That
is, the processes was not woken up to take care of the
signal, so the signal would not be taken care of until
the process was woken by another signal. Only processes
configured with message_queue_data set to off_heap
utilize this optimization.
OTP-18669 Application(s): erts, kernel
Related Id(s): OTP-18029
Function socket:close/1 could cause a VM crash on
Windows.
OTP-18672 Application(s): erts
Related Id(s): GH-7469
Fixed a bug in the ARM JIT where it could accidentally
add garbage trailing bits when creating bitstrings
whose size wasn't an even multiple of 8 bits.
OTP-18674 Application(s): erts
Related Id(s): PR-7472
Fix erlang:system_info/1 documentation to show correct
types.
OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
stdlib
Related Id(s): GH-7459, PR-7473
Expanded the documentation about how to use the
standard_io, standard_error and user I/O devices.
Added the types io:standard_io/0, io:standard:error/0
and io:user/0.
OTP-18702 Application(s): erts
Related Id(s): GH-7381
Fix compilation with GNU termcap.
OTP-18706 Application(s): erts
Related Id(s): ERIERL-979, GH-7413, PR-7595
Delivery time of message signals to a process not
executing any receive expressions could become very
long, potentially infinite. For example, a process
checking for messages using process_info(self(),
message_queue_len) or process_info(self(), messages)
and avoiding to execute a receive expression matching
on messages could be very slow in detecting new
messages. Note that you are still discouraged from
using process_info() this way. A process that wants to
check if there are messages available to handle should
execute a receive expression matching on messages.
OTP-18724 Application(s): erts
Related Id(s): GH-7566, PR-7567
On AArch64 (ARM64), when calculating both the quotient
and remainder with a divisor begin a power two, the
remainder could be incorrectly calculated.
OTP-18732 Application(s): erts
Related Id(s): GH-7444, PR-7458
Fix bug causing "magic" references in a compressed ETS
table to not keep the referred object alive. The
symptom would be the referred object being garbage
collected prematurely and the reference appearing
stale, not referring to anything. Examples of such
magically referred objects are atomics and NIF
resources.
OTP-18733 Application(s): erts
Related Id(s): GH-7292
Matching out short bitstrings with a fixed size not
divisible by 8 could could lead to the runtime system
terminating with an "Overrun heap and stack" error.
OTP-18737 Application(s): erts
Related Id(s): PR-7595
A constant flow of incoming non-message signals could
prevent a process needing to execute dirty from doing
so.
OTP-18745 Application(s): erts
Related Id(s): GH-7492, PR-7616
A BEAM file usually contains a chunk with the tag
"Type" containing type information that can be used by
the JIT. The beam_lib:strip/1 takes care to preserve
that chunk, but a build/release tool that does
customized stripping could accidentally remove the
chunk. Loading a BEAM file without the "Type" chunk
could cause incorrect behavior of the loaded code.
OTP-18747 Application(s): erts, kernel
Related Id(s): GH-7605
gen_udp:recv/* for Unix Domain Socket in binary mode
and passive mode has been fixed to not crash.
OTP-18752 Application(s): erts
Related Id(s): PR-7633
The cleanup operation of not yet delivered signals to a
terminated process yielded excessively.
OTP-18753 Application(s): erts
Related Id(s): PR-7634
Fixed minor hashing issue with the local option of
term_to_binary()/term_to_iovec().
--- Improvements and New Features ---
OTP-18586 Application(s): erts, kernel
Related Id(s): OTP-18029
Update gen_tcp_socket and gen_udp_socket to handle
'completion' (socket on Windows).
OTP-18611 Application(s): erts, kernel
Related Id(s): #5024, OTP-18029
Add support for Unix Domain Sockets (only for STREAM
sockets) on Windows for 'socket'.
OTP-18638 Application(s): erts
In Erlang/OTP 27, by default escripts will be compiled
before being executed. That means that the compiler
application must be installed. It is possible to force
the escript to be interpreted by adding the directive
-mode(interpret). to the escript file.
In Erlang/OTP 28, support for interpreting an escript
will be removed.
OTP-18660 Application(s): erts, kernel
Add basic support for socket ioctl on Windows.
OTP-18661 Application(s): erts
Related Id(s): PR-6112
Removed erts/etc/darwin/Info.plist, as it is no longer
necessary after macos 10.12
OTP-18686 Application(s): erts, kernel
Add support for (Windows) socket option
exclusiveaddruse.
OTP-18687 Application(s): erts, kernel
[socket] Add support for the 'nopush' option.
OTP-18693 Application(s): erts, kernel
Add support for socket option 'BSP STATE'.
OTP-18698 Application(s): erts, kernel
Add tcp socket options 'keepcnt', 'keepidle' and
'keepintvl'.
OTP-18710 Application(s): erts, kernel
Add support for misc (Windows) socket options
('max_msg_size' and 'maxdg').
Full runtime dependencies of erts-14.1: kernel-9.0, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- inets-9.0.2 -----------------------------------------------------
---------------------------------------------------------------------
The inets-9.0.2 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18582 Application(s): inets
Related Id(s): GH-6074, PR-6892
With this change, re_write httpd works as expected and
does not return error.
OTP-18688 Application(s): inets
Related Id(s): ERIERL-962
Fixed a bug so httpd does not crash when stopped at the
wrong time during TLS connection negotiation, or any
other theoretically as slow connection setup.
OTP-18694 Application(s): inets
Related Id(s): GH-7482
Enhance error handling and avoid that the HTTP client
hangs on headers provided on the wrong format.
OTP-18704 Application(s): inets
Related Id(s): ERIERL-962, OTP-18688, PR-7513
With this change, error report generated by httpd
during connection setup contains socket type
information.
OTP-18708 Application(s): inets
Related Id(s): ERIERL-962, OTP-18688
Stop and restart of the httpd server in the Inets
application has been refactored to a more synchronous
and OTP supervisor friendly approach.
This should increase stability and for example avoid a
supervisor report from httpd_connection_sup about
killed child process(es) in some cases when stopping or
restarting httpd.
Full runtime dependencies of inets-9.0.2: erts-14.0, kernel-9.0,
mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
stdlib-5.0, stdlib-5.0
---------------------------------------------------------------------
--- kernel-9.1 ------------------------------------------------------
---------------------------------------------------------------------
The kernel-9.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18623 Application(s): erts, kernel
Related Id(s): GH-7344
Fixed an issue with truncated crash slogans on failed
emulator start.
OTP-18628 Application(s): kernel
Related Id(s): GH-7280
Fix shell:start_interactive function specification.
OTP-18654 Application(s): kernel
Related Id(s): PR-7404
Fix code:get_doc/1 to return missing, when it can't
find erts instead of crashing.
OTP-18669 Application(s): erts, kernel
Related Id(s): OTP-18029
Function socket:close/1 could cause a VM crash on
Windows.
OTP-18675 Application(s): kernel, stdlib
Related Id(s): GH-7459, PR-7473
Fix deadlock when erl.exe is used as part of a pipe on
Windows and trying to set the encoding of the
standard_io device.
OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
stdlib
Related Id(s): GH-7459, PR-7473
Expanded the documentation about how to use the
standard_io, standard_error and user I/O devices.
Added the types io:standard_io/0, io:standard:error/0
and io:user/0.
OTP-18677 Application(s): kernel
Related Id(s): GH-7417, PR-7418
Fix logger's overload protection mechanism to only
fetch memory used by messages when needed.
OTP-18685 Application(s): kernel
Fixed a number of socket-related issues causing
incompatibilities with gen_tcp and gen_udp
respectively.
OTP-18707 Application(s): kernel
Related Id(s): #7530
gen_tcp:connect with socket address and socket (inet-)
backend fails because of missing callback function.
OTP-18731 Application(s): kernel
Related Id(s): GH-7577, PR-7578
The DNS RR cache used by `inet_res` has been fixed to
preserve insert order, which is beneficial when the DNS
server returns RRs in some specific order for e.g load
balancing purposes.
OTP-18734 Application(s): kernel
Related Id(s): GH-6461, GH-7569, OTP-18344, PR-6522
The options `reuseport`, `reuseport_lb` and
`exclusiveaddruse` were accidentally not allowed for
e.g `gen_udp:open/1,2`, which has now been corrected.
OTP-18747 Application(s): erts, kernel
Related Id(s): GH-7605
gen_udp:recv/* for Unix Domain Socket in binary mode
and passive mode has been fixed to not crash.
OTP-18757 Application(s): kernel
Related Id(s): PR-7631
Fixed issue where cursor would not be placed at the end
of the expression when navigating shell history.
--- Improvements and New Features ---
OTP-18586 Application(s): erts, kernel
Related Id(s): OTP-18029
Update gen_tcp_socket and gen_udp_socket to handle
'completion' (socket on Windows).
OTP-18611 Application(s): erts, kernel
Related Id(s): #5024, OTP-18029
Add support for Unix Domain Sockets (only for STREAM
sockets) on Windows for 'socket'.
OTP-18660 Application(s): erts, kernel
Add basic support for socket ioctl on Windows.
OTP-18681 Application(s): kernel
The file:location/0 type is now exported.
OTP-18686 Application(s): erts, kernel
Add support for (Windows) socket option
exclusiveaddruse.
OTP-18687 Application(s): erts, kernel
[socket] Add support for the 'nopush' option.
OTP-18693 Application(s): erts, kernel
Add support for socket option 'BSP STATE'.
OTP-18698 Application(s): erts, kernel
Add tcp socket options 'keepcnt', 'keepidle' and
'keepintvl'.
OTP-18710 Application(s): erts, kernel
Add support for misc (Windows) socket options
('max_msg_size' and 'maxdg').
OTP-18754 Application(s): kernel, stdlib
Related Id(s): PR-7604, PR-7647
The keyboard shortcuts for the shell are now
configurable.
OTP-18755 Application(s): kernel
Related Id(s): PR-7503
Optimized code_server to reduce repeated work when
loading the same module concurrently.
Full runtime dependencies of kernel-9.1: crypto-5.0, erts-14.0,
sasl-3.0, stdlib-5.0
---------------------------------------------------------------------
--- megaco-4.5 ------------------------------------------------------
---------------------------------------------------------------------
The megaco-4.5 application can be applied independently of other
applications on a full OTP 26 installation.
--- Improvements and New Features ---
OTP-18599 Application(s): megaco
Related Id(s): OTP-18029
Make megaco transports handle gen_tcp | gen_udp with
socket backend on Windows (completion).
Full runtime dependencies of megaco-4.5: asn1-3.0, debugger-4.0,
erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
--- mnesia-4.22.1 ---------------------------------------------------
---------------------------------------------------------------------
The mnesia-4.22.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18711 Application(s): mnesia
Related Id(s): ERIERL-963
Do not delete old backup file if the new backup fails.
Full runtime dependencies of mnesia-4.22.1: erts-9.0, kernel-5.3,
stdlib-5.0
---------------------------------------------------------------------
--- observer-2.15.1 -------------------------------------------------
---------------------------------------------------------------------
The observer-2.15.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18722 Application(s): observer
Related Id(s): PR-7462
Closing the trace log window via the menu did not work.
Full runtime dependencies of observer-2.15.1: erts-14.0, et-1.5,
kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
---------------------------------------------------------------------
--- public_key-1.14.1 -----------------------------------------------
---------------------------------------------------------------------
The public_key-1.14.1 application can be applied independently of
other applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18718 Application(s): public_key
Related Id(s): GH-7546
Country name comparison shall be case insensitive
OTP-18723 Application(s): public_key
Related Id(s): GH-6394
Add check to disallow duplicate certs in a path
Full runtime dependencies of public_key-1.14.1: asn1-3.0, crypto-4.6,
erts-6.0, kernel-3.0, stdlib-3.5
---------------------------------------------------------------------
--- snmp-5.15 -------------------------------------------------------
---------------------------------------------------------------------
The snmp-5.15 application can be applied independently of other
applications on a full OTP 26 installation.
--- Improvements and New Features ---
OTP-18598 Application(s): snmp
Related Id(s): OTP-18029
Make snmp handle gen_udp with socket backend on Windows
(completion).
Full runtime dependencies of snmp-5.15: crypto-4.6, erts-12.0,
kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0
---------------------------------------------------------------------
--- ssl-11.0.3 ------------------------------------------------------
---------------------------------------------------------------------
The ssl-11.0.3 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18697 Application(s): ssl
Related Id(s): GH-7506
Avoid function clause error in ssl:getopts/2 by
handling that inet:getopts may return an empty list
during some circumstances, such as the socket being in
a closing state.
OTP-18700 Application(s): ssl
Related Id(s): GH-7507
The API function `ssl:recv/3` has been tightened to
disallow negative length, which has never been
documented to work, but was passed through and caused
strange errors.
OTP-18712 Application(s): ssl
Related Id(s): GH-7431
When a client initiated renegotiation was rejected and
the client socket was in active mode the expected error
message to the controlling process was not sent.
--- Improvements and New Features ---
OTP-18631 Application(s): ssl
Add some guidance for signature algorithms
configuration in ssl applications users guide.
Full runtime dependencies of ssl-11.0.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
---------------------------------------------------------------------
--- stdlib-5.1 ------------------------------------------------------
---------------------------------------------------------------------
The stdlib-5.1 application can be applied independently of other
applications on a full OTP 26 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18605 Application(s): compiler, stdlib
Related Id(s): GH-7298, GH-7317
The compiler could run forever when compiling a call to
is_record/3 with a huge positive tuple size. The call
is_record(A, a, 0) would crash the compiler when used
in a function body. When used in a guard the compiler
would emit incorrect code that would accept {a> as a
record.
OTP-18614 Application(s): stdlib
Related Id(s): GH-7162, PR-7237
Fix bug in ets:tab2file that could make it fail if
another Erlang process created the same file at the
same time.
OTP-18616 Application(s): stdlib
Related Id(s): GH-7258
An {else_clause,Value} exception will now be reported
nicely in the shell.
OTP-18627 Application(s): stdlib
Related Id(s): PR-7072
Correct return value for error case, so that it matches
the documented and intended return value {error,
{already_started, pid()} when local registered names
are used.
OTP-18633 Application(s): stdlib
sys:get_state/1,2 and sys:replace_state/2,3 has been
corrected to handle a state named error as a state
name, not as a failed system callback.
For the standard server behaviours this was an issue
only for gen_statem (and gen_fsm) when the state name
was error, and for gen_server if the complete state was
{error,_}.
OTP-18655 Application(s): stdlib
Related Id(s): GH-6460, PR-7208
Multiple problems were fixed in
filelib:safe_relative_path/2. If its second argument
was a path that contained symbolic links, an incorrect
result patch could be returned. Also, paths were
sometimes falsely considered unsafe.
OTP-18675 Application(s): kernel, stdlib
Related Id(s): GH-7459, PR-7473
Fix deadlock when erl.exe is used as part of a pipe on
Windows and trying to set the encoding of the
standard_io device.
OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
stdlib
Related Id(s): GH-7459, PR-7473
Expanded the documentation about how to use the
standard_io, standard_error and user I/O devices.
Added the types io:standard_io/0, io:standard:error/0
and io:user/0.
OTP-18683 Application(s): stdlib
Related Id(s): PR-7502
Fix h/2,3 to properly render multi-clause
documentation.
OTP-18759 Application(s): stdlib
Related Id(s): GH-7606
Timers created by timer:apply_after/4,
apply_interval/4, and apply_repeatedly/4 would silently
fail to do the apply if it was not possible to spawn a
process when the timer expired. This has now been
corrected, and if the spawn fails, the system will be
taken down producing a crash dump.
OTP-18763 Application(s): stdlib
Related Id(s): GH-7655
When an Erlang source file lacked a module definition,
there would be a spurious "module name must not be
empty" diagnostic for each spec in the file.
--- Improvements and New Features ---
OTP-18679 Application(s): stdlib
Related Id(s): ERIERL-965
The argument descriptions for option types in argparse
have been made less ambiguous.
OTP-18690 Application(s): stdlib
Related Id(s): GH-7510, PR-7511
Clarified the documentation of normal shutdown reason
on gen_server:call/2,3
OTP-18696 Application(s): stdlib
*** POTENTIAL INCOMPATIBILITY ***
Pattern matching and equivalence (=:=, =/=) comparisons
on 0.0 will now raise a warning, as it will no longer
be considered equivalent to -0.0 in OTP 27.
If a match on 0.0 specifically is desired (distinct
from -0.0), the warning can be suppressed by writing
+0.0 instead.
The arithmetic comparison operators are unaffected,
including arithmetic equality (==).
OTP-18705 Application(s): stdlib
Related Id(s): GH-6339, GH-7524, OTP-18471, PR-6843
The semantics of the gen_{server,statem,event}
behaviour's synchronous start behaviour introduced in
OTP-26.0 with OTP-18471, has been clarified in the
documentation.
OTP-18736 Application(s): stdlib
Related Id(s): PR-7564
Added functionality to set a custom multiline prompt.
OTP-18746 Application(s): stdlib
Related Id(s): PR-7313, PR-7456
*** HIGHLIGHT ***
*** POTENTIAL INCOMPATIBILITY ***
A warning for (accidental use of) Triple-Quoted Strings
has been implemented as per EEP 64.
OTP-18754 Application(s): kernel, stdlib
Related Id(s): PR-7604, PR-7647
The keyboard shortcuts for the shell are now
configurable.
Full runtime dependencies of stdlib-5.1: compiler-5.0, crypto-4.5,
erts-13.1, kernel-9.0, sasl-3.0
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------