Patch Package: OTP 18.3 Git Tag: OTP-18.3 Date: 2016-03-15 Trouble Report Id: OTP-12272, OTP-12862, OTP-12955, OTP-12994, OTP-13003, OTP-13057, OTP-13060, OTP-13103, OTP-13164, OTP-13185, OTP-13200, OTP-13201, OTP-13208, OTP-13216, OTP-13217, OTP-13218, OTP-13219, OTP-13220, OTP-13222, OTP-13223, OTP-13228, OTP-13230, OTP-13231, OTP-13232, OTP-13234, OTP-13237, OTP-13238, OTP-13239, OTP-13241, OTP-13242, OTP-13245, OTP-13249, OTP-13250, OTP-13251, OTP-13253, OTP-13254, OTP-13257, OTP-13264, OTP-13268, OTP-13269, OTP-13270, OTP-13271, OTP-13272, OTP-13277, OTP-13278, OTP-13279, OTP-13281, OTP-13282, OTP-13284, OTP-13285, OTP-13286, OTP-13287, OTP-13290, OTP-13291, OTP-13292, OTP-13298, OTP-13299, OTP-13300, OTP-13301, OTP-13302, OTP-13305, OTP-13306, OTP-13309, OTP-13311, OTP-13312, OTP-13324, OTP-13326, OTP-13327, OTP-13328, OTP-13334, OTP-13335, OTP-13336, OTP-13338, OTP-13342, OTP-13363, OTP-13364, OTP-13365, OTP-13376, OTP-13377, OTP-13378, OTP-13379, OTP-13381, OTP-13386, OTP-13388, OTP-13389, OTP-13391, OTP-13403, OTP-13404, OTP-13406, OTP-9375 Seq num: seq12979, seq12991, seq13005, seq13053, seq13069, seq13070 System: OTP Release: 18 Application: asn1-4.0.2, common_test-1.12, compiler-6.0.3, cosNotification-1.2.1, cosTime-1.2.1, cosTransactions-1.3.1, crypto-3.6.3, debugger-4.1.2, dialyzer-2.9, diameter-1.11.2, edoc-0.7.18, eldap-1.2.1, erl_docgen-0.4.2, erl_interface-3.8.2, erts-7.3, eunit-2.2.13, hipe-3.15, inets-6.2, kernel-4.2, mnesia-4.13.3, observer-2.1.2, orber-3.8.1, public_key-1.1.1, runtime_tools-1.9.3, sasl-2.7, snmp-5.2.2, ssh-4.2.2, ssl-7.3, stdlib-2.8, test_server-3.10, tools-2.8.3, webtool-0.9.1, wx-1.6.1, xmerl-1.3.10 Predecessor: OTP 18.2.4 Check out the git tag OTP-18.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-13363 Application(s): ssl Use application:ensure_all_started/2 instead of hard-coding dependencies --------------------------------------------------------------------- --- asn1-4.0.2 ------------------------------------------------------ --------------------------------------------------------------------- The asn1-4.0.2 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13257 Application(s): asn1 When compiling to the PER format, the ASN.1 compiler would crash when attempting to compile an ASN.1 module with a constrained INTEGER with more than 65536 values and named values. (Thanks to Ingars for reporting this bug.) OTP-13324 Application(s): asn1 The ASN.1 compiler will now emit Dialyzer suppressions for improper lists. Thus, there is no longer any need to use --Wno_improper_lists when analyzing modules generated by the ASN.1 compiler. Full runtime dependencies of asn1-4.0.2: erts-7.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- common_test-1.12 ------------------------------------------------ --------------------------------------------------------------------- The common_test-1.12 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13003 Application(s): common_test Related Id(s): seq13005 This update fixes the problem with generic printouts in the html log file not having special characters escaped. Printouts made with io:format/2 and ct:pal/2 will now get special characters escaped automatically. Common Test will not attempt to escape characters printed with ct:log/2 since it is assumed that the user may want to print html tagged data using this function. A new function, ct:log/5, has been added, which offers optional escaping of characters. The latter function may also be used to print text to the log without headers and CSS class wrapping (analogue to io:format/2). OTP-13386 Application(s): common_test Commit 4cf832f1ad163f5b25dd8a6f2d314c169c23c82f erroneously removed logging of open and close of netconf connections. This is now corrected. OTP-13388 Application(s): common_test, test_server The directory to which nodes started with test_server:start_node/3 writes their erl_crash.dump is changed. The crashdumps were earlier written to the directory of test_server.beam, but in later versions of Microsoft Windows this is no longer writable (even for administrators). The framework (common_test) log directory is now used instead. --- Improvements and New Features --- OTP-13241 Application(s): common_test Related Id(s): seq12979 This update makes it possible to specify multiple instances of the same group or test case in one test specification term in order to repeat execution. Example: {groups, "./", my_SUITE, [my_group, my_group], {cases, all}}, or {cases, "./", my_SUITE, [my_tc, my_tc, my_tc]}. OTP-13242 Application(s): common_test, test_server Related Id(s): seq12991 Two new CT hook functions have been added: post_init_per_testcase/4 and pre_end_per_testcase/3. With these hook functions, it is possible to perform arbitrary actions (including modifications of test execution, test state and results) immediately before and after the execution of the test case. OTP-13338 Application(s): common_test Related Id(s): seq13053, seq13069 The ct_netconfc was earlier very restrictive as to which SSH options the user could set. This is now changed, and any SSH option is now allowed. The netconf client will simply pass on any option, which it does not recognize, to SSH. Full runtime dependencies of common_test-1.12: 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-2.5, test_server-3.9, tools-2.8, xmerl-1.3.8 --------------------------------------------------------------------- --- compiler-6.0.3 -------------------------------------------------- --------------------------------------------------------------------- The compiler-6.0.3 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13208 Application(s): compiler An complicated guard expression in a function call could crash the compiler. (Thanks to Thomas Arts for reporting this bug.) OTP-13223 Application(s): compiler Constructing a map in a guard in a catch could crash the compiler. (Thanks to Thomas Arts for reporting this bug.) OTP-13231 Application(s): compiler Updating a fun as if it were a map would cause the compiler to crash. (Thanks to Thomas Arts for reporting this bug.) OTP-13238 Application(s): compiler, dialyzer, hipe Fix pretty printing of Core Maps Literal maps could cause Dialyzer to crash when pretty printing the results. OTP-13309 Application(s): compiler A complex combination of bit syntax matching operations would cause an internal consistency check failure during compilation. (Thanks to Jose Valim for reporting this bug.) Full runtime dependencies of compiler-6.0.3: crypto-3.6, erts-7.0, hipe-3.12, kernel-4.0, stdlib-2.5 --------------------------------------------------------------------- --- cosNotification-1.2.1 ------------------------------------------- --------------------------------------------------------------------- The cosNotification-1.2.1 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12862 Application(s): cosNotification, cosTime, cosTransactions, eunit, orber, xmerl Suppress Dialyzer warnings. Full runtime dependencies of cosNotification-1.2.1: cosEvent-2.1.15, cosTime-1.1.14, erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.5 --------------------------------------------------------------------- --- cosTime-1.2.1 --------------------------------------------------- --------------------------------------------------------------------- The cosTime-1.2.1 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12862 Application(s): cosNotification, cosTime, cosTransactions, eunit, orber, xmerl Suppress Dialyzer warnings. Full runtime dependencies of cosTime-1.2.1: cosEvent-2.1.15, erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.0 --------------------------------------------------------------------- --- cosTransactions-1.3.1 ------------------------------------------- --------------------------------------------------------------------- The cosTransactions-1.3.1 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12862 Application(s): cosNotification, cosTime, cosTransactions, eunit, orber, xmerl Suppress Dialyzer warnings. Full runtime dependencies of cosTransactions-1.3.1: erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.0 --------------------------------------------------------------------- --- crypto-3.6.3 ---------------------------------------------------- --------------------------------------------------------------------- The crypto-3.6.3 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13249 Application(s): crypto Fix bug for aes_ecb block crypto when data is larger than 16 bytes. OTP-13311 Application(s): crypto, ssl Improve portability of ECC tests in Crypto and SSL for "exotic" OpenSSL versions. Full runtime dependencies of crypto-3.6.3: erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- debugger-4.1.2 -------------------------------------------------- --------------------------------------------------------------------- The debugger-4.1.2 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12994 Application(s): debugger, observer Documentation corrections. Full runtime dependencies of debugger-4.1.2: compiler-5.0, erts-6.0, kernel-3.0, stdlib-2.5, wx-1.2 --------------------------------------------------------------------- --- dialyzer-2.9 ---------------------------------------------------- --------------------------------------------------------------------- Note! The dialyzer-2.9 application can *not* be applied independently of other applications on an arbitrary OTP 18 installation. On a full OTP 18 installation, also the following runtime dependency has to be satisfied: -- hipe-3.13 (first satisfied in OTP 18.1) --- Fixed Bugs and Malfunctions --- OTP-13103 Application(s): dialyzer Related Id(s): ERL-40 Dialyzer no longer asserts that files and directories to be removed from a PLT exist. OTP-13237 Application(s): dialyzer Fix a bug concerning parameterized opaque types. OTP-13238 Application(s): compiler, dialyzer, hipe Fix pretty printing of Core Maps Literal maps could cause Dialyzer to crash when pretty printing the results. OTP-13287 Application(s): dialyzer If a behavior module contains an non-exported function with the same name as one of the behavior's callbacks, the callback info was inadvertently deleted from the PLT as the dialyzer_plt:delete_list/2 function was cleaning up the callback table. OTP-13312 Application(s): dialyzer Correct the contract for erlang:byte_size/1 Correct the handling of comparison operators for map and bit string operands. --- Improvements and New Features --- OTP-13217 Application(s): dialyzer Dialyzer recognizes calls to M:F/A where M, F, and A are all literals. Full runtime dependencies of dialyzer-2.9: compiler-5.0, erts-7.0, hipe-3.13, kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, wx-1.2 --------------------------------------------------------------------- --- diameter-1.11.2 ------------------------------------------------- --------------------------------------------------------------------- The diameter-1.11.2 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13164 Application(s): diameter Make peer handling more efficient. Inefficient lookup and manipulation of peer lists could result in poor performance when many outgoing requests were sent simultaneously, or when many peers connected simultaneously. Filtering peer lists on realm/host is now also more efficient in many cases. OTP-13342 Application(s): diameter Fix handling of shared peer connections in watchdog state SUSPECT. A peer connection shared from a remote node was regarded as being up for the lifetime of the connection, ignoring watchdog transitions into state SUSPECT. Full runtime dependencies of diameter-1.11.2: erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-2.0 --------------------------------------------------------------------- --- edoc-0.7.18 ----------------------------------------------------- --------------------------------------------------------------------- The edoc-0.7.18 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13234 Application(s): edoc Related Id(s): ERL-63 Assign correct names to list arguments. --- Improvements and New Features --- OTP-13302 Application(s): edoc Unless the sort_functions option is true, edoc_layout does not sort functions. Full runtime dependencies of edoc-0.7.18: erts-6.0, inets-5.10, kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7 --------------------------------------------------------------------- --- eldap-1.2.1 ----------------------------------------------------- --------------------------------------------------------------------- The eldap-1.2.1 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13327 Application(s): eldap ELDAP did not send an 'unBind' request before closing the connection. --- Improvements and New Features --- OTP-12272 Application(s): eldap Handles the referral result code from LDAP servers. Adds the return value {ok, {referral,UrlList}} to some functions. See the Eldap reference manual for details. Full runtime dependencies of eldap-1.2.1: asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-2.0 --------------------------------------------------------------------- --- erl_docgen-0.4.2 ------------------------------------------------ --------------------------------------------------------------------- The erl_docgen-0.4.2 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-12955 Application(s): erl_docgen Correctly generate anno tags for maps keys Full runtime dependencies of erl_docgen-0.4.2: edoc-0.7.13, erts-6.0, stdlib-2.5, xmerl-1.3.7 --------------------------------------------------------------------- --- erl_interface-3.8.2 --------------------------------------------- --------------------------------------------------------------------- The erl_interface-3.8.2 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13328 Application(s): erl_interface Fix Erl_Interface build error on Debian/Hurd and Debian/kFreeBSD. (Thanks to Sergei Golovan) --- Improvements and New Features --- OTP-13364 Application(s): erl_interface, kernel, wx EPMD supports both IPv4 and IPv6 Also affects oldest supported windows version. --------------------------------------------------------------------- --- erts-7.3 -------------------------------------------------------- --------------------------------------------------------------------- The erts-7.3 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13060 Application(s): erts The '-path' flag to 'erl' has been documented. This flag replaces the path specified in the boot script. It has always existed, but was earlier only documented in SASL (script). OTP-13216 Application(s): erts The call_time tracing functionality internally used a time based on OS system time in order to measure call time which could cause erroneous results if OS system time was changed during tracing. This functionality now use Erlang monotonic time in order to measure time. Besides fixing the erroneous results due to OS system time being used, the results are often also better since Erlang monotonic time often has better accuracy and precision. OTP-13220 Application(s): erts Fix behaviour of -delay_write command line switch of epmd, which is used for debugging - in some cases epmd was sleeping twice the requested amount of time. OTP-13245 Application(s): erts Fix race between timeout and exit signal that could cause a process to ignore the exit signal and continue execution. Bug exist since OTP 18.0. OTP-13251 Application(s): erts Related Id(s): ERL-49 Fix bug in erlang:halt/1,2 for large exit status values, causing either badarg (on 32-bit) or exit with a crash dump and/or core dump (on 64-bit). Make erlang:halt/1,2 tolerate any non negative integer as exit status and truncate high order bits if the OS does not support it. OTP-13254 Application(s): erts, kernel Related Id(s): OTP-11997, OTP-13222 gen_tcp:accept/2 was not time warp safe. This since it used the same time as returned by erlang:now/0 when calculating timeout. This has now been fixed. OTP-13270 Application(s): erts Fix faulty error handling when writing to a compressed file. OTP-13271 Application(s): erts Fix sendfile usage for large files on FreeBSD OTP-13282 Application(s): erts Related Id(s): ERL-79 Fix bug that could cause process_info(P,current_location) to crash emulator for hipe compiled modules. OTP-13292 Application(s): erts Out of memory errors have been changed to cause an exit instead of abort. OTP-13298 Application(s): erts Related Id(s): OTP-11388 When calling garbage_collect/[1,2] or check_process_code/[2,3] from a process with a higher priority than the priority of the process operated on, the run queues could end up in an inconsistent state. This bug has now been fixed. OTP-13326 Application(s): erts Related Id(s): ERL-80 A workaround for an issue with older gcc versions (less than 5) and inline assembly on 32-bit x86 caused an emulator crash when it had been compiled with a newer gcc version. An improved configure test, run when building OTP, now detects whether the workaround should be used or not. --- Improvements and New Features --- OTP-13201 Application(s): erts Introduced new statistics functionality in order to more efficiently retrieve information about run able and active processes and ports. For more information see: -- statistics(total_run_queue_lengths) -- statistics(run_queue_lengths) -- statistics(total_active_tasks) -- statistics(active_tasks) OTP-13222 Application(s): erts, kernel, stdlib Related Id(s): OTP-11997 Time warp safety improvements. Introduced the options monotonic_timestamp, and strict_monotonic_timestamp to the trace, sequential trace, and system profile functionality. This since the already existing timestamp option is not time warp safe. Introduced the option safe_fixed_monotonic_time to ets:info/2 and dets:info/2. This since the already existing safe_fixed option is not time warp safe. OTP-13301 Application(s): erts Fix a register race where down nodes goes undetected in epmd OTP-13336 Application(s): erts Improved the gcc inline assembly implementing double word atomic compare and exchange on x86/x86_64 so that it also can be used when compiling with clang. OTP-13365 Application(s): erts Related Id(s): OTP-9892 An optimization preventing a long wait for a scheduler thread looking up information about a process executing on another scheduler thread had unintentionally been lost in erts-5.10 (OTP R16A). This optimization has now been reintroduced. Full runtime dependencies of erts-7.3: kernel-4.0, sasl-2.4, stdlib-2.5 --------------------------------------------------------------------- --- eunit-2.2.13 ---------------------------------------------------- --------------------------------------------------------------------- The eunit-2.2.13 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12862 Application(s): cosNotification, cosTime, cosTransactions, eunit, orber, xmerl Suppress Dialyzer warnings. Full runtime dependencies of eunit-2.2.13: erts-6.0, kernel-3.0, stdlib-2.5 --------------------------------------------------------------------- --- hipe-3.15 ------------------------------------------------------- --------------------------------------------------------------------- Note! The hipe-3.15 application can *not* be applied independently of other applications on an arbitrary OTP 18 installation. On a full OTP 18 installation, also the following runtime dependency has to be satisfied: -- erts-7.1 (first satisfied in OTP 18.1) --- Fixed Bugs and Malfunctions --- OTP-13238 Application(s): compiler, dialyzer, hipe Fix pretty printing of Core Maps Literal maps could cause Dialyzer to crash when pretty printing the results. OTP-13379 Application(s): hipe Dialyzer warnings removed. --- Improvements and New Features --- OTP-13269 Application(s): hipe Fix HiPE ErLLVM code generation for pattern matching with UTF binaries. OTP-13272 Application(s): hipe Fix various binary construction inconsistencies for hipe compiled code. -- Passing bad field sizes to binary constructions would throw badarith rather than badarg. Worse, in guards, when the unit size of the field was 1, the exception would leak rather than failing the function clause match. -- Passing bignums as field sizes to binary constructions would always fail (and always with badarg). -- A bug in bs_init_bits that cased binary constructions to fail with system_limit if they were at least 1/8th of the actual limit. -- Compiler crashes when matches against an integer literal whose size fits an unsigned word, but not a signed word or matches against an integer literal that whose size is larger than the largest allowed bignum. -- Very large binary constructions that should fail with system_limit could instead fail with badarg or even succeed with a faulty result. -- Add missing check for unit size match when inserting a binary. For example, a faulty expression like >/binary>> would succeed. Full runtime dependencies of hipe-3.15: compiler-5.0, erts-7.1, kernel-3.0, stdlib-2.5, syntax_tools-1.6.14 --------------------------------------------------------------------- --- inets-6.2 ------------------------------------------------------- --------------------------------------------------------------------- The inets-6.2 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13403 Application(s): inets The TFTP client/server has been fixed to allow file sizes larger than 32MB block by allowing the 16 bit block counter to wrap. Since this is a commonly accepted behavior we regard it as a bug fix. --- Improvements and New Features --- OTP-13286 Application(s): inets Handle HTTP PATCH method in client. OTP-13389 Application(s): inets Expected termination should not be logged as an application error. Full runtime dependencies of inets-6.2: erts-6.0, kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0 --------------------------------------------------------------------- --- kernel-4.2 ------------------------------------------------------ --------------------------------------------------------------------- Note! The kernel-4.2 application can *not* be applied independently of other applications on an arbitrary OTP 18 installation. On a full OTP 18 installation, also the following runtime dependencies have to be satisfied: -- erts-7.3 (first satisfied in OTP 18.3) -- sasl-2.6 (first satisfied in OTP 18.1) -- stdlib-2.6 (first satisfied in OTP 18.1) --- Fixed Bugs and Malfunctions --- OTP-13254 Application(s): erts, kernel Related Id(s): OTP-11997, OTP-13222 gen_tcp:accept/2 was not time warp safe. This since it used the same time as returned by erlang:now/0 when calculating timeout. This has now been fixed. OTP-13335 Application(s): kernel Related Id(s): ERL-95 Correct the contract for inet:getifaddrs/1. OTP-9375 Application(s): kernel code:load_abs([10100]) would bring down the entire runtime system and create a crash dump. Corrected to generate an error exception in the calling process. Also corrected specs for code loading functions and added more information in the documentation about the error reasons returned by code-loading functions. --- Improvements and New Features --- OTP-13222 Application(s): erts, kernel, stdlib Related Id(s): OTP-11997 Time warp safety improvements. Introduced the options monotonic_timestamp, and strict_monotonic_timestamp to the trace, sequential trace, and system profile functionality. This since the already existing timestamp option is not time warp safe. Introduced the option safe_fixed_monotonic_time to ets:info/2 and dets:info/2. This since the already existing safe_fixed option is not time warp safe. OTP-13250 Application(s): kernel Add validation callback for heart The erlang heart process may now have a validation callback installed. The validation callback will be executed, if present, before any heartbeat to heart port program. If the validation fails, or stalls, no heartbeat will be sent and the node will go down. With the option 'check_schedulers' heart executes a responsiveness check of the schedulers before a heartbeat is sent to the port program. If the responsiveness check fails, the heartbeat will not be performed (as intended). OTP-13299 Application(s): kernel Clarify documentation of net_kernel:allow/1 OTP-13364 Application(s): erl_interface, kernel, wx EPMD supports both IPv4 and IPv6 Also affects oldest supported windows version. Full runtime dependencies of kernel-4.2: erts-7.3, sasl-2.6, stdlib-2.6 --------------------------------------------------------------------- --- mnesia-4.13.3 --------------------------------------------------- --------------------------------------------------------------------- The mnesia-4.13.3 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13284 Application(s): mnesia Avoid deadlock possibility in mnesia:del_table_copy/2 Full runtime dependencies of mnesia-4.13.3: erts-7.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- observer-2.1.2 -------------------------------------------------- --------------------------------------------------------------------- The observer-2.1.2 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12994 Application(s): debugger, observer Documentation corrections. Full runtime dependencies of observer-2.1.2: erts-7.0, et-1.5, inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2 --------------------------------------------------------------------- --- orber-3.8.1 ----------------------------------------------------- --------------------------------------------------------------------- The orber-3.8.1 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12862 Application(s): cosNotification, cosTime, cosTransactions, eunit, orber, xmerl Suppress Dialyzer warnings. Full runtime dependencies of orber-3.8.1: erts-7.0, inets-5.10, kernel-3.0, mnesia-4.12, ssl-5.3.4, stdlib-2.5 --------------------------------------------------------------------- --- public_key-1.1.1 ------------------------------------------------ --------------------------------------------------------------------- The public_key-1.1.1 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13381 Application(s): public_key Related Id(s): seq13070 An encapsulated PEM header shall be followed by a blank line Full runtime dependencies of public_key-1.1.1: asn1-3.0, crypto-3.3, erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- runtime_tools-1.9.3 --------------------------------------------- --------------------------------------------------------------------- The runtime_tools-1.9.3 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-13279 Application(s): runtime_tools dbg:trace_client() now uses a read buffer to speed up reading of trace files. Full runtime dependencies of runtime_tools-1.9.3: erts-7.0, kernel-3.0, mnesia-4.12, stdlib-2.0 --------------------------------------------------------------------- --- sasl-2.7 -------------------------------------------------------- --------------------------------------------------------------------- Note! The sasl-2.7 application can *not* be applied independently of other applications on an arbitrary OTP 18 installation. On a full OTP 18 installation, also the following runtime dependencies have to be satisfied: -- kernel-4.1 (first satisfied in OTP 18.1) -- stdlib-2.8 (first satisfied in OTP 18.3) --- Fixed Bugs and Malfunctions --- OTP-13291 Application(s): sasl During upgrade, the release_handler collects a list of supervisor pids in order to list all processes in the supervisor tree. If one of the supervisors (legitimately) exits before release_handler can examine it, then sys:get_status/1 would earlier be called with a dead pid, causing a 'noproc' error. This has been corrected. --- Improvements and New Features --- OTP-13057 Application(s): sasl The module overload is deprecated and will be removed in OTP 19. OTP-13290 Application(s): sasl, stdlib Improve implementation of supervisor child count, making it faster and more accurate for dynamic processes of a simple_one_for_one supervisor. Full runtime dependencies of sasl-2.7: erts-6.0, kernel-4.1, stdlib-2.8, tools-2.6.14 --------------------------------------------------------------------- --- snmp-5.2.2 ------------------------------------------------------ --------------------------------------------------------------------- The snmp-5.2.2 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13264 Application(s): snmp Snmp agent now properly handles vacmViewTreeFamily masks. Full runtime dependencies of snmp-5.2.2: crypto-3.3, erts-6.0, kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5 --------------------------------------------------------------------- --- ssh-4.2.2 ------------------------------------------------------- --------------------------------------------------------------------- The ssh-4.2.2 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13305 Application(s): ssh Related Id(s): ERL-87 Documentation correction of ssh_sftp:position/4 Thanks to Rabbe Fogelholm. Full runtime dependencies of ssh-4.2.2: crypto-3.3, erts-6.0, kernel-3.0, public_key-0.22, stdlib-2.3 --------------------------------------------------------------------- --- ssl-7.3 --------------------------------------------------------- --------------------------------------------------------------------- The ssl-7.3 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13185 Application(s): ssl Make sure there is only one poller validator at a time for validating the session cache. OTP-13253 Application(s): ssl A timing related issue could cause ssl to hang, especially happened with newer versions of OpenSSL in combination with ECC ciphers. OTP-13268 Application(s): ssl Work around a race condition in the TLS distribution start. OTP-13306 Application(s): ssl Big handshake messages are now correctly fragmented in the TLS record layer. OTP-13311 Application(s): crypto, ssl Improve portability of ECC tests in Crypto and SSL for "exotic" OpenSSL versions. OTP-13377 Application(s): ssl Certificate extensions marked as critical are ignored when using verify_none OTP-13378 Application(s): ssl If a certificate doesn't contain a CRL Distribution Points extension, and the relevant CRL is not in the cache, and the crl_check option is not set to best_effort , the revocation check should fail. OTP-13391 Application(s): ssl Enable TLS distribution over IPv6 --- Improvements and New Features --- OTP-13219 Application(s): ssl Improve error reporting for TLS distribution OTP-13232 Application(s): ssl Include options from connect, listen and accept in connection_information/1,2 OTP-13285 Application(s): ssl Allow adding extra options for outgoing TLS distribution connections, as supported for plain TCP connections. OTP-13300 Application(s): ssl Use loopback as server option in TLS-distribution module OTP-13334 Application(s): ssl Verify certificate signature against original certificate binary. This avoids bugs due to encoding errors when re-encoding a decode certificate. As there exists several decode step and using of different ASN.1 specification this is a risk worth avoiding. OTP-13363 Application(s): ssl *** HIGHLIGHT *** Use application:ensure_all_started/2 instead of hard-coding dependencies Full runtime dependencies of ssl-7.3: crypto-3.3, erts-7.0, inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0 --------------------------------------------------------------------- --- stdlib-2.8 ------------------------------------------------------ --------------------------------------------------------------------- Note! The stdlib-2.8 application can *not* be applied independently of other applications on an arbitrary OTP 18 installation. On a full OTP 18 installation, also the following runtime dependencies have to be satisfied: -- erts-7.3 (first satisfied in OTP 18.3) -- kernel-4.1 (first satisfied in OTP 18.1) -- sasl-2.6 (first satisfied in OTP 18.1) --- Fixed Bugs and Malfunctions --- OTP-13218 Application(s): stdlib Fix evaluation in matching of bound map key variables in the interpreter. Prior to this patch, the following code would not evaluate: X = key,(fun(#{X := value}) -> true end)(#{X => value}) OTP-13228 Application(s): stdlib Related Id(s): ERL-32 Fix erl_eval not using non-local function handler. OTP-13230 Application(s): stdlib Related Id(s): ERL-62 The Erlang Code Linter no longer crashes if there is a -deprecated() attribute but no -module() declaration. OTP-13239 Application(s): stdlib Related Id(s): OTP-11997 The timestamp in the result returned by dets:info(Tab, safe_fixed) was unintentionally broken as a result of the time API rewrites in OTP 18.0. This has now been fixed. OTP-13278 Application(s): stdlib A rare race condition in beam_lib when using encrypted abstract format has been eliminated. OTP-13376 Application(s): stdlib Improved maps:with/2 and maps:without/2 algorithms The new implementation speeds up the execution significantly for all sizes of input. --- Improvements and New Features --- OTP-13222 Application(s): erts, kernel, stdlib Related Id(s): OTP-11997 Time warp safety improvements. Introduced the options monotonic_timestamp, and strict_monotonic_timestamp to the trace, sequential trace, and system profile functionality. This since the already existing timestamp option is not time warp safe. Introduced the option safe_fixed_monotonic_time to ets:info/2 and dets:info/2. This since the already existing safe_fixed option is not time warp safe. OTP-13281 Application(s): stdlib In the shell Ctrl+W (delete word) will no longer consider "." as being part of a word. Full runtime dependencies of stdlib-2.8: compiler-5.0, crypto-3.3, erts-7.3, kernel-4.1, sasl-2.6 --------------------------------------------------------------------- --- test_server-3.10 ------------------------------------------------ --------------------------------------------------------------------- The test_server-3.10 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-13242 Application(s): common_test, test_server Related Id(s): seq12991 Two new CT hook functions have been added: post_init_per_testcase/4 and pre_end_per_testcase/3. With these hook functions, it is possible to perform arbitrary actions (including modifications of test execution, test state and results) immediately before and after the execution of the test case. Full runtime dependencies of test_server-3.10: erts-7.0, inets-6.0, kernel-4.0, observer-2.1, runtime_tools-1.8.16, stdlib-2.5, syntax_tools-1.7, tools-2.8 --------------------------------------------------------------------- --- tools-2.8.3 ----------------------------------------------------- --------------------------------------------------------------------- The tools-2.8.3 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13200 Application(s): tools cover:compile_beam/1 and cover:compile_beam_directory/1,2 crashed when trying to compile a beam file without a 'file' attribute. This has been corrected and an error is returned instead. Thanks to Louis-Philippe Gauthier for reporting this bug. OTP-13277 Application(s): tools Related Id(s): 856, PR Fix a bit string comprehension bug in Cover. Full runtime dependencies of tools-2.8.3: compiler-5.0, erts-7.0, inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5, webtool-0.8.10 --------------------------------------------------------------------- --- webtool-0.9.1 --------------------------------------------------- --------------------------------------------------------------------- The webtool-0.9.1 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13406 Application(s): webtool Remove dependency to inets mod_include in configuration. Full runtime dependencies of webtool-0.9.1: erts-6.0, inets-5.10, kernel-3.0, observer-2.0, stdlib-2.0 --------------------------------------------------------------------- --- wx-1.6.1 -------------------------------------------------------- --------------------------------------------------------------------- The wx-1.6.1 application can be applied independently of other applications on a full OTP 18 installation. --- Fixed Bugs and Malfunctions --- OTP-13404 Application(s): wx Fixed commands with multiple binaries, such as wxImage:new/4. Added wxWindow:SetDoubleBuffered/1, wxWindow:isDoubleBuffered/1, wxWindow:setTransparent/2 and wxWindow:canSetTransparent/1. Fixed timing issues. Full runtime dependencies of wx-1.6.1: erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- xmerl-1.3.10 ---------------------------------------------------- --------------------------------------------------------------------- The xmerl-1.3.10 application can be applied independently of other applications on a full OTP 18 installation. --- Improvements and New Features --- OTP-12862 Application(s): cosNotification, cosTime, cosTransactions, eunit, orber, xmerl Suppress Dialyzer warnings. Full runtime dependencies of xmerl-1.3.10: erts-6.0, kernel-3.0, stdlib-2.5 --------------------------------------------------------------------- --- Thanks to ------------------------------------------------------- --------------------------------------------------------------------- Alex Wilson, Alexey Lebedeff, Andrew Bennett, Ben Wilson, Bernard Duggan, Dániel Szoboszlay, Hamidreza Soleimani, JP, José Valim, Kostis Sagonas, Luca Favatella, Luis Rascao, Magnus Henoch, Magnus Lång, Matt Campbell, Michael Santos, Mikael Pettersson, Pablo Lamela, Pavel Abalihin, Péter Gömöri, Prayag Verma, Richard Jones, Rory Byrne, Stavros Aronis, Steve Vinoski, Tuncer Ayaz, tmanevik, xsipewe --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------