From 088184a313cfc6ece0ec386f947fb8cd9008d32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 14 Mar 2019 09:50:54 +0100 Subject: OTP-21.3 --- early-plugins.mk | 5 +- release-notes/OTP-21.3.README.txt | 1203 +++++++++++++++++++++++++++++++++++++ 2 files changed, 1206 insertions(+), 2 deletions(-) create mode 100644 release-notes/OTP-21.3.README.txt diff --git a/early-plugins.mk b/early-plugins.mk index 734c831..df01eb8 100644 --- a/early-plugins.mk +++ b/early-plugins.mk @@ -26,7 +26,7 @@ OTP-18 := OTP-18.0.3 OTP-18.1.5 OTP-18.2.4 OTP-18.3.4.11 OTP-19 := OTP-19.0.7 OTP-19.1.6 OTP-19.2.3 OTP-19.3.6.13 OTP-20 := OTP-20.0.5 OTP-20.1.7 OTP-20.2.4 OTP-20.3.8.20 -OTP-21 := OTP-21.0.9 OTP-21.1.4 OTP-21.2.7 +OTP-21 := OTP-21.0.9 OTP-21.1.4 OTP-21.2.7 OTP-21.3 OTP-22 := OTP-22.0-rc1 OTP-18+ := $(OTP-18) $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) @@ -133,7 +133,7 @@ ifeq ($(PLATFORM),msys2) WINDOWS-OTP-18 := 18.0 18.1 18.2.1 18.3 WINDOWS-OTP-19 := 19.0 19.1 19.2 19.3 WINDOWS-OTP-20 := 20.0 20.1 20.2 20.3 -WINDOWS-OTP-21 := 21.0.1 21.1 21.2 +WINDOWS-OTP-21 := 21.0.1 21.1 21.2 21.3 WINDOWS-OTP-18+ := $(WINDOWS-OTP-18) $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) WINDOWS-OTP-19+ := $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) @@ -162,6 +162,7 @@ WINDOWS-OTP-20.3-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl9.3/bin) WINDOWS-OTP-21.0.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl10.0.1/bin) WINDOWS-OTP-21.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl10.1/bin) WINDOWS-OTP-21.2-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl10.2/bin) +WINDOWS-OTP-21.3-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl10.3/bin) # We have to duplicate this for it to work as # it is not yet defined when we define this. diff --git a/release-notes/OTP-21.3.README.txt b/release-notes/OTP-21.3.README.txt new file mode 100644 index 0000000..3158ddb --- /dev/null +++ b/release-notes/OTP-21.3.README.txt @@ -0,0 +1,1203 @@ +Patch Package: OTP 21.3 +Git Tag: OTP-21.3 +Date: 2019-03-12 +Trouble Report Id: OTP-14702, OTP-15229, OTP-15298, OTP-15369, + OTP-15375, OTP-15398, OTP-15423, OTP-15442, + OTP-15445, OTP-15447, OTP-15460, OTP-15479, + OTP-15484, OTP-15490, OTP-15493, OTP-15494, + OTP-15498, OTP-15502, OTP-15503, OTP-15508, + OTP-15514, OTP-15518, OTP-15519, OTP-15527, + OTP-15529, OTP-15539, OTP-15540, OTP-15541, + OTP-15542, OTP-15545, OTP-15552, OTP-15553, + OTP-15555, OTP-15556, OTP-15557, OTP-15558, + OTP-15561, OTP-15562, OTP-15567, OTP-15569, + OTP-15570, OTP-15572, OTP-15576, OTP-15577, + OTP-15578, OTP-15580, OTP-15583, OTP-15584, + OTP-15586, OTP-15587, OTP-15592, OTP-15599, + OTP-15600, OTP-15601, OTP-15602, OTP-15604, + OTP-15605, OTP-15619, OTP-15624, OTP-15625, + OTP-15629, OTP-15630, OTP-15634, OTP-15637, + OTP-15639, OTP-15642, OTP-15650, OTP-15657, + OTP-15659, OTP-15660, OTP-15662, OTP-15663, + OTP-15665, OTP-15666, OTP-15667, OTP-15669, + OTP-15670 +Seq num: ERIERL-203, ERIERL-231, ERIERL-258, + ERIERL-282, ERIERL-298, ERIERL-302, + ERIERL-310, ERIERL-316, ERIERL-321, ERL-725, + ERL-774, ERL-808, ERL-810, ERL-811, ERL-815, + ERL-816, ERL-818, ERL-822, ERL-829, ERL-838, + ERL-841, ERL-843, ERL-845, ERL-848, ERL-850, + ERL-851, ERL-854, ERL-869 +System: OTP +Release: 21 +Application: common_test-1.17, compiler-7.3.2, + crypto-4.4.1, dialyzer-3.3.2, diameter-2.2, + edoc-0.10, erl_docgen-0.9, + erl_interface-3.11, erts-10.3, ftp-1.0.2, + hipe-3.18.3, inets-7.0.6, kernel-6.3, + mnesia-4.15.6, observer-2.9, odbc-2.12.3, + public_key-1.6.5, runtime_tools-1.13.2, + ssh-4.7.4, ssl-9.2, stdlib-3.8, + syntax_tools-2.1.7, tools-3.1, wx-1.8.7 +Predecessor: OTP 21.2.7 + + Check out the git tag OTP-21.3, 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-15423 Application(s): ssl + + *** POTENTIAL INCOMPATIBILITY *** + + The Reason part of of the error return from the + functions connect and handshake has a better and + documented format. This will sometimes differ from + previous returned reasons, however those where only + documented as term() and should for that reason not be + relied on. + + + OTP-15442 Application(s): erl_interface + Related Id(s): ERIERL-258 + + Support for plugin of a user supplied socket + implementation has been added. + + + OTP-15445 Application(s): ssl + + Refactor of state handling to improve TLS application + data throughput and reduce CPU overhead + + + OTP-15460 Application(s): erl_docgen, otp + + The HTML reference documentation shows the OTP version + where modules and functions were first introduced. + Versions older than R13B04 are not shown. + + + OTP-15529 Application(s): ssl + + The SSL code has been optimized in many small ways to + reduce CPU load for encryption/decryption, especially + for Erlang's distribution protocol over TLS. + + + OTP-15665 Application(s): ssl + Related Id(s): ERL-811, PR-2072 + + Add support for active N + + + --------------------------------------------------------------------- + --- POTENTIAL INCOMPATIBILITIES ------------------------------------- + --------------------------------------------------------------------- + + OTP-15423 Application(s): ssl + + *** HIGHLIGHT *** + + The Reason part of of the error return from the + functions connect and handshake has a better and + documented format. This will sometimes differ from + previous returned reasons, however those where only + documented as term() and should for that reason not be + relied on. + + + OTP-15662 Application(s): kernel + + Handler specific configuration parameters for the + standard handler logger_std_h are changed to be more + intuitive and more similar to the disk_log handler. + + Earlier there was only one parameter, type, which could + have the values standard_io, standard_error, + {file,FileName} or {file,FileName,Modes}. + + This is now changed, so the following parameters are + allowed: + + type = standard_io | standard_error | file + file = file:filename() + modes = [file:mode()] + + All parameters are optional. type defaults to + standard_io, unless a file name is given, in which case + it defaults to file. If type is set to file, the file + name defaults to the same as the handler id. + + The potential incompatibility is that + logger:get_config/0 and logger:get_handler_config/1 now + returns the new parameters, even if the configuration + was set with the old variant, e.g. + #{type=>{file,FileName}}. + + + --------------------------------------------------------------------- + --- OTP-21.3 -------------------------------------------------------- + --------------------------------------------------------------------- + + --- Fixed Bugs and Malfunctions --- + + OTP-15657 Application(s): erts, otp, tools + + Minor fixes for make clean. + + + --- Improvements and New Features --- + + OTP-15460 Application(s): erl_docgen, otp + + *** HIGHLIGHT *** + + The HTML reference documentation shows the OTP version + where modules and functions were first introduced. + Versions older than R13B04 are not shown. + + + --------------------------------------------------------------------- + --- common_test-1.17 ------------------------------------------------ + --------------------------------------------------------------------- + + The common_test-1.17 application can be applied independently of + other applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15540 Application(s): common_test + + A bug caused ct:encrypt_config_file/3 and + ct:decrypt_config_file/3 to fail with badmatch if input + parameter KeyOrFile was {key,string()}. This is now + corrected. + + + OTP-15584 Application(s): common_test + Related Id(s): ERIERL-282 + + The status of a test case which failed with timetrap + timeout in end_per_testcase could not be modified by + returning {fail,Reason} from a post_end_per_testcase + hook function. This is now corrected. + + + --- Improvements and New Features --- + + OTP-15229 Application(s): common_test + Related Id(s): ERIERL-203 + + A new variant of the newline option to ct_telnet:cmd/3 + and ct_telnet:send/3 is added, which allows to specify + a string to append as newline indicator on a command. + By default, the value is "\n", but in some cases it is + required to be "\r\n", which this option allows. + + A faulty regular expression given as parameter to + ct_telnet:expect/2,3 would earlier crash and look like + an internal error in common_test. A better error + indication is now given, but the test case will still + fail. + + + OTP-15298 Application(s): common_test + + Since the yang RFC allows more than one top element of + config data in an edit-config element, + ct_netconfc:edit_config/3,4,5 can now take a list of + XML elements. + + + Full runtime dependencies of common_test-1.17: compiler-6.0, + crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0, + observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0, + stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8 + + + --------------------------------------------------------------------- + --- compiler-7.3.2 -------------------------------------------------- + --------------------------------------------------------------------- + + The compiler-7.3.2 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15518 Application(s): compiler + Related Id(s): ERL-829 + + An expression such as (A / B) band 16#ff would crash + the compiler. + + + OTP-15552 Application(s): compiler + Related Id(s): ERL-838 + + There could be an incorrect warning when the + tuple_calls option was given. The generated code would + be correct. Here is an example of code that would + trigger the warning: + + (list_to_atom("prefix_" ++ + atom_to_list(suffix))):doit(X). + + + OTP-15577 Application(s): compiler, dialyzer + Related Id(s): ERL-851, PR-1944, PR-2141 + + Optimize (again) Dialyzer's handling of + left-associative use of andalso and orelse in guards. + + + Full runtime dependencies of compiler-7.3.2: crypto-3.6, erts-9.0, + hipe-3.12, kernel-4.0, stdlib-2.5 + + + --------------------------------------------------------------------- + --- crypto-4.4.1 ---------------------------------------------------- + --------------------------------------------------------------------- + + The crypto-4.4.1 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15634 Application(s): crypto + + Fixes a bug that caused crypto:sign and crypto:verify + to return the error message badarg instead of notsup in + one case. That case was when signing or verifying with + eddsa keys (that is, ed15519 or ed448), but only when + FIPS was supported and enabled. + + + --- Improvements and New Features --- + + OTP-15447 Application(s): crypto + + Added a crypto benchmark test suite. + + + Full runtime dependencies of crypto-4.4.1: erts-9.0, kernel-5.3, + stdlib-3.4 + + + --------------------------------------------------------------------- + --- dialyzer-3.3.2 -------------------------------------------------- + --------------------------------------------------------------------- + + The dialyzer-3.3.2 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15562 Application(s): dialyzer + Related Id(s): ERL-845 + + Fix a bug that caused Dialyzer to crash when analyzing + a contract with a module name differing from the + analyzed module's name. The bug was introduced in + Erlang/OTP 18. + + + OTP-15570 Application(s): dialyzer, hipe + + Fix a bug in the handling of the Key argument of + lists:{keysearch, keyfind, keymember}. + + + OTP-15577 Application(s): compiler, dialyzer + Related Id(s): ERL-851, PR-1944, PR-2141 + + Optimize (again) Dialyzer's handling of + left-associative use of andalso and orelse in guards. + + + Full runtime dependencies of dialyzer-3.3.2: compiler-7.0, erts-9.0, + hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2 + + + --------------------------------------------------------------------- + --- diameter-2.2 ---------------------------------------------------- + --------------------------------------------------------------------- + + The diameter-2.2 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15569 Application(s): diameter + Related Id(s): ERIERL-302 + + Fix failure of incoming answer message with faulty + Experimental-Result-Code. Failure to decode the AVP + resulted in an uncaught exception, with no no + handle_answer/error callback as a consequence. + + + --- Improvements and New Features --- + + OTP-15398 Application(s): diameter + + Add spawn_opt MFA configuration to allow a callback to + spawn a handler process for an incoming Diameter + request on an an arbitrary node. Module diameter_dist + provides a route_session/2 that can be used to + distribute requests based on Session-Id, although this + module is currently only documented in the module + itself and may change. + + + Full runtime dependencies of diameter-2.2: erts-10.0, kernel-3.2, + ssl-9.0, stdlib-2.4 + + + --------------------------------------------------------------------- + --- edoc-0.10 ------------------------------------------------------- + --------------------------------------------------------------------- + + The edoc-0.10 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Improvements and New Features --- + + OTP-15605 Application(s): edoc + Related Id(s): ERL-841 + + Print a helpful message explaining that adding + {preprocess, true} can help if reading a source file + fails. + + + Full runtime dependencies of edoc-0.10: erts-6.0, inets-5.10, + kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7 + + + --------------------------------------------------------------------- + --- erl_docgen-0.9 -------------------------------------------------- + --------------------------------------------------------------------- + + The erl_docgen-0.9 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Improvements and New Features --- + + OTP-15460 Application(s): erl_docgen, otp + + *** HIGHLIGHT *** + + The HTML reference documentation shows the OTP version + where modules and functions were first introduced. + Versions older than R13B04 are not shown. + + + OTP-15637 Application(s): erl_docgen + Related Id(s): PR-2160 + + Make html documentation of C functions with many + arguments more readable. + + + Full runtime dependencies of erl_docgen-0.9: edoc-0.7.13, erts-9.0, + stdlib-3.4, xmerl-1.3.7 + + + --------------------------------------------------------------------- + --- erl_interface-3.11 ---------------------------------------------- + --------------------------------------------------------------------- + + The erl_interface-3.11 application can be applied independently of + other applications on a full OTP 21 installation. + + --- Improvements and New Features --- + + OTP-15442 Application(s): erl_interface + Related Id(s): ERIERL-258 + + *** HIGHLIGHT *** + + Support for plugin of a user supplied socket + implementation has been added. + + + --------------------------------------------------------------------- + --- erts-10.3 ------------------------------------------------------- + --------------------------------------------------------------------- + + Note! The erts-10.3 application can *not* be applied independently of + other applications on an arbitrary OTP 21 installation. + + On a full OTP 21 installation, also the following runtime + dependencies have to be satisfied: + -- kernel-6.1 (first satisfied in OTP 21.1) + -- sasl-3.3 (first satisfied in OTP 21.2) + + + --- Fixed Bugs and Malfunctions --- + + OTP-15484 Application(s): erts + + When multiplying a number by itself, a word beyond the + number on the heap could be read (and ignored). This + bug was extremely unlikely to actually cause a real + problem. + + + OTP-15490 Application(s): erts, kernel + + Fix bug where doing seq_trace:reset_trace() while + another process was doing a garbage collection could + cause the run-time system to segfault. + + + OTP-15494 Application(s): erts + + Fix reading of ancillary data from packet oriented + sockets on old Linux kernel versions. Without this fix, + getting the data would cause the port to enter an + infinite loop. + + + OTP-15527 Application(s): erts + + Fix bug where crash dumping or doing + erlang:system_info(procs) while another process was + doing a garbage collection could cause the run-time + system to segfault. + + + OTP-15556 Application(s): erts + + Fix erlang:system_info(kernel_poll) to return correct + value. Before this fix, the call always returned false. + + + OTP-15567 Application(s): erts + + Fix bug in enif_make_map_from_arrays that would produce + broken maps when number of keys were 32. Bug exists + since OTP 21.0. + + + OTP-15583 Application(s): erts + Related Id(s): PR-2118 + + Fix a bug in binary:encode_unsigned that may cause a + read of uninitialized memory. + + The bug existed since the function was added (OTP + R16B02). + + + OTP-15599 Application(s): erts + Related Id(s): ERIERL-298 + + Fixed a bug that could cause heart to kill an exiting + node before it had time to flush all buffered writes. + If environment variable HEART_KILL_SIGNAL=SIGABRT was + set a superfluous core dump could also be generated. + + + OTP-15604 Application(s): erts + + Fix enif_consume_timeslice to be a no-op on dirty + scheduler and not crash debug compiled emulator. + + + OTP-15629 Application(s): erts + + Fixed macro redefinition warnings. + + + OTP-15650 Application(s): erts + Related Id(s): ERL-854, PR-2161 + + to_erl fixed to not garble terminal input beyond 7-bit + ASCII. + + + OTP-15657 Application(s): erts, otp, tools + + Minor fixes for make clean. + + + OTP-15660 Application(s): erts + Related Id(s): ERL-869 + + Fixed a bug in all ets:select* and ets:match* functions + that could in some rare cases lead to very poor + performance. + + + --- Improvements and New Features --- + + OTP-15375 Application(s): erts + + Add erlang:system_flag(system_logger, Pid) and + erlang:system_info(system_logger). This system_flag can + be used to set the process that will receive the + logging messages generated by ERTS. + + + OTP-15503 Application(s): erts + Related Id(s): PR-2052 + + integer_to_list/2 and integer_to_binary/2 are now + implemented in C, improving their performance. + + + OTP-15514 Application(s): erts + Related Id(s): ERL-774 + + Improved term_to_binary to do more fair reduction count + and yielding when encoding large byte lists (strings). + + + OTP-15555 Application(s): erts + Related Id(s): ERIERL-231 + + Made internal port drivers more robust against + erlang:port_control with invalid arguments and added + documentation warnings about such abuse. + + + OTP-15558 Application(s): erts + Related Id(s): ERL-725 + + Fix bug on NetBSD where the exit_status from a port + program would never be sent. + + + OTP-15576 Application(s): erts + Related Id(s): ERL-843 + + There is a new function persistent:term(Key, Default) + to allow specifying a default when looking up a + persistent term. + + + OTP-15580 Application(s): erts + Related Id(s): PR-2113 + + A transitory emulator option '+ztma true' has been + added to allow running existing BEAM code that relies + on "tuple calls" (dispatch on parameterized modules) + which has been compiled under OTP 20 or earlier. This + option will be removed in OTP 22, so such modules + should eventually be recompiled with the +tuple_calls + option. + + + Full runtime dependencies of erts-10.3: kernel-6.1, sasl-3.3, + stdlib-3.5 + + + --------------------------------------------------------------------- + --- ftp-1.0.2 ------------------------------------------------------- + --------------------------------------------------------------------- + + The ftp-1.0.2 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15659 Application(s): ftp + Related Id(s): ERIERL-316 + + Fixed timing related bug that could make ftp functions + behave badly. + + + Full runtime dependencies of ftp-1.0.2: erts-7.0, kernel-6.0, + stdlib-3.5 + + + --------------------------------------------------------------------- + --- hipe-3.18.3 ----------------------------------------------------- + --------------------------------------------------------------------- + + The hipe-3.18.3 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15570 Application(s): dialyzer, hipe + + Fix a bug in the handling of the Key argument of + lists:{keysearch, keyfind, keymember}. + + + Full runtime dependencies of hipe-3.18.3: compiler-5.0, erts-9.3, + kernel-5.3, stdlib-3.4, syntax_tools-1.6.14 + + + --------------------------------------------------------------------- + --- inets-7.0.6 ----------------------------------------------------- + --------------------------------------------------------------------- + + The inets-7.0.6 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15669 Application(s): inets + Related Id(s): ERIERL-321 + + Fix the internal handling of the option + erl_script_timeout in httpd. When httpd was started + with explicit erl_script_timeout, the value of the + option was converted to milliseconds before storage. + Subsequent calls to httpd:info/1 returned the input + value multiplied by 1000. + + This change fixes the handing of erl_script_timeout by + storing the timeout in seconds and converting to + milliseconds before usage. + + + --- Improvements and New Features --- + + OTP-15508 Application(s): inets + Related Id(s): ERL-816 + + Enhance documentation + + + Full runtime dependencies of inets-7.0.6: erts-6.0, kernel-3.0, + mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5 + + + --------------------------------------------------------------------- + --- kernel-6.3 ------------------------------------------------------ + --------------------------------------------------------------------- + + Note! The kernel-6.3 application can *not* be applied independently + of other applications on an arbitrary OTP 21 installation. + + On a full OTP 21 installation, also the following runtime + dependency has to be satisfied: + -- erts-10.2.5 (first satisfied in OTP 21.2.7) + + + --- Fixed Bugs and Malfunctions --- + + OTP-14702 Application(s): kernel + Related Id(s): PR-2066 + + If for example the /etc/hosts did not come into + existence until after the kernel application had + started, its content was never read. This bug has now + been corrected. + + + OTP-15490 Application(s): erts, kernel + + Fix bug where doing seq_trace:reset_trace() while + another process was doing a garbage collection could + cause the run-time system to segfault. + + + OTP-15557 Application(s): kernel + Related Id(s): PR-2117 + + Fix erl_epmd:port_please spec to include atom() and + string(). + + + OTP-15578 Application(s): kernel + Related Id(s): ERL-850 + + The Logger handler logger_std_h now keeps track of the + inode of its log file in order to re-open the file if + the inode changes. This may happen, for instance, if + the log file is opened and saved by an editor. + + + OTP-15602 Application(s): kernel + + When user specific file modes are given to the logger + handler logger_std_h, they were earlier accepted + without any control. This is now changes, so Logger + will adjust the file modes as follows: + + - If raw is not found in the list, it is added. + - If none of write, append or exclusive are found in + the list, append is added. + - If none of delayed_write or + {delayed_write,Size,Delay} are found in the list, + delayed_write is added. + + + --- Improvements and New Features --- + + OTP-15479 Application(s): kernel + + The standard logger handler, logger_std_h, now has a + new internal feature for log rotation. The rotation + scheme is as follows: + + The log file to which the handler currently writes + always has the same name, i.e. the name which is + configured for the handler. The archived files have the + same name, but with extension ".N", where N is an + integer. The newest archive has extension ".0", and the + oldest archive has the highest number. + + The size at which the log file is rotated, and the + number of archive files that are kept, is specified + with the handler specific configuration parameters + max_no_bytes and max_no_files respectively. + + Archives can be compressed, in which case they get a + ".gz" file extension after the integer. Compression is + specified with the handler specific configuration + parameter compress_on_rotate. + + + OTP-15600 Application(s): kernel + + The new functions logger:i/0 and logger:i/1 are added. + These provide the same information as + logger:get_config/0 and other logger:get_*_config + functions, but the information is more logically sorted + and more readable. + + + OTP-15601 Application(s): kernel + + Logger is now protected against overload due to massive + amounts of log events from the emulator or from remote + nodes. + + + OTP-15625 Application(s): kernel + + Logger now uses os:system_time/1 instead of + erlang:system_time/1 to generate log event timestamps. + + + OTP-15642 Application(s): kernel + Related Id(s): PR-2164 + + Add functions application:set_env/1,2 and + application:set_env/2. These take a list of application + configuration parameters, and the behaviour is + equivalent to calling application:set_env/4 + individually for each application/key combination, + except it is more efficient. + + set_env/1,2 warns about duplicated applications or + keys. The warning is also emitted during boot, if + applications or keys are duplicated within one + configuration file, e.g. sys.config. + + + OTP-15662 Application(s): kernel + + *** POTENTIAL INCOMPATIBILITY *** + + Handler specific configuration parameters for the + standard handler logger_std_h are changed to be more + intuitive and more similar to the disk_log handler. + + Earlier there was only one parameter, type, which could + have the values standard_io, standard_error, + {file,FileName} or {file,FileName,Modes}. + + This is now changed, so the following parameters are + allowed: + + type = standard_io | standard_error | file + file = file:filename() + modes = [file:mode()] + + All parameters are optional. type defaults to + standard_io, unless a file name is given, in which case + it defaults to file. If type is set to file, the file + name defaults to the same as the handler id. + + The potential incompatibility is that + logger:get_config/0 and logger:get_handler_config/1 now + returns the new parameters, even if the configuration + was set with the old variant, e.g. + #{type=>{file,FileName}}. + + + OTP-15663 Application(s): kernel + + The new configuration parameter file_check is added to + the Logger handler logger_std_h. This parameter + specifies how long (in milliseconds) the handler may + wait before checking if the log file still exists and + the inode is the same as when it was opened. + + The default value is 0, which means that this check is + done prior to each write operation. Setting a higher + number may improve performance, but adds the risk of + loosing log events. + + + Full runtime dependencies of kernel-6.3: erts-10.2.5, sasl-3.0, + stdlib-3.5 + + + --------------------------------------------------------------------- + --- mnesia-4.15.6 --------------------------------------------------- + --------------------------------------------------------------------- + + The mnesia-4.15.6 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15619 Application(s): mnesia + Related Id(s): ERIERL-310 + + Avoid overload warnings caused by a race condition. + + + Full runtime dependencies of mnesia-4.15.6: erts-9.0, kernel-5.3, + stdlib-3.4 + + + --------------------------------------------------------------------- + --- observer-2.9 ---------------------------------------------------- + --------------------------------------------------------------------- + + The observer-2.9 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15553 Application(s): observer + Related Id(s): ERL-848 + + Since Logger was introduced in OTP-21.0, menu choice + *Log > Toggle Log View* in observer would cause a crash + unless an error_logger event handler was explicitly + installed. This is now corrected. + + + --- Improvements and New Features --- + + OTP-15493 Application(s): observer + Related Id(s): ERL-810 + + Since persistent_term was introduced, observer would + sometimes crash when expanding a term from a process + state. This is now corrected. + + + OTP-15586 Application(s): observer + Related Id(s): PR-2105 + + Add OBSERVER_SCALE environment variable for HiDPI + support. + + + Full runtime dependencies of observer-2.9: erts-7.0, et-1.5, + kernel-3.0, runtime_tools-1.8.14, stdlib-3.5, wx-1.2 + + + --------------------------------------------------------------------- + --- odbc-2.12.3 ----------------------------------------------------- + --------------------------------------------------------------------- + + The odbc-2.12.3 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15667 Application(s): odbc + Related Id(s): ERL-808, PR-2065 + + Enhance error handling to avoid stack corruption + + + Full runtime dependencies of odbc-2.12.3: erts-6.0, kernel-3.0, + stdlib-2.0 + + + --------------------------------------------------------------------- + --- public_key-1.6.5 ------------------------------------------------ + --------------------------------------------------------------------- + + The public_key-1.6.5 application can be applied independently of + other applications on a full OTP 21 installation. + + --- Improvements and New Features --- + + OTP-15624 Application(s): public_key + + Add export of dialyzer type + + + Full runtime dependencies of public_key-1.6.5: asn1-3.0, crypto-3.8, + erts-6.0, kernel-3.0, stdlib-3.5 + + + --------------------------------------------------------------------- + --- runtime_tools-1.13.2 -------------------------------------------- + --------------------------------------------------------------------- + + The runtime_tools-1.13.2 application can be applied independently of + other applications on a full OTP 21 installation. + + --- Improvements and New Features --- + + OTP-15670 Application(s): runtime_tools + + Update of systemtap trace example scripts. + + + Full runtime dependencies of runtime_tools-1.13.2: erts-8.0, + kernel-5.0, mnesia-4.12, stdlib-3.0 + + + --------------------------------------------------------------------- + --- ssh-4.7.4 ------------------------------------------------------- + --------------------------------------------------------------------- + + The ssh-4.7.4 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15498 Application(s): ssh + Related Id(s): ERL-822, PR-2077 + + SSH sftp daemon now accepts an SSH_FXP_STAT message + encoded according to the wrong sftp version. Some + clients sends such messages. + + + Full runtime dependencies of ssh-4.7.4: crypto-4.2, erts-6.0, + kernel-3.0, public_key-1.5.2, stdlib-3.3 + + + --------------------------------------------------------------------- + --- ssl-9.2 --------------------------------------------------------- + --------------------------------------------------------------------- + + The ssl-9.2 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15502 Application(s): ssl + + Fix bug that an incorrect return value for gen_statem + could be created when alert was a result of handling + renegotiation info extension + + + OTP-15539 Application(s): ssl + + Correct check for 3des_ede_cbc, could cause ssl to + claim to support 3des_ede_cbc when cryptolib does not. + + + OTP-15561 Application(s): ssl + + Improved DTLS error handling, avoids unexpected + connection failure in rare cases. + + + OTP-15666 Application(s): ssl + Related Id(s): ERIERL-316 + + Corrected active once emulation bug that could cause + the ssl_closed meassage to not be sent. Bug introduced + by OTP-15449 + + + --- Improvements and New Features --- + + OTP-15369 Application(s): ssl + + Add client option {reuse_session, SessionID::binary()} + that can be used together with new option value + {reuse_sessions, save}. This makes it possible to reuse + a session from a specific connection establishment. + + + OTP-15423 Application(s): ssl + + *** HIGHLIGHT *** + + *** POTENTIAL INCOMPATIBILITY *** + + The Reason part of of the error return from the + functions connect and handshake has a better and + documented format. This will sometimes differ from + previous returned reasons, however those where only + documented as term() and should for that reason not be + relied on. + + + OTP-15445 Application(s): ssl + + *** HIGHLIGHT *** + + Refactor of state handling to improve TLS application + data throughput and reduce CPU overhead + + + OTP-15529 Application(s): ssl + + *** HIGHLIGHT *** + + The SSL code has been optimized in many small ways to + reduce CPU load for encryption/decryption, especially + for Erlang's distribution protocol over TLS. + + + OTP-15665 Application(s): ssl + Related Id(s): ERL-811, PR-2072 + + *** HIGHLIGHT *** + + Add support for active N + + + Full runtime dependencies of ssl-9.2: crypto-4.2, erts-10.0, + inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5 + + + --------------------------------------------------------------------- + --- stdlib-3.8 ------------------------------------------------------ + --------------------------------------------------------------------- + + The stdlib-3.8 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15592 Application(s): stdlib + Related Id(s): ERL-818 + + Fix a bug in the Erlang Pretty Printer: long atom names + in combination with > could cause a crash. + + + OTP-15639 Application(s): stdlib + + Fix bugs that could cause wrong results or bad + performance when formatting lists of characters using + the control sequences p or P and limiting the output + with the option chars_limit. + + + --- Improvements and New Features --- + + OTP-15545 Application(s): stdlib + Related Id(s): PR-2103, PR-2139 + + Improved ETS documentation about safe table traversal + and the partially bound key optimization for + ordered_set. + + + OTP-15572 Application(s): stdlib + Related Id(s): PR-2121 + + Optimize calendar:gregorian_days_to_date/1. + + + OTP-15630 Application(s): stdlib + + Optimize functions calendar:rfc3339_to_system_time() + and calendar:system_time_to_rfc3339(). + + + Full runtime dependencies of stdlib-3.8: compiler-5.0, crypto-3.3, + erts-10.0, kernel-6.0, sasl-3.0 + + + --------------------------------------------------------------------- + --- syntax_tools-2.1.7 ---------------------------------------------- + --------------------------------------------------------------------- + + The syntax_tools-2.1.7 application can be applied independently of + other applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15519 Application(s): syntax_tools + Related Id(s): ERL-815 + + Fix pretty-printing of type funs. + + + Full runtime dependencies of syntax_tools-2.1.7: compiler-7.0, + erts-9.0, kernel-5.0, stdlib-3.4 + + + --------------------------------------------------------------------- + --- tools-3.1 ------------------------------------------------------- + --------------------------------------------------------------------- + + The tools-3.1 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15657 Application(s): erts, otp, tools + + Minor fixes for make clean. + + + --- Improvements and New Features --- + + OTP-15541 Application(s): tools + + In the HTML file generated by + cover:analyse_to_file/1,2, a link is now added to the + line number. This makes it easier to share pointers to + specific lines. + + + OTP-15542 Application(s): tools + + Uncovered lines are now marked with a sad face, :-(, in + the HTML output from cover:analyse_to_file/1,2. This is + to make these lines easier to find by search. + + + Full runtime dependencies of tools-3.1: compiler-5.0, erts-9.1, + kernel-5.4, runtime_tools-1.8.14, stdlib-3.4 + + + --------------------------------------------------------------------- + --- wx-1.8.7 -------------------------------------------------------- + --------------------------------------------------------------------- + + The wx-1.8.7 application can be applied independently of other + applications on a full OTP 21 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-15587 Application(s): wx + + Improved support for wxWidgets 3.1.3 which have changed + wxFONTWEIGTH, also added wxGCDC and wxDisplay modules. + + Fixed a crash on Mojave and check for events more + often. + + + Full runtime dependencies of wx-1.8.7: erts-6.0, kernel-3.0, + stdlib-2.0 + + + --------------------------------------------------------------------- + --------------------------------------------------------------------- + --------------------------------------------------------------------- + -- cgit v1.2.3