diff options
author | Loïc Hoguin <[email protected]> | 2025-01-14 13:18:34 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2025-01-14 13:18:34 +0100 |
commit | 1bdf6b0e2f6d913ff5854a093ba2541123be3267 (patch) | |
tree | f38b4f05ff4da88470f4adfd5a15788c5ccb9e93 | |
parent | e1beb81ca65383e247171035e8b7a5db8e94538f (diff) | |
download | ci.erlang.mk-1bdf6b0e2f6d913ff5854a093ba2541123be3267.tar.gz ci.erlang.mk-1bdf6b0e2f6d913ff5854a093ba2541123be3267.tar.bz2 ci.erlang.mk-1bdf6b0e2f6d913ff5854a093ba2541123be3267.zip |
OTP-27.2
-rw-r--r-- | early-plugins.mk | 5 | ||||
-rw-r--r-- | release-notes/OTP-27.2.README.txt | 766 |
2 files changed, 769 insertions, 2 deletions
diff --git a/early-plugins.mk b/early-plugins.mk index 16b75d7..85f7d77 100644 --- a/early-plugins.mk +++ b/early-plugins.mk @@ -21,7 +21,7 @@ OTP-23 := OTP-23.0.4 OTP-23.1.5 OTP-23.2.7.3 OTP-23.3.4.20 OTP-24 := OTP-24.0.6 OTP-24.1.7 OTP-24.2.2 OTP-24.3.4.17 OTP-25 := OTP-25.0.4 OTP-25.1.2.1 OTP-25.2.3 OTP-25.3.2.15 OTP-26 := OTP-26.0.2 OTP-26.1.2 OTP-26.2.5.5 -OTP-27 := OTP-27.0.1 OTP-27.1.3 +OTP-27 := OTP-27.0.1 OTP-27.1.3 OTP-27.2 OTP-18+ := $(OTP-18) $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27) OTP-19+ := $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27) @@ -120,7 +120,8 @@ OTP-25-DROPPED := OTP-25.0-rc1 OTP-25.0-rc2 OTP-25.0-rc3 OTP-25.0 \ OTP-25.3.2.3 OTP-25.3.2.4 OTP-25.3.2.5 OTP-25.3.2.6 OTP-25.3.2.7 OTP-25.3.2.8 OTP-25.3.2.9 OTP-25.3.2.10 OTP-25.3.2.11 OTP-25.3.2.12 OTP-25.3.2.13 OTP-25.3.2.14 OTP-26-DROPPED := OTP-26.0-rc3 \ OTP-26.0 OTP-26.0.1 OTP-26.1 OTP-26.1.1 OTP-26.2 OTP-26.2.1 OTP-26.2.2 OTP-26.2.3 OTP-26.2.4 OTP-26.2.5 OTP-26.2.5.1 OTP-26.2.5.2 OTP-26.2.5.3 OTP-26.2.5.4 -OTP-27-DROPPED := OTP-27.0-rc1 OTP-27.0-rc2 +OTP-27-DROPPED := OTP-27.0-rc1 OTP-27.0-rc2 \ + OTP-27.1.2 OTP-DROPPED := $(OTP-18-DROPPED) $(OTP-19-DROPPED) $(OTP-20-DROPPED) \ $(OTP-21-DROPPED) $(OTP-22-DROPPED) $(OTP-23-DROPPED) $(OTP-24-DROPPED) diff --git a/release-notes/OTP-27.2.README.txt b/release-notes/OTP-27.2.README.txt new file mode 100644 index 0000000..3e8544e --- /dev/null +++ b/release-notes/OTP-27.2.README.txt @@ -0,0 +1,766 @@ +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 || <<X:64/float>> <= <<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, dependabotbot, 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 + |