``` Patch Package: OTP 27.2 Git Tag: OTP-27.2 Date: 2024-12-11 Trouble Report Id: OTP-19158, OTP-19221, OTP-19223, OTP-19225, OTP-19232, OTP-19234, OTP-19243, OTP-19248, OTP-19253, OTP-19260, OTP-19261, OTP-19264, OTP-19270, OTP-19273, OTP-19280, OTP-19281, OTP-19282, OTP-19283, OTP-19284, OTP-19289, OTP-19292, OTP-19299, OTP-19300, OTP-19301, OTP-19302, OTP-19304, OTP-19305, OTP-19307, OTP-19309, OTP-19310, OTP-19320, OTP-19321, OTP-19322, OTP-19329, OTP-19330, OTP-19331, OTP-19333, OTP-19335, OTP-19338, OTP-19341, OTP-19342, OTP-19344, OTP-19351, OTP-19353, OTP-19360, OTP-19361, OTP-19362, OTP-19368, OTP-19370, OTP-19372, OTP-19373, OTP-19375, OTP-19377, OTP-19379, OTP-19380, OTP-19387 Seq num: ERIERL-1091, ERIERL-1093, ERIERL-1149, ERIERL-1152, ERIERL-1154, GH-7466, GH-8487, GH-8510, GH-8544, GH-8706, GH-8755, GH-8759, GH-8769, GH-8783, GH-8810, GH-8815, GH-8818, GH-8821, GH-8829, GH-8867, GH-8899, GH-8903, GH-8942, GH-8948, GH-8963, GH-8983, GH-8997, GH-9027, GH-9087, PR-8532, PR-8671, PR-8744, PR-8776, PR-8788, PR-8789, PR-8794, PR-8800, PR-8801, PR-8816, PR-8833, PR-8838, PR-8844, PR-8856, PR-8878, PR-8879, PR-8884, PR-8889, PR-8898, PR-8902, PR-8906, PR-8907, PR-8909, PR-8912, PR-8919, PR-8920, PR-8921, PR-8947, PR-8949, PR-8954, PR-8955, PR-8956, PR-8959, PR-8970, PR-8972, PR-8978, PR-8986, PR-8987, PR-9002, PR-9003, PR-9008, PR-9016, PR-9021, PR-9023, PR-9034, PR-9043, PR-9062, PR-9067, PR-9078, PR-9093, PR-9097, PR-9108, PR-9127 System: OTP Release: 27 Application: common_test-1.27.5, compiler-8.5.4, crypto-5.5.2, debugger-5.5, dialyzer-5.3, eldap-1.2.14, erts-15.2, inets-9.3.1, kernel-10.2, megaco-4.7, mnesia-4.23.3, observer-2.17, os_mon-2.10.1, public_key-1.17, snmp-5.18, ssh-5.2.5, ssl-11.2.6, stdlib-6.2, tools-4.1.1 Predecessor: OTP 27.1.3 ``` Check out the git tag OTP-27.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 - The HTTP client now correctly takes into account the `full_result` option when returning an asynchronous request. Own Id: OTP-19158 Application(s): inets # OTP-27.2 ## Improvements and New Features - The `SECURITY.md` file with guidelines for reporting vulnerabilities and security issues has been added to the git repository. Own Id: OTP-19338 Related Id(s): [PR-9023] # 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. ## Fixed Bugs and Malfunctions - Fixed a bug where the sum of testcases' execution time in HTML logs was sometimes miscalculated, and the table was not fully printed. Own Id: OTP-19284 Related Id(s): ERIERL-1093, [PR-8909] > #### 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. ## Fixed Bugs and Malfunctions - Fixed a crash in the common sub-expression elimination pass. Own Id: OTP-19243 Related Id(s): [GH-8818], [PR-8838] - Fixed a bug where bogus code was generated for consecutive calls to `erlang:setelement/2`, potentially crashing the runtime system. Own Id: OTP-19270 Related Id(s): [GH-8783], [PR-8898] - When the `line_coverage` option was used, exceptions could show the wrong line for where the exception was raised. Own Id: OTP-19282 Related Id(s): [PR-8907] - The `line_coverage` option would be ignored if given in a `compile()` attribute within a module. Own Id: OTP-19309 Related Id(s): [GH-8942], [PR-8970] - 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 || <> <= <<0.0/float,BadFloat/binary,42.0/float>>]. [0.0,42.0] ``` Own Id: OTP-19331 Related Id(s): [PR-8978] > #### 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. ## Fixed Bugs and Malfunctions - `crypto:strong_rand_bytes/2` fixed to work on Ubuntu pro with installed FIPS support. Own Id: OTP-19223 Related Id(s): [GH-8769], [PR-8800] - Fixed `crypto:hash_final/1` for digest types `shake128` and `shake256` when using OpenSSL 3.4 or newer. Own Id: OTP-19329 Related Id(s): [GH-8997], [PR-9002] > #### 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. ## Fixed Bugs and Malfunctions - 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. Own Id: OTP-19322 Related Id(s): [GH-8963], [PR-8987] ## Improvements and New Features - Erlang/OTP type specifications has been updated to eliminate overlapping domains. Own Id: OTP-19310 Related Id(s): [GH-8810], [GH-8821], [PR-8986] > #### 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. ## Fixed Bugs and Malfunctions - Fixed type inference for `erlang:system_info(logical_processors)`. Own Id: OTP-19307 Related Id(s): [GH-8948], [PR-8954] - Dialyzer would crash when attempting to analyze a module compiled with the `line_coverage` option. Own Id: OTP-19344 Related Id(s): [GH-9027], [PR-9034] ## Improvements and New Features - Erlang/OTP type specifications has been updated to eliminate overlapping domains. Own Id: OTP-19310 Related Id(s): [GH-8810], [GH-8821], [PR-8986] > #### 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. ## Fixed Bugs and Malfunctions - Corrected dialyzer spec for usage of TLS options. The incorrect usage for the options in `eldap` could cause dialyzer warnings in user code referring to `eldap` specs. Own Id: OTP-19281 Related Id(s): [PR-8906] > #### 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. ## Fixed Bugs and Malfunctions - `gen_sctp:peeloff/2` has been fixed to inherit socket options to the peeled off socket more like `gen_tcp:accept/1`, for example the options `tos` or `tclass`. 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. Own Id: OTP-19225 Related Id(s): [PR-8789] - Fixed a bug where Erlang would corrupt the terminal settings if stdin was a TTY but stdout was not. Own Id: OTP-19232 Related Id(s): [GH-8487], [PR-8794] - 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. Own Id: OTP-19248 Related Id(s): [PR-8856] - Fixed a bug where the loading of modules with extremely large binary construction instructions crashed the emulator on AArch64. Own Id: OTP-19261 Related Id(s): [GH-8815], [PR-8816] - `inet:getifaddrs/0,1` is improved when using inet_backend = socket. Own Id: OTP-19264 - `win32reg:value/2` will no longer crash the emulator when the value is an unterminated REG_SZ of size 0. Own Id: OTP-19283 Related Id(s): [GH-8903], [PR-8912] - `Makefile` dependency generation on Windows in WSL 2 has been corrected. Own Id: OTP-19300 Related Id(s): [PR-8955] - Fix lock order violation if a NIF monitor `down` callback calls `enif_whereis_pid`. Would cause debug emulator to crash but could potentially lead to deadlocks in optimized emulator. Own Id: OTP-19330 Related Id(s): [GH-8983], [PR-9008] - Fixed compilation faults when compiling using `--enable-vm-probes`. Own Id: OTP-19333 - Fixed `erl_nif.h` on Windows to compile when gcc or clang is used. Own Id: OTP-19341 Related Id(s): [PR-9016] - Fixed a minor issue in the JIT debug information that confused tools like GDB and perf. Own Id: OTP-19362 Related Id(s): [PR-9003] ## Improvements and New Features - Improved documentation of [timers]. Own Id: OTP-19360 Related Id(s): ERIERL-1149, [PR-9062] - The label for a process can now be retrieved also using `process_info(Pid, label)` in addition to `proc_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]) ``` Own Id: OTP-19373 Related Id(s): [PR-9108] > #### 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. ## Fixed Bugs and Malfunctions - The HTTP client now correctly takes into account the `full_result` option when returning an asynchronous request. Own Id: OTP-19158 \*\*\* POTENTIAL INCOMPATIBILITY \*\*\* - A synchronous httpc:request now timeouts after the `Timeout` specified in `HttpOption {timeout, Timeout}`. Own Id: OTP-19221 Related Id(s): ERIERL-1091, [PR-8788], [PR-8801] - 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. Own Id: OTP-19379 Related Id(s): [GH-8829], [PR-8878] ## Improvements and New Features - The variable `Env` in the `mod_esi` callback will now have an additional property `{connect_addr, Addr}` indicating on which address the server received a connection. Own Id: OTP-19377 Related Id(s): ERIERL-1152, [PR-9127] > #### 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) ## Fixed Bugs and Malfunctions - `gen_sctp:peeloff/2` has been fixed to inherit socket options to the peeled off socket more like `gen_tcp:accept/1`, for example the options `tos` or `tclass`. 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. Own Id: OTP-19225 Related Id(s): [PR-8789] - Made it possible to expand help text displayed by pressing ^[h by pressing ^[h again. Own Id: OTP-19260 Related Id(s): [PR-8884] - `inet:getifaddrs/0,1` is improved when using inet_backend = socket. Own Id: OTP-19264 - Fixed `logger:report/0` to mandate at least one element in the report. This fixes an issue with overlapping `spec` domains in all [`logger`] functions that use `logger:report/0`. Own Id: OTP-19302 Related Id(s): [PR-8959] - Fixed deadlock on `code_server`. Multiple calls loading the same module with an `on_load` function loading call would create a deadlock. Own Id: OTP-19305 Related Id(s): [GH-7466], [GH-8510], [PR-8744] ## Improvements and New Features - The Kernel application now recognizes the `epmd_module` and `erl_epmd_listen_port` parameters, similar to `-kernel:connect_all`. Own Id: OTP-19253 Related Id(s): [PR-8671] - 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. Own Id: OTP-19280 Related Id(s): [GH-8899], [PR-8902] - The `file:io_device/0` type has been updated to clearly show the difference between a `raw` and `cooked` IoDevice. Own Id: OTP-19301 Related Id(s): [PR-8956] - Erlang/OTP type specifications has been updated to eliminate overlapping domains. Own Id: OTP-19310 Related Id(s): [GH-8810], [GH-8821], [PR-8986] - Added the kernel parameter [`os_cmd_shell`] that controls which shell should be used by `os:cmd/1`. Own Id: OTP-19342 Related Id(s): [PR-8972] - Added logging support to `io:user/0`, `io:standard_io/0` and `io:standard_error/0`. See `io:setopts/2` for more details. Own Id: OTP-19372 Related Id(s): [PR-8947] > #### 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. ## Improvements and New Features - Erlang/OTP type specifications has been updated to eliminate overlapping domains. Own Id: OTP-19310 Related Id(s): [GH-8810], [GH-8821], [PR-8986] > #### 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. ## Fixed Bugs and Malfunctions - Mnesia table converted from `ext_copies` to `disc_copies` will now be properly saved to disk. Own Id: OTP-19292 Related Id(s): [GH-8706], [PR-8921] - Mnesia could crash if table was deleted during checkpoint initialization. Own Id: OTP-19368 Related Id(s): ERIERL-1154, [PR-9093] > #### 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. ## Fixed Bugs and Malfunctions - In the Memory tab of `crashdump_viewer`, the blocks sizes in `Allocator Summary` would all be `N/A`. Own Id: OTP-19353 Related Id(s): [PR-8532] ## Improvements and New Features - The Kernel application now recognizes the `epmd_module` and `erl_epmd_listen_port` parameters, similar to `-kernel:connect_all`. Own Id: OTP-19253 Related Id(s): [PR-8671] > #### 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. ## Fixed Bugs and Malfunctions - Fixed the [`memsup`] memory alarm to use `available_memory` when available, instead of always using `free_memory`. Own Id: OTP-19304 Related Id(s): [GH-8759], [PR-8776] > #### 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. ## Improvements and New Features - `public_key:cacerts_load/1` can now be configured via the application environment. Own Id: OTP-19321 Related Id(s): [PR-8920] - On MacOS, CA certificates are now also loaded from the system keychain. Own Id: OTP-19375 Related Id(s): [PR-8844] > #### 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. ## Improvements and New Features - Erlang/OTP type specifications has been updated to eliminate overlapping domains. Own Id: OTP-19310 Related Id(s): [GH-8810], [GH-8821], [PR-8986] > #### 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. ## Fixed Bugs and Malfunctions - Documentation is polished after OTP-27 migration to markdown. Own Id: OTP-19335 Related Id(s): [PR-9021] > #### 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) ## Improvements and New Features - Enhanced return value spec for active messages from the TLS connection socket. Own Id: OTP-19387 Related Id(s): [PR-9067] > #### 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. ## Fixed Bugs and Malfunctions - Made it possible to expand help text displayed by pressing ^[h by pressing ^[h again. Own Id: OTP-19260 Related Id(s): [PR-8884] - 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. Own Id: OTP-19322 Related Id(s): [GH-8963], [PR-8987] - Fixed a bug where completion of 'fun(' would cause the shell to crash. Own Id: OTP-19351 Related Id(s): [PR-9043] - 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(. Own Id: OTP-19361 Related Id(s): [PR-9078] - `zip:extract/2` with `keep_old_files` now respects the `cwd` option. Own Id: OTP-19370 Related Id(s): [GH-9087], [PR-9097] - Fixed an error in uri_string:percent_decode spec Own Id: OTP-19380 Related Id(s): [GH-8755] ## Improvements and New Features - 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. ``` Own Id: OTP-19234 Related Id(s): [GH-8544], [PR-8833] - The `file:io_device/0` type has been updated to clearly show the difference between a `raw` and `cooked` IoDevice. Own Id: OTP-19301 Related Id(s): [PR-8956] - Added `json:format_key_value_list/3` and `json:format_key_value_list_checked/3`. Own Id: OTP-19320 Related Id(s): [PR-8889] - Improved documentation of [timers]. Own Id: OTP-19360 Related Id(s): ERIERL-1149, [PR-9062] - Added logging support to `io:user/0`, `io:standard_io/0` and `io:standard_error/0`. See `io:setopts/2` for more details. Own Id: OTP-19372 Related Id(s): [PR-8947] > #### 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. ## Fixed Bugs and Malfunctions - Fixed some deprecated errors on emacs-29. Own Id: OTP-19273 Related Id(s): [PR-8879] - The `cover` tool could sometimes wrongly report lines as uncovered. Own Id: OTP-19289 Related Id(s): [GH-8867], [PR-8919] - Fixed `tprof:format(IoDevice, ...)` to not demand unicode encoding supported by `IoDevice`. Own Id: OTP-19299 Related Id(s): [PR-8949] > #### 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 [GH-7466]: https://github.com/erlang/otp/issues/7466 [GH-8487]: https://github.com/erlang/otp/issues/8487 [GH-8510]: https://github.com/erlang/otp/issues/8510 [GH-8544]: https://github.com/erlang/otp/issues/8544 [GH-8706]: https://github.com/erlang/otp/issues/8706 [GH-8755]: https://github.com/erlang/otp/issues/8755 [GH-8759]: https://github.com/erlang/otp/issues/8759 [GH-8769]: https://github.com/erlang/otp/issues/8769 [GH-8783]: https://github.com/erlang/otp/issues/8783 [GH-8810]: https://github.com/erlang/otp/issues/8810 [GH-8815]: https://github.com/erlang/otp/issues/8815 [GH-8818]: https://github.com/erlang/otp/issues/8818 [GH-8821]: https://github.com/erlang/otp/issues/8821 [GH-8829]: https://github.com/erlang/otp/issues/8829 [GH-8867]: https://github.com/erlang/otp/issues/8867 [GH-8899]: https://github.com/erlang/otp/issues/8899 [GH-8903]: https://github.com/erlang/otp/issues/8903 [GH-8942]: https://github.com/erlang/otp/issues/8942 [GH-8948]: https://github.com/erlang/otp/issues/8948 [GH-8963]: https://github.com/erlang/otp/issues/8963 [GH-8983]: https://github.com/erlang/otp/issues/8983 [GH-8997]: https://github.com/erlang/otp/issues/8997 [GH-9027]: https://github.com/erlang/otp/issues/9027 [GH-9087]: https://github.com/erlang/otp/issues/9087 [PR-8532]: https://github.com/erlang/otp/pull/8532 [PR-8671]: https://github.com/erlang/otp/pull/8671 [PR-8744]: https://github.com/erlang/otp/pull/8744 [PR-8776]: https://github.com/erlang/otp/pull/8776 [PR-8788]: https://github.com/erlang/otp/pull/8788 [PR-8789]: https://github.com/erlang/otp/pull/8789 [PR-8794]: https://github.com/erlang/otp/pull/8794 [PR-8800]: https://github.com/erlang/otp/pull/8800 [PR-8801]: https://github.com/erlang/otp/pull/8801 [PR-8816]: https://github.com/erlang/otp/pull/8816 [PR-8833]: https://github.com/erlang/otp/pull/8833 [PR-8838]: https://github.com/erlang/otp/pull/8838 [PR-8844]: https://github.com/erlang/otp/pull/8844 [PR-8856]: https://github.com/erlang/otp/pull/8856 [PR-8878]: https://github.com/erlang/otp/pull/8878 [PR-8879]: https://github.com/erlang/otp/pull/8879 [PR-8889]: https://github.com/erlang/otp/pull/8889 [PR-8898]: https://github.com/erlang/otp/pull/8898 [PR-8902]: https://github.com/erlang/otp/pull/8902 [PR-8906]: https://github.com/erlang/otp/pull/8906 [PR-8907]: https://github.com/erlang/otp/pull/8907 [PR-8909]: https://github.com/erlang/otp/pull/8909 [PR-8912]: https://github.com/erlang/otp/pull/8912 [PR-8919]: https://github.com/erlang/otp/pull/8919 [PR-8920]: https://github.com/erlang/otp/pull/8920 [PR-8921]: https://github.com/erlang/otp/pull/8921 [PR-8947]: https://github.com/erlang/otp/pull/8947 [PR-8949]: https://github.com/erlang/otp/pull/8949 [PR-8954]: https://github.com/erlang/otp/pull/8954 [PR-8955]: https://github.com/erlang/otp/pull/8955 [PR-8956]: https://github.com/erlang/otp/pull/8956 [PR-8959]: https://github.com/erlang/otp/pull/8959 [PR-8970]: https://github.com/erlang/otp/pull/8970 [PR-8972]: https://github.com/erlang/otp/pull/8972 [PR-8978]: https://github.com/erlang/otp/pull/8978 [PR-8986]: https://github.com/erlang/otp/pull/8986 [PR-8987]: https://github.com/erlang/otp/pull/8987 [PR-9002]: https://github.com/erlang/otp/pull/9002 [PR-9003]: https://github.com/erlang/otp/pull/9003 [PR-9008]: https://github.com/erlang/otp/pull/9008 [PR-9016]: https://github.com/erlang/otp/pull/9016 [PR-9021]: https://github.com/erlang/otp/pull/9021 [PR-9023]: https://github.com/erlang/otp/pull/9023 [PR-9034]: https://github.com/erlang/otp/pull/9034 [PR-9043]: https://github.com/erlang/otp/pull/9043 [PR-9062]: https://github.com/erlang/otp/pull/9062 [PR-9067]: https://github.com/erlang/otp/pull/9067 [PR-9078]: https://github.com/erlang/otp/pull/9078 [PR-9093]: https://github.com/erlang/otp/pull/9093 [PR-9097]: https://github.com/erlang/otp/pull/9097 [PR-9108]: https://github.com/erlang/otp/pull/9108 [PR-9127]: https://github.com/erlang/otp/pull/9127 [`logger`]: https://erlang.org/doc/man/logger [`memsup`]: https://erlang.org/doc/man/memsup [`os_cmd_shell`]: kernel_app.md#os_cmd_shell [h by pressing ^[h again. Own Id: OTP-19260 Related Id(s): [PR-8884]: https://github.com/erlang/otp/pull/8884 [timers]: https://erlang.org/doc/apps/erts/time_correction.html#timers