| 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_resultoption 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_coverageoption was used, exceptions could show the wrong line for where the exception was raised. - OTP-19309
-
The
line_coverageoption 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/2fixed to work on Ubuntu pro with installed FIPS support. - OTP-19329
-
Fixed
crypto:hash_final/1for digest typesshake128andshake256when 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/Aritywould 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). 42The 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_coverageoption. - 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
eldapcould cause dialyzer warnings in user code referring toeldapspecs.
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/2has been fixed to inherit socket options to the peeled off socket more likegen_tcp:accept/1, for example the optionstosortclass.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,1is improved when using inet_backend = socket. - OTP-19283
-
win32reg:value/2will no longer crash the emulator when the value is an unterminated REG_SZ of size 0. - OTP-19300
-
- Related Id(s):
Makefiledependency generation on Windows in WSL 2 has been corrected. - OTP-19330
-
Fix lock order violation if a NIF monitor
downcallback 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.hon 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_resultoption when returning an asynchronous request. - OTP-19221
-
A synchronous httpc:request now timeouts after the
Timeoutspecified 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
Envin themod_esicallback 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/2has been fixed to inherit socket options to the peeled off socket more likegen_tcp:accept/1, for example the optionstosortclass.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):
Made it possible to expand help text displayed by pressing ^[h by pressing ^[h again.
- OTP-19264
-
inet:getifaddrs/0,1is improved when using inet_backend = socket. - OTP-19302
-
- Related Id(s):
Fixed
logger:report/0to mandate at least one element in the report. This fixes an issue with overlappingspecdomains in allloggerfunctions that uselogger:report/0. - OTP-19305
-
Fixed deadlock on
code_server. Multiple calls loading the same module with anon_loadfunction loading call would create a deadlock. - OTP-19253
-
- Related Id(s):
The Kernel application now recognizes the
epmd_moduleanderl_epmd_listen_portparameters, similar to-kernel:connect_all. - OTP-19280
-
The
inetrckernel 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/0type has been updated to clearly show the difference between arawandcookedIoDevice. - 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/0andio:standard_error/0. Seeio:setopts/2for 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_copiestodisc_copieswill 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 Summarywould all beN/A. - OTP-19253
-
- Related Id(s):
The Kernel application now recognizes the
epmd_moduleanderl_epmd_listen_portparameters, 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
memsupmemory alarm to useavailable_memorywhen 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/1can 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):
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/Aritywould 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). 42The 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/2withkeep_old_filesnow respects thecwdoption. - 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/0type has been updated to clearly show the difference between arawandcookedIoDevice. - OTP-19320
-
- Related Id(s):
Added
json:format_key_value_list/3andjson: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/0andio:standard_error/0. Seeio:setopts/2for 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
covertool 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