From 4f4b441446afeadd251025d636902fa2cfa86542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 26 Jun 2018 14:30:24 +0200 Subject: Add release notes for OTP-18.0+ The version 18.3.4.3 is missing and seems to have had no announcement or README, I do not know why. --- release-notes/OTP-20.3.README.txt | 775 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 775 insertions(+) create mode 100644 release-notes/OTP-20.3.README.txt (limited to 'release-notes/OTP-20.3.README.txt') diff --git a/release-notes/OTP-20.3.README.txt b/release-notes/OTP-20.3.README.txt new file mode 100644 index 0000000..ccad6fb --- /dev/null +++ b/release-notes/OTP-20.3.README.txt @@ -0,0 +1,775 @@ +Patch Package: OTP 20.3 +Git Tag: OTP-20.3 +Date: 2018-03-14 +Trouble Report Id: OTP-13882, OTP-14194, OTP-14204, OTP-14725, + OTP-14760, OTP-14816, OTP-14817, OTP-14820, + OTP-14828, OTP-14832, OTP-14839, OTP-14840, + OTP-14842, OTP-14843, OTP-14846, OTP-14847, + OTP-14850, OTP-14852, OTP-14854, OTP-14856, + OTP-14858, OTP-14860, OTP-14863, OTP-14871, + OTP-14873, OTP-14876, OTP-14879, OTP-14881, + OTP-14886, OTP-14889, OTP-14890, OTP-14891, + OTP-14892, OTP-14898, OTP-14908, OTP-14911, + OTP-14912, OTP-14913, OTP-14919, OTP-14920, + OTP-14921, OTP-14925, OTP-14926, OTP-14929, + OTP-14933, OTP-14938, OTP-14939, OTP-14940, + OTP-14942, OTP-14944, OTP-14947, OTP-14952, + OTP-14953 +Seq num: ERIERL-117, ERIERL-124, ERIERL-144, ERL-527, + ERL-529, ERL-534, ERL-537, ERL-544, ERL-548, + ERL-551, ERL-564, ERL-565 +System: OTP +Release: 20 +Application: asn1-5.0.5, common_test-1.15.4, + compiler-7.1.5, crypto-4.2.1, dialyzer-3.2.4, + diameter-2.1.4, erts-9.3, hipe-3.17.1, + inets-6.5, kernel-5.4.3, observer-2.7, + runtime_tools-1.12.5, snmp-5.2.10, ssh-4.6.6, + ssl-8.2.4, stdlib-3.4.4, tools-2.11.2 +Predecessor: OTP 20.2.4 + + Check out the git tag OTP-20.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-14760 Application(s): ssl + + Added new API functions to facilitate cipher suite + handling + + + --------------------------------------------------------------------- + --- POTENTIAL INCOMPATIBILITIES ------------------------------------- + --------------------------------------------------------------------- + + OTP-14850 Application(s): erts, hipe + Related Id(s): PR-1664 + + Fix HiPE bug for binary constructs like <> + which could in rare cases cause faulty results or VM + crash. + + This fix affects both the hipe compiler and erts + runtime in an *incompatible* way. Old hipe compiled + files need to be recompiled to load and run properly as + native. + + + --------------------------------------------------------------------- + --- asn1-5.0.5 ------------------------------------------------------ + --------------------------------------------------------------------- + + The asn1-5.0.5 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-13882 Application(s): asn1 + Related Id(s): ERIERL-144 + + Dialyzer suppression has been added for the generated + ASN.1 helper function to_bitstring/1 that previously + created irrelevant warnings. + + + Full runtime dependencies of asn1-5.0.5: erts-7.0, kernel-3.0, + stdlib-2.0 + + + --------------------------------------------------------------------- + --- common_test-1.15.4 ---------------------------------------------- + --------------------------------------------------------------------- + + The common_test-1.15.4 application can be applied independently of + other applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14953 Application(s): common_test + + Fixed problem with 'skip_groups' in combination with + 'all suites' option in test specification. + + + Full runtime dependencies of common_test-1.15.4: compiler-6.0, + crypto-3.6, debugger-4.1, erts-7.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.4, syntax_tools-1.7, tools-2.8, xmerl-1.3.8 + + + --------------------------------------------------------------------- + --- compiler-7.1.5 -------------------------------------------------- + --------------------------------------------------------------------- + + The compiler-7.1.5 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14863 Application(s): compiler + + The internal compiler pass (beam_validator) that + validates the generated code has been strengthened. + + When compiling from BEAM assembly code, the beam_type + optimizer pass could make the code unsafe. Corrected. + + + OTP-14898 Application(s): compiler + + Corrected optimizations of integers matched out from + binaries and used in bit operations. + + + Full runtime dependencies of compiler-7.1.5: crypto-3.6, erts-9.0, + hipe-3.12, kernel-4.0, stdlib-2.5 + + + --------------------------------------------------------------------- + --- crypto-4.2.1 ---------------------------------------------------- + --------------------------------------------------------------------- + + The crypto-4.2.1 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14873 Application(s): crypto + + Fix build error caused by removed RSA padding functions + in LibreSSL >= 2.6.1 + + + Full runtime dependencies of crypto-4.2.1: erts-9.0, kernel-5.3, + stdlib-3.4 + + + --------------------------------------------------------------------- + --- dialyzer-3.2.4 -------------------------------------------------- + --------------------------------------------------------------------- + + Note! The dialyzer-3.2.4 application can *not* be applied + independently of other applications on an arbitrary OTP 20 + installation. + + On a full OTP 20 installation, also the following runtime + dependency has to be satisfied: + -- hipe-3.16.1 (first satisfied in OTP 20.1) + + + --- Fixed Bugs and Malfunctions --- + + OTP-14858 Application(s): dialyzer + Related Id(s): ERL-551 + + Fix bugs concerning erlang:abs/1 and erlang:bsl/2. + + + OTP-14911 Application(s): dialyzer + + Fix a bug that caused Dialyzer to crash instead of + emitting a warning. + + + OTP-14925 Application(s): dialyzer + Related Id(s): ERL-565 + + Fix a bug concerning parameterized opaque types. + + + Full runtime dependencies of dialyzer-3.2.4: 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.1.4 -------------------------------------------------- + --------------------------------------------------------------------- + + The diameter-2.1.4 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14839 Application(s): diameter + + Fix close of diameter_tcp/sctp listening socket at + diameter:remove_transport/2, that was broken in + diameter 2.1. A reconfigured transport could not listen + on the same endpoint as a result. + + + OTP-14947 Application(s): diameter + Related Id(s): ERIERL-124 + + Fix handling of SUSPECT connections at service + termination. A connection with this watchdog state + caused diameter_service:terminate/2 to fail. + + + Full runtime dependencies of diameter-2.1.4: erts-6.4, kernel-3.2, + ssl-6.0, stdlib-2.4 + + + --------------------------------------------------------------------- + --- erts-9.3 -------------------------------------------------------- + --------------------------------------------------------------------- + + The erts-9.3 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14840 Application(s): erts, otp + Related Id(s): ERL-529 + + Fixed a configure test for libz internals that + unintentionally caused various native code in OTP to + link against libz. Under certain circumstances this + caused the build of OTP to fail. + + + OTP-14847 Application(s): erts + Related Id(s): ERL-544 + + File names containing unicode codepoints larger than + 255 were not correctly encoded in stack traces. + + + OTP-14850 Application(s): erts, hipe + Related Id(s): PR-1664 + + *** POTENTIAL INCOMPATIBILITY *** + + Fix HiPE bug for binary constructs like <> + which could in rare cases cause faulty results or VM + crash. + + This fix affects both the hipe compiler and erts + runtime in an *incompatible* way. Old hipe compiled + files need to be recompiled to load and run properly as + native. + + + OTP-14876 Application(s): erts + Related Id(s): ERL-548 + + Fix term_to_binary/2 spec for minor_version. + + + OTP-14879 Application(s): erts + + Fix bug in erlang:binary_to_integer/2 where invalid + characters were not detected for bases larger then 10. + e.g. binary_to_integer(<<":">>, 16) would return 3 and + not badarg as it should. + + + OTP-14890 Application(s): erts + + Fixed bug in float_to_list/2 and float_to_binary/2 with + option decimals that caused a faulty rounding up of the + last decimal digit for about 6% of floats with a + fraction part. + + For example, float_to_list(0.145, [{decimals,1}]) + returned "0.2" instead of "0.1". + + + OTP-14891 Application(s): erts + + Fix bug causing slow hipe execution in modules loaded + early during boot or loaded by code:atomic_load or + code:finish_loading. + + + OTP-14920 Application(s): erts + + Fixed a buffer overflow in an internal string + formatting function that could be hit if specifying a + long floating-point format specifier to erts_sprintf or + similar. + + + OTP-14921 Application(s): erts + + erlang:iolist_to_iovec/1 and enif_inspect_iovec will no + longer fail when provided with binaries that have been + matched-out on a non-byte boundary. + + + OTP-14926 Application(s): erts + + iolist_to_binary/1 and erlang:iolist_to_iovec/1 will + now badarg if supplied with a bitstring (without a + list). + + + OTP-14933 Application(s): erts, kernel + Related Id(s): ERL-564, PR-1716 + + Reject loading modules with names containing directory + separators ('/' or '\' on Windows). + + + OTP-14938 Application(s): erts + + Fix potential dead-lock when the tracer process dies + while a the traced process is running on a dirty + scheduler. + + + --- Improvements and New Features --- + + OTP-14820 Application(s): erts, observer + + More crash dump info such as: process binary virtual + heap stats, full info for process causing out-of-mem + during GC, more port related info, and dirty scheduler + info. + + + Full runtime dependencies of erts-9.3: kernel-5.0, sasl-3.0.1, + stdlib-3.0 + + + --------------------------------------------------------------------- + --- hipe-3.17.1 ----------------------------------------------------- + --------------------------------------------------------------------- + + Note! The hipe-3.17.1 application can *not* be applied independently + of other applications on an arbitrary OTP 20 installation. + + On a full OTP 20 installation, also the following runtime + dependency has to be satisfied: + -- erts-9.3 (first satisfied in OTP 20.3) + + + --- Fixed Bugs and Malfunctions --- + + OTP-14850 Application(s): erts, hipe + Related Id(s): PR-1664 + + *** POTENTIAL INCOMPATIBILITY *** + + Fix HiPE bug for binary constructs like <> + which could in rare cases cause faulty results or VM + crash. + + This fix affects both the hipe compiler and erts + runtime in an *incompatible* way. Old hipe compiled + files need to be recompiled to load and run properly as + native. + + + OTP-14886 Application(s): hipe + + The BEAM compiler chooses not to perform tailcall + optimisations for some calls in tail position, for + example to some built-in functions. However, when the + ErLLVM HiPE backend is used, LLVM may choose to perform + tailcall optimisation on these calls, breaking the + expected semantics. + + To preserve the precise semantics exhibited by BEAM, + the 'notail' marker, present in LLVM since version 3.8, + is added to call instructions that BEAM has not turned + into tail calls, which inhibits LLVM from performing + tail-call optimisation in turn. + + + Full runtime dependencies of hipe-3.17.1: compiler-5.0, erts-9.3, + kernel-5.3, stdlib-3.4, syntax_tools-1.6.14 + + + --------------------------------------------------------------------- + --- inets-6.5 ------------------------------------------------------- + --------------------------------------------------------------------- + + The inets-6.5 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14908 Application(s): inets + + httpc_manager crashes when a long running request is + sent on a persistent HTTP connection (keep-alive). + Fixed httpc_manager to use proper timeouts on + keep-alive connections. + + + --- Improvements and New Features --- + + OTP-14854 Application(s): inets + + Add support for unix domain sockets in the http client. + + + Full runtime dependencies of inets-6.5: erts-6.0, kernel-3.0, + mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0 + + + --------------------------------------------------------------------- + --- kernel-5.4.3 ---------------------------------------------------- + --------------------------------------------------------------------- + + Note! The kernel-5.4.3 application can *not* be applied independently + of other applications on an arbitrary OTP 20 installation. + + On a full OTP 20 installation, also the following runtime + dependency has to be satisfied: + -- erts-9.3 (first satisfied in OTP 20.3) + + + --- Fixed Bugs and Malfunctions --- + + OTP-14889 Application(s): kernel, stdlib + + Correct a few contracts. + + + OTP-14933 Application(s): erts, kernel + Related Id(s): ERL-564, PR-1716 + + Reject loading modules with names containing directory + separators ('/' or '\' on Windows). + + + OTP-14940 Application(s): kernel + + Fix bug in handling of os:cmd/2 option max_size on + windows. + + + Full runtime dependencies of kernel-5.4.3: erts-9.3, sasl-3.0, + stdlib-3.4 + + + --------------------------------------------------------------------- + --- observer-2.7 ---------------------------------------------------- + --------------------------------------------------------------------- + + The observer-2.7 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14842 Application(s): observer + Related Id(s): ERL-534 + + etop.hrl used a relative path to include + observer_backend.hrl, this is now changed to use + include_lib instead. runtime_tools/include is added to + the tertiary bootstrap. + + + OTP-14846 Application(s): observer + Related Id(s): ERL-537 + + If a crashdump was truncated in the attributes section + for a module, crashdump_viewer would crash when a + module view was opened from the GUI. This bug was + introduced in OTP-20.2 and is now corrected. + + + OTP-14856 Application(s): observer + Related Id(s): ERIERL-117 + + Optimized ets and mnesia table view tab in observer + gui, listing 10000 tables was previously very slow. + + + --- Improvements and New Features --- + + OTP-14725 Application(s): observer + + When a process has many links and/or monitors, it could + earlier take very long time to display the process + information window. This is now improved by only + showing a few links and monitors, and then an link + named "more..." to expand the rest. + + + OTP-14820 Application(s): erts, observer + + More crash dump info such as: process binary virtual + heap stats, full info for process causing out-of-mem + during GC, more port related info, and dirty scheduler + info. + + + Full runtime dependencies of observer-2.7: erts-7.0, et-1.5, + inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.4, wx-1.2 + + + --------------------------------------------------------------------- + --- runtime_tools-1.12.5 -------------------------------------------- + --------------------------------------------------------------------- + + The runtime_tools-1.12.5 application can be applied independently of + other applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14816 Application(s): runtime_tools + + system_information:to_file/1 will now use slightly less + memory. + + + Full runtime dependencies of runtime_tools-1.12.5: erts-8.0, + kernel-5.0, mnesia-4.12, stdlib-3.0 + + + --------------------------------------------------------------------- + --- snmp-5.2.10 ----------------------------------------------------- + --------------------------------------------------------------------- + + The snmp-5.2.10 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14204 Application(s): snmp + Related Id(s): PR-1726 + + The example MIB EX1-MIB in the SNMP application has + been corrected to match its example. + + + Full runtime dependencies of snmp-5.2.10: crypto-3.3, erts-6.0, + kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5 + + + --------------------------------------------------------------------- + --- ssh-4.6.6 ------------------------------------------------------- + --------------------------------------------------------------------- + + Note! The ssh-4.6.6 application can *not* be applied independently of + other applications on an arbitrary OTP 20 installation. + + On a full OTP 20 installation, also the following runtime + dependencies have to be satisfied: + -- crypto-4.2 (first satisfied in OTP 20.2) + -- public_key-1.5.2 (first satisfied in OTP 20.2) + + + --- Fixed Bugs and Malfunctions --- + + OTP-14939 Application(s): ssh + + Remove a blocking risk when a channel is closed and an + operation is tried on that channel after at least a + second's time gap. + + + --- Improvements and New Features --- + + OTP-14194 Application(s): ssh + Related Id(s): OTP-12487 + + Added ssh_compat_SUITE. + + This suite contains a number of interoperability tests + mainly with OpenSSH. The tests start docker containers + with different OpenSSH and OpenSSL/LibreSSLcryptolib + versions and performs a number of tests of supported + algorithms. + + All login methods and all user's public key types are + tested both for the client and the server. + + All algorithms for kex, cipher, host key, mac and + compressions are tested with a number of exec and sftp + tests, both for the client and the server. + + + OTP-14881 Application(s): ssh + + Default exec is disabled when a user-defined shell is + enabled. + + + Full runtime dependencies of ssh-4.6.6: crypto-4.2, erts-6.0, + kernel-3.0, public_key-1.5.2, stdlib-3.3 + + + --------------------------------------------------------------------- + --- ssl-8.2.4 ------------------------------------------------------- + --------------------------------------------------------------------- + + Note! The ssl-8.2.4 application can *not* be applied independently of + other applications on an arbitrary OTP 20 installation. + + On a full OTP 20 installation, also the following runtime + dependencies have to be satisfied: + -- crypto-4.2 (first satisfied in OTP 20.2) + -- public_key-1.5 (first satisfied in OTP 20.1) + + + --- Fixed Bugs and Malfunctions --- + + OTP-14843 Application(s): ssl + + Optimization of bad merge conflict resolution causing + dubble decode + + + OTP-14852 Application(s): ssl + + Restore error propagation to OTP-19.3 behaviour, in + OTP-20.2 implementation adjustments to gen_statem + needed some further adjustments to avoid a race + condition. This could cause a TLS server to not always + report file path errors correctly. + + + OTP-14871 Application(s): ssl + + Corrected RC4 suites listing function to regard TLS + version + + + OTP-14919 Application(s): ssl + + Fix alert handling so that unexpected messages are + logged and alerted correctly + + + OTP-14929 Application(s): ssl + + Fix alert handling so that unexpected messages are + logged and alerted correctly + + + OTP-14952 Application(s): ssl + + Correct handling of anonymous cipher suites + + + --- Improvements and New Features --- + + OTP-14760 Application(s): ssl + + *** HIGHLIGHT *** + + Added new API functions to facilitate cipher suite + handling + + + OTP-14828 Application(s): ssl + + Correct TLS_FALLBACK_SCSV handling so that this special + flag suite is always placed last in the cipher suite + list in accordance with the specs. Also make sure this + functionality is used in DTLS. + + + OTP-14892 Application(s): ssl + + Add TLS record version sanity check for early as + possible error detection and consistency in ALERT codes + generated + + + Full runtime dependencies of ssl-8.2.4: crypto-4.2, erts-7.0, + inets-5.10.7, kernel-3.0, public_key-1.5, stdlib-3.2 + + + --------------------------------------------------------------------- + --- stdlib-3.4.4 ---------------------------------------------------- + --------------------------------------------------------------------- + + The stdlib-3.4.4 application can be applied independently of other + applications on a full OTP 20 installation. + + --- Fixed Bugs and Malfunctions --- + + OTP-14832 Application(s): stdlib + Related Id(s): ERL-527 + + Correct filelib:find_source() and filelib:find_file() + to by default also search one level below src. This is + in accordance with the Design Principles which states + that an application can have Erlang source files one + level below the src directory. + + + OTP-14860 Application(s): stdlib + Related Id(s): 1670, PR + + The contract of erl_tar:table/2 is corrected. + + + OTP-14889 Application(s): kernel, stdlib + + Correct a few contracts. + + + OTP-14942 Application(s): stdlib + Related Id(s): PR-1702 + + Fix string:prefix/2 to handle an empty string as second + argument. + + + Full runtime dependencies of stdlib-3.4.4: compiler-5.0, crypto-3.3, + erts-9.0, kernel-5.0, sasl-3.0 + + + --------------------------------------------------------------------- + --- tools-2.11.2 ---------------------------------------------------- + --------------------------------------------------------------------- + + Note! The tools-2.11.2 application can *not* be applied independently + of other applications on an arbitrary OTP 20 installation. + + On a full OTP 20 installation, also the following runtime + dependencies have to be satisfied: + -- erts-9.1 (first satisfied in OTP 20.1) + -- kernel-5.4 (first satisfied in OTP 20.1) + + + --- Fixed Bugs and Malfunctions --- + + OTP-14817 Application(s): tools + Related Id(s): 1641, PR + + A counting bug is corrected in Cover. The bug was + introduced in Erlang/OTP 18.0. + + + OTP-14912 Application(s): tools + + The lcnt server will no longer crash if + lcnt:information/0 is called before lcnt:collect/0. + + + OTP-14913 Application(s): tools + + lcnt:collect will now implicitly start the lcnt server, + as per the documentation. + + + --- Improvements and New Features --- + + OTP-14944 Application(s): tools + + Improved indentation in emacs and various other + updates. + + + Full runtime dependencies of tools-2.11.2: compiler-5.0, erts-9.1, + kernel-5.4, runtime_tools-1.8.14, stdlib-3.4 + + + --------------------------------------------------------------------- + --------------------------------------------------------------------- + --------------------------------------------------------------------- + -- cgit v1.2.3