Patch Package | OTP 27.2 |
Git Tag | OTP-27.2 |
Date | 2024-12-11 |
Issue Id |
ERIERL-1091
ERIERL-1093
ERIERL-1149
ERIERL-1152
ERIERL-1154
|
System | OTP |
Release | 27 |
Application | |
Potential Incompatibilities |
Potential Incompatibilities #
- OTP-19158
-
- Application(s):
- inets
The HTTP client now correctly takes into account the
full_result
option when returning an asynchronous request.
common_test-1.27.5 #
The common_test-1.27.5 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19284
-
- Related Id(s):
-
ERIERL-1093, PR-8909
Fixed a bug where the sum of testcases’ execution time in HTML logs was sometimes miscalculated, and the table was not fully printed.
Full runtime dependencies of common_test-1.27.5
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.5.4 #
The compiler-8.5.4 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19243
-
Fixed a crash in the common sub-expression elimination pass.
- OTP-19270
-
Fixed a bug where bogus code was generated for consecutive calls to
erlang:setelement/2
, potentially crashing the runtime system. - OTP-19282
-
- Related Id(s):
When the
line_coverage
option was used, exceptions could show the wrong line for where the exception was raised. - OTP-19309
-
The
line_coverage
option would be ignored if given in acompile()
attribute within a module. - OTP-19331
-
- Related Id(s):
A segment matching a float in a binary generator will now skip any invalid float (such as a NaN) and continue matching the rest of the binary. Before this correction, the comprehension would stop as soon as an invalid float was encountered.
Example:
1> BadFloat = <<-1:64>>. <<"ÿÿÿÿÿÿÿÿ">> 2> [X || <<X:64/float>> <= <<0.0/float,BadFloat/binary,42.0/float>>]. [0.0,42.0]
Full runtime dependencies of compiler-8.5.4
crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0
crypto-5.5.2 #
The crypto-5.5.2 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19223
-
crypto:strong_rand_bytes/2
fixed to work on Ubuntu pro with installed FIPS support. - OTP-19329
-
Fixed
crypto:hash_final/1
for digest typesshake128
andshake256
when using OpenSSL 3.4 or newer.
Full runtime dependencies of crypto-5.5.2
erts-9.0, kernel-5.3, stdlib-3.9
debugger-5.5 #
The debugger-5.5 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19322
-
Defining a fun in the shell using the syntax
fun Name/Arity
would fail. This has been corrected so that the following now works:1> F = fun is_atom/1. #Fun.erl.42.18682967> > F(a). true 3> Id = fun id/1. #Fun.erl.42.18682967> 4> Id(42). ** exception error: undefined shell command id/1 5> id(I) -> I. ok 6> Id(42). 42
The Debugger has also been corrected to correctly handle this syntax for a BIF.
- OTP-19310
-
Erlang/OTP type specifications has been updated to eliminate overlapping domains.
Full runtime dependencies of debugger-5.5
compiler-8.0, erts-15.0, kernel-10.0, stdlib-3.15, wx-2.0
dialyzer-5.3 #
The dialyzer-5.3 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19307
-
Fixed type inference for
erlang:system_info(logical_processors)
. - OTP-19344
-
Dialyzer would crash when attempting to analyze a module compiled with the
line_coverage
option. - OTP-19310
-
Erlang/OTP type specifications has been updated to eliminate overlapping domains.
Full runtime dependencies of dialyzer-5.3
compiler-8.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0
eldap-1.2.14 #
The eldap-1.2.14 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19281
-
- Related Id(s):
Corrected dialyzer spec for usage of TLS options. The incorrect usage for the options in
eldap
could cause dialyzer warnings in user code referring toeldap
specs.
Full runtime dependencies of eldap-1.2.14
asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-3.4
erts-15.2 #
The erts-15.2 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19225
-
- Related Id(s):
gen_sctp:peeloff/2
has been fixed to inherit socket options to the peeled off socket more likegen_tcp:accept/1
, for example the optionstos
ortclass
.When setting SCTP options that are unsupported on the platform, some should be silently ignored, but a bug caused the option parsing to derail so the options after could bail out and cause an error instead. This has been fixed.
- OTP-19232
-
Fixed a bug where Erlang would corrupt the terminal settings if stdin was a TTY but stdout was not.
- OTP-19248
-
- Related Id(s):
Fixed a bug in the non-JIT VM when loading a NIF over a function that is already traced by more than one session. This caused a VM crash. This bug has existed since OTP-27.0, where multiple trace sessions were introduced.
- OTP-19261
-
Fixed a bug where the loading of modules with extremely large binary construction instructions crashed the emulator on AArch64.
- OTP-19264
-
inet:getifaddrs/0,1
is improved when using inet_backend = socket. - OTP-19283
-
win32reg:value/2
will no longer crash the emulator when the value is an unterminated REG_SZ of size 0. - OTP-19300
-
- Related Id(s):
Makefile
dependency generation on Windows in WSL 2 has been corrected. - OTP-19330
-
Fix lock order violation if a NIF monitor
down
callback callsenif_whereis_pid
. Would cause debug emulator to crash but could potentially lead to deadlocks in optimized emulator. - OTP-19333
-
Fixed compilation faults when compiling using
--enable-vm-probes
. - OTP-19341
-
- Related Id(s):
Fixed
erl_nif.h
on Windows to compile when gcc or clang is used. - OTP-19362
-
- Related Id(s):
Fixed a minor issue in the JIT debug information that confused tools like GDB and perf.
- OTP-19360
-
- Related Id(s):
-
ERIERL-1149, PR-9062
Improved documentation of timers.
- OTP-19373
-
- Related Id(s):
The label for a process can now be retrieved also using
process_info(Pid, label)
in addition toproc_lib:get_label/1
.This new option is useful when one wants to retrieve more than one process info item. For example:
process_info(Pid, [label,registered_name])
Full runtime dependencies of erts-15.2
kernel-9.0, sasl-3.3, stdlib-4.1
inets-9.3.1 #
The inets-9.3.1 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19158
-
The HTTP client now correctly takes into account the
full_result
option when returning an asynchronous request. - OTP-19221
-
A synchronous httpc:request now timeouts after the
Timeout
specified inHttpOption {timeout, Timeout}
. - OTP-19379
-
Fixed a bug where calling httpc:set_options/2 when one of keys: ipfamily or unix_socket, was not present, would cause the other value to get overriden by the default value. The validation of these options was also improved.
- OTP-19377
-
- Related Id(s):
-
ERIERL-1152, PR-9127
The variable
Env
in themod_esi
callback will now have an additional property{connect_addr, Addr}
indicating on which address the server received a connection.
Full runtime dependencies of inets-9.3.1
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-6.0
kernel-10.2 #
Note! The kernel-10.2 application cannot be applied independently of other applications on an arbitrary OTP 27 installation.
On a full OTP 27 installation, also the following runtime
dependency has to be satisfied:
-- erts-15.1 (first satisfied in OTP 27.1)
- OTP-19225
-
- Related Id(s):
gen_sctp:peeloff/2
has been fixed to inherit socket options to the peeled off socket more likegen_tcp:accept/1
, for example the optionstos
ortclass
.When setting SCTP options that are unsupported on the platform, some should be silently ignored, but a bug caused the option parsing to derail so the options after could bail out and cause an error instead. This has been fixed.
- OTP-19260
-
- Related Id(s):
-
[PR-8884]
Made it possible to expand help text displayed by pressing ^[h by pressing ^[h again.
- OTP-19264
-
inet:getifaddrs/0,1
is improved when using inet_backend = socket. - OTP-19302
-
- Related Id(s):
Fixed
logger:report/0
to mandate at least one element in the report. This fixes an issue with overlappingspec
domains in alllogger
functions that uselogger:report/0
. - OTP-19305
-
Fixed deadlock on
code_server
. Multiple calls loading the same module with anon_load
function loading call would create a deadlock. - OTP-19253
-
- Related Id(s):
The Kernel application now recognizes the
epmd_module
anderl_epmd_listen_port
parameters, similar to-kernel:connect_all
. - OTP-19280
-
The
inetrc
kernel argument will now tolerate atoms again to improve compatibility with old configurations that relied on atoms working by accident.The expected type always was, and still remains, a string.
- OTP-19301
-
- Related Id(s):
The
file:io_device/0
type has been updated to clearly show the difference between araw
andcooked
IoDevice. - OTP-19310
-
Erlang/OTP type specifications has been updated to eliminate overlapping domains.
- OTP-19342
-
- Related Id(s):
Added the kernel parameter
os_cmd_shell
that controls which shell should be used byos:cmd/1
. - OTP-19372
-
- Related Id(s):
Added logging support to
io:user/0
,io:standard_io/0
andio:standard_error/0
. Seeio:setopts/2
for more details.
Full runtime dependencies of kernel-10.2
crypto-5.0, erts-15.1, sasl-3.0, stdlib-6.0
megaco-4.7 #
The megaco-4.7 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19310
-
Erlang/OTP type specifications has been updated to eliminate overlapping domains.
Full runtime dependencies of megaco-4.7
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.23.3 #
The mnesia-4.23.3 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19292
-
Mnesia table converted from
ext_copies
todisc_copies
will now be properly saved to disk. - OTP-19368
-
- Related Id(s):
-
ERIERL-1154, PR-9093
Mnesia could crash if table was deleted during checkpoint initialization.
Full runtime dependencies of mnesia-4.23.3
erts-9.0, kernel-5.3, stdlib-5.0
observer-2.17 #
The observer-2.17 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19353
-
- Related Id(s):
In the Memory tab of
crashdump_viewer
, the blocks sizes inAllocator Summary
would all beN/A
. - OTP-19253
-
- Related Id(s):
The Kernel application now recognizes the
epmd_module
anderl_epmd_listen_port
parameters, similar to-kernel:connect_all
.
Full runtime dependencies of observer-2.17
erts-15.0, et-1.5, kernel-10.0, runtime_tools-2.1, stdlib-5.0, wx-2.3
os_mon-2.10.1 #
The os_mon-2.10.1 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19304
-
Fixed the
memsup
memory alarm to useavailable_memory
when available, instead of always usingfree_memory
.
Full runtime dependencies of os_mon-2.10.1
erts-14.0, kernel-9.0, sasl-4.2.1, stdlib-5.0
public_key-1.17 #
The public_key-1.17 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19321
-
- Related Id(s):
public_key:cacerts_load/1
can now be configured via the application environment. - OTP-19375
-
- Related Id(s):
On MacOS, CA certificates are now also loaded from the system keychain.
Full runtime dependencies of public_key-1.17
asn1-5.0, crypto-5.0, erts-13.0, kernel-8.0, stdlib-4.0
snmp-5.18 #
The snmp-5.18 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19310
-
Erlang/OTP type specifications has been updated to eliminate overlapping domains.
Full runtime dependencies of snmp-5.18
crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0
ssh-5.2.5 #
The ssh-5.2.5 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19335
-
- Related Id(s):
Documentation is polished after OTP-27 migration to markdown.
Full runtime dependencies of ssh-5.2.5
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.6 #
Note! The ssl-11.2.6 application cannot be applied independently of other applications on an arbitrary OTP 27 installation.
On a full OTP 27 installation, also the following runtime
dependency has to be satisfied:
-- public_key-1.16.4 (first satisfied in OTP 27.1.3)
- OTP-19387
-
- Related Id(s):
Enhanced return value spec for active messages from the TLS connection socket.
Full runtime dependencies of ssl-11.2.6
crypto-5.0, erts-15.0, inets-5.10.7, kernel-9.0, public_key-1.16.4, runtime_tools-1.15.1, stdlib-6.0
stdlib-6.2 #
The stdlib-6.2 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19260
-
- Related Id(s):
-
[PR-8884]
Made it possible to expand help text displayed by pressing ^[h by pressing ^[h again.
- OTP-19322
-
Defining a fun in the shell using the syntax
fun Name/Arity
would fail. This has been corrected so that the following now works:1> F = fun is_atom/1. #Fun.erl.42.18682967> > F(a). true 3> Id = fun id/1. #Fun.erl.42.18682967> 4> Id(42). ** exception error: undefined shell command id/1 5> id(I) -> I. ok 6> Id(42). 42
The Debugger has also been corrected to correctly handle this syntax for a BIF.
- OTP-19351
-
- Related Id(s):
Fixed a bug where completion of ‘fun(‘ would cause the shell to crash.
- OTP-19361
-
- Related Id(s):
Fixed a bug causing the shell to crash while trying to complete an expression starting with a ‘/’ or a variable followed by ‘(‘ or ‘/’. E.g. Foo/ and Foo(.
- OTP-19370
-
zip:extract/2
withkeep_old_files
now respects thecwd
option. - OTP-19380
-
- Related Id(s):
Fixed an error in uri_string:percent_decode spec
- OTP-19234
-
Updated shell docs to display the type spec, that is,
h(erlang, min, 2)
now prints the type spec and documentation in the shell.> h(erlang,min,2). -spec min(Term1, Term2) -> Minimum when Term1 :: term(), Term2 :: term(), Minimum :: term(). Returns the smallest of Term1 and Term2. If the terms compare equal with the == operator, Term1 is returned.
- OTP-19301
-
- Related Id(s):
The
file:io_device/0
type has been updated to clearly show the difference between araw
andcooked
IoDevice. - OTP-19320
-
- Related Id(s):
Added
json:format_key_value_list/3
andjson:format_key_value_list_checked/3
. - OTP-19360
-
- Related Id(s):
-
ERIERL-1149, PR-9062
Improved documentation of timers.
- OTP-19372
-
- Related Id(s):
Added logging support to
io:user/0
,io:standard_io/0
andio:standard_error/0
. Seeio:setopts/2
for more details.
Full runtime dependencies of stdlib-6.2
compiler-5.0, crypto-4.5, erts-15.0, kernel-10.0, sasl-3.0
tools-4.1.1 #
The tools-4.1.1 application can be applied independently of other applications on a full OTP 27 installation.
- OTP-19273
-
- Related Id(s):
Fixed some deprecated errors on emacs-29.
- OTP-19289
-
The
cover
tool could sometimes wrongly report lines as uncovered. - OTP-19299
-
- Related Id(s):
Fixed
tprof:format(IoDevice, ...)
to not demand unicode encoding supported byIoDevice
.
Full runtime dependencies of tools-4.1.1
compiler-8.5, erts-15.0, erts-15.0, kernel-10.0, runtime_tools-2.1, stdlib-6.0
Thanks To #
Bryan Paxton, Daniel Finke, Dániel Szoboszlay, dependabot[bot], Ildar Khizbulin, Jakub Witczak, Jonatan Kłosko, José Valim, Loïc Hoguin, Maas-Maarten Zeeman, Maria Scott, Marko Mindek, Péter Gömöri, Radek Szymczyszyn, Svilen Ivanov, Yaroslav Maslennikov, zmstone