Patch Package: OTP 19.3 Git Tag: OTP-19.3 Date: 2017-03-14 Trouble Report Id: OTP-10599, OTP-13009, OTP-13571, OTP-13874, OTP-14055, OTP-14085, OTP-14090, OTP-14091, OTP-14093, OTP-14097, OTP-14098, OTP-14100, OTP-14103, OTP-14108, OTP-14109, OTP-14114, OTP-14118, OTP-14119, OTP-14121, OTP-14122, OTP-14126, OTP-14129, OTP-14130, OTP-14131, OTP-14132, OTP-14133, OTP-14134, OTP-14135, OTP-14136, OTP-14138, OTP-14139, OTP-14141, OTP-14145, OTP-14151, OTP-14153, OTP-14154, OTP-14159, OTP-14161, OTP-14164, OTP-14165, OTP-14166, OTP-14169, OTP-14170, OTP-14173, OTP-14175, OTP-14177, OTP-14189, OTP-14191, OTP-14192, OTP-14200, OTP-14202, OTP-14206, OTP-14210, OTP-14211, OTP-14212, OTP-14213, OTP-14215, OTP-14217, OTP-14222, OTP-14223, OTP-14225, OTP-14227, OTP-14228, OTP-14229, OTP-14230, OTP-14231, OTP-14232, OTP-14233, OTP-14234, OTP-14235, OTP-14240, OTP-14241, OTP-14248, OTP-14249, OTP-14254, OTP-14269 Seq num: seq13232, seq13244, seq13261, seq13262, seq13275, seq13277 System: OTP Release: 19 Application: common_test-1.14, compiler-7.0.4, crypto-3.7.3, dialyzer-3.1, diameter-1.12.2, erl_interface-3.9.3, erts-8.3, hipe-3.15.4, inets-6.3.6, kernel-5.2, observer-2.3.1, os_mon-2.4.2, public_key-1.4, reltool-0.7.3, runtime_tools-1.11.1, sasl-3.0.3, snmp-5.2.5, ssh-4.4.1, ssl-8.1.1, stdlib-3.3, tools-2.9.1, typer-0.9.12, xmerl-1.3.13 Predecessor: OTP 19.2.3 Check out the git tag OTP-19.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-14169 Application(s): crypto, ssh Related Id(s): seq13261 The implementation of the key exchange algorithms diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11 for the slowest ( = biggest and safest) group size. --------------------------------------------------------------------- --- common_test-1.14 ------------------------------------------------ --------------------------------------------------------------------- The common_test-1.14 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-10599 Application(s): common_test Related Id(s): [255], kunagi-344 The following corrections and improvements are done in the common_test hook handling: -- An extra argument, Suite, is added as the first argument to each of the following hook callback functions: -- pre_init_per_group -- post_init_per_group -- pre_end_per_group -- post_end_per_group -- pre_init_per_testcase -- post_init_per_testcase -- pre_end_per_testcase -- post_end_per_testcase -- on_tc_fail -- on_tc_skip For backwards compatibility, if the new function is not exported from a hook callback module, common_test will fall back to the old interface and call the function without the Suite argument. -- If either init_per_suite or end_per_suite exists, but not the other, then the non-existing function will be reported as failed with reason undef in the test log. The same goes for init/end_per_group. This has always been a requirement according to the user's guide, but now common_test is more explicit in the report. -- If init_per_suite was exported from a test suite, but not end_per_suite, then pre/post_end_per_suite was called with Suite=ct_framework instead of the correct suite name. This is now corrected. -- If end_per_group was exported from a suite, but not init_per_group, then end_per_group was never called. This is now corrected. -- Tests that were skipped before calling pre_init_per_* got faulty calls to the corresponding post_init_per_*. E.g. if a test was skipped because suite/0 failed, then post_init_per_suite would be called even though pre_init_per_suite and init_per_suite were not called. This is now corrected so a post_* callback will never be called unless the corresponding pre_* callback has been called first. -- Tests that were skipped before or in init_per_testcase got faulty calls to pre_end_per_testcase and post_end_per_testcase. This is now corrected so pre/post_end_per_testcase are not called when end_per_testcase is not called. -- If an exit signal causes the test case process to die while running init_per_testcase, the case was earlier reported as failed with reason {skip,...}. This is now corrected so the case will be marked as skipped. -- If an exist signal causes the test case process to die while running end_per_testcase, the case was earlier marked as failed. This is now corrected so the status of the test case is not changed - there is only a warning added to the comment field. -- If a test case was skipped because of option {force_stop,skip_rest} or because of a failed sequence, then no tc_start event would be sent, only tc_done. This is now corrected so both events are sent. -- When skipping or failing in a configuration function, the configuration function itself would get {auto_skipped,Reason}, {skipped,Reason} or {failed,Reason} in the hook callbacks on_tc_skip or on_tc_fail. The other test cases that were skipped as a result of this would only get Reason in on_tc_skip. This is now corrected so even the configuration function that caused the skip/fail will only get Reason in the hook callback. OTP-14129 Application(s): common_test Related Id(s): seq13244 When a test case was skipped by a skip_cases statement in a test spec, then cth_surefire would erroneously mark the previous test case as skipped in the xml report. The actually skipped test case would not be present in the xml report at all. This is now corrected. OTP-14210 Application(s): common_test The multiply_timetraps and scale_timetraps options did not work with test specifications, which has been corrected. --- Improvements and New Features --- OTP-14132 Application(s): common_test ct_testspec:get_tests/1 is added. This is used by rebar3 to get all directories that must be compiled when running tests from testspec - instead of implementing testspec parsing in rebar3. Full runtime dependencies of common_test-1.14: 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, syntax_tools-1.7, tools-2.8, xmerl-1.3.8 --------------------------------------------------------------------- --- compiler-7.0.4 -------------------------------------------------- --------------------------------------------------------------------- The compiler-7.0.4 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14240 Application(s): compiler Minor internal changes. A typo in the documentation was also fixed. Full runtime dependencies of compiler-7.0.4: crypto-3.6, erts-7.0, hipe-3.12, kernel-4.0, stdlib-2.5 --------------------------------------------------------------------- --- crypto-3.7.3 ---------------------------------------------------- --------------------------------------------------------------------- The crypto-3.7.3 application can be applied independently of other applications on a full OTP 19 installation. --- Improvements and New Features --- OTP-14169 Application(s): crypto, ssh Related Id(s): seq13261 *** HIGHLIGHT *** The implementation of the key exchange algorithms diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11 for the slowest ( = biggest and safest) group size. Full runtime dependencies of crypto-3.7.3: erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- dialyzer-3.1 ---------------------------------------------------- --------------------------------------------------------------------- Note! The dialyzer-3.1 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependency has to be satisfied: -- hipe-3.15.4 (first satisfied in OTP 19.3) --- Fixed Bugs and Malfunctions --- OTP-14130 Application(s): dialyzer, hipe, typer Fix a bug concerning parameterized opaque types. OTP-14177 Application(s): dialyzer Improve a few warnings. One of them could cause a crash. OTP-14249 Application(s): dialyzer, observer Related Id(s): ERL-161 The dialyzer and observer applications will now use a portable way to find the home directory. That means that there is no longer any need to manually set the HOME environment variable on Windows. --- Improvements and New Features --- OTP-14126 Application(s): dialyzer Related Id(s): ERL-308 The peak memory consumption is reduced. The evaluation of huge SCCs in dialyzer_typesig is optimized. Analyzing modules with binary construction with huge strings is now much faster. Full runtime dependencies of dialyzer-3.1: compiler-7.0, erts-8.0, hipe-3.15.4, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2 --------------------------------------------------------------------- --- diameter-1.12.2 ------------------------------------------------- --------------------------------------------------------------------- The diameter-1.12.2 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14206 Application(s): diameter An improvement in the handling of peer failover in diameter 1.12.1 adversely affected performance when sending requests. Further, the inefficient use of a public table to route incoming answers has been removed. OTP-14269 Application(s): diameter, hipe, reltool Fixed xml issues in old release notes Full runtime dependencies of diameter-1.12.2: erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-2.0 --------------------------------------------------------------------- --- erl_interface-3.9.3 --------------------------------------------- --------------------------------------------------------------------- The erl_interface-3.9.3 application can be applied independently of other applications on a full OTP 19 installation. --- Improvements and New Features --- OTP-14233 Application(s): erl_interface Related Id(s): PR-1343 Minor documentation update --------------------------------------------------------------------- --- erts-8.3 -------------------------------------------------------- --------------------------------------------------------------------- Note! The erts-8.3 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependency has to be satisfied: -- sasl-3.0.1 (first satisfied in OTP 19.1) --- Fixed Bugs and Malfunctions --- OTP-14055 Application(s): erts Fixed a number of bugs that caused faulty stack-traces to be generated. The faulty stack traces were generated either when applying the following functions or tracing the following functions: -- erlang:error/1 -- erlang:error/2 -- erlang:exit/1 -- erlang:throw/1 OTP-14118 Application(s): erts Corrected documentation about memory footprint for maps. OTP-14119 Application(s): erts Related Id(s): PR-1263 Fix process_info(Pid, current_stacktrace) to use stack depth limit set by system_flag(backtrace_depth). The old behavior was a hard coded depth limit of 8. OTP-14121 Application(s): erts A process calling erlang:system_flag(multi_scheduling, block) could end up hanging forever in the call. OTP-14122 Application(s): erts Dirty scheduler bug fixes: -- Fixed call time tracing of process being scheduled on dirty scheduler. -- GC info from dirty schedulers. -- Multi scheduling block with dirty schedulers could crash the runtime system. -- Process structures could be removed prematurely. -- GC on dirty scheduler could crash the runtime system. -- Termination of a process executing on a dirty scheduler could cause a runtime system crash. OTP-14133 Application(s): erts Fixed crash that occurred when writing timer data to a crash dump. OTP-14134 Application(s): erts A literal area could be removed while still referred from processes. OTP-14135 Application(s): erts Fixed a bug in the garbage collector that could crash the runtime system. OTP-14136 Application(s): erts Fixed a bug in call-time trace for NIFs which caused tracing to erroneously be started multiple times for one call. OTP-14153 Application(s): erts Remove a debug printout and an unnecessary garbage collection when handling exceptions in hipe compiled code. OTP-14154 Application(s): erts Fix bug in tracing of garbage collection that could cause VM crash. Bug exists since OTP 19.0. OTP-14159 Application(s): erts Related Id(s): ERL-340 Fix bug in binary_to_term for binaries created by term_to_binary with option compressed. The bug can cause badarg exception for a valid binary when Erlang VM is linked against a zlib library of version 1.2.9 or newer. Bug exists since OTP 17.0. OTP-14164 Application(s): erts Fix suspension of schedulers when generating a crashdump. OTP-14202 Application(s): erts NIF resources was not handled in a thread-safe manner in the runtime system without SMP support. As a consequence of this fix, the following driver functions are now thread-safe also in the runtime system without SMP support: -- driver_free_binary() -- driver_realloc_binary() -- driver_binary_get_refc() -- driver_binary_inc_refc() -- driver_binary_dec_refc() OTP-14227 Application(s): erts Fix erlang:round/1 for large floating point numbers with an odd absolute value between (1 bsl 52) and (1 bsl 53). The result was falsely calculated as the next higher even number even though all integer values up to (1 bsl 53) can be represented as floats with full precision. OTP-14228 Application(s): erts Add size of literals to module code size in crash dump and (l)oaded command in break menu like it used to be before OTP-19.0. OTP-14229 Application(s): erts Fix potential bug in enif_send when called without a process context and with argument msg_env as NULL. OTP-14231 Application(s): erts Fix bug where passing an appendable binary to erlang:port_control() could crash the emulator. OTP-14241 Application(s): erts Related Id(s): ERL-365 Receive expressions with timeout in the Erlang shell could cause a VM crash. --- Improvements and New Features --- OTP-14085 Application(s): erts A received SIGTERM signal to beam will generate a 'stop' message to the init process and terminate the Erlang VM nicely. This is equivalent to calling init:stop/0. OTP-14165 Application(s): erts Related Id(s): ERL-319 Workaround for buggy Android implementation of PTHREAD_STACK_MIN causing build of runtime system to crash on undeclared PAGE_SIZE. OTP-14234 Application(s): erts Add configure option --without-thread-names that removes the naming of individual emulator threads. OTP-14254 Application(s): erts Related Id(s): ERL-362 Add warning in documentation of zlib:deflateInit/6 about option WindowsBits values 8 and -8. Full runtime dependencies of erts-8.3: kernel-5.0, sasl-3.0.1, stdlib-3.0 --------------------------------------------------------------------- --- hipe-3.15.4 ----------------------------------------------------- --------------------------------------------------------------------- The hipe-3.15.4 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14130 Application(s): dialyzer, hipe, typer Fix a bug concerning parameterized opaque types. OTP-14269 Application(s): diameter, hipe, reltool Fixed xml issues in old release notes Full runtime dependencies of hipe-3.15.4: compiler-5.0, erts-7.1, kernel-3.0, stdlib-2.5, syntax_tools-1.6.14 --------------------------------------------------------------------- --- inets-6.3.6 ----------------------------------------------------- --------------------------------------------------------------------- The inets-6.3.6 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-13571 Application(s): inets Related Id(s): ERL-116 Chunk size decoding could fail. The symptom was that chunk decoding sometimes failed depending on timing of the received stream. If chunk size was split into two different packets decoding would fail. OTP-14091 Application(s): inets Prevent httpc user process to hang if httpc_handler process terminates unexpectedly OTP-14097 Application(s): inets Correct Host header, to include port number, when redirecting requests. OTP-14173 Application(s): inets Related Id(s): seq13262 Shutdown gracefully on connection or TLS handshake errors Full runtime dependencies of inets-6.3.6: erts-6.0, kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0 --------------------------------------------------------------------- --- kernel-5.2 ------------------------------------------------------ --------------------------------------------------------------------- Note! The kernel-5.2 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependency has to be satisfied: -- erts-8.1 (first satisfied in OTP 19.1) --- Fixed Bugs and Malfunctions --- OTP-14232 Application(s): kernel Related Id(s): seq13275 Fix a race during cleanup of os:cmd that would cause os:cmd to hang indefinitely. --- Improvements and New Features --- OTP-14191 Application(s): kernel The functions in the 'file' module that take a list of paths (e.g. file:path_consult/2) will now continue to search in the path if the path contains something that is not a directory. OTP-14192 Application(s): kernel Two OTP processes that are known to receive many messages are 'rex' (used by 'rpc') and 'error_logger'. Those processes will now store unprocessed messages outside the process heap, which will potentially decrease the cost of garbage collections. Full runtime dependencies of kernel-5.2: erts-8.1, sasl-3.0, stdlib-3.0 --------------------------------------------------------------------- --- observer-2.3.1 -------------------------------------------------- --------------------------------------------------------------------- The observer-2.3.1 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14090 Application(s): observer, runtime_tools Related Id(s): seq13232 etop erroneously reported the average scheduler utilization since the tool was first started instead of the scheduler utilization since last update. This is now corrected. OTP-14093 Application(s): observer Related Id(s): ERL-318 crashdump_viewer crashed when the 'Slogan' had more than one line. This is now corrected. OTP-14151 Application(s): observer Related Id(s): PR-1296 When clicking an HTML-link to a port before the port tab has been opened for the first time, observer would crash since port info is not initiated. This is now corrected. OTP-14249 Application(s): dialyzer, observer Related Id(s): ERL-161 The dialyzer and observer applications will now use a portable way to find the home directory. That means that there is no longer any need to manually set the HOME environment variable on Windows. Full runtime dependencies of observer-2.3.1: erts-7.0, et-1.5, inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2 --------------------------------------------------------------------- --- os_mon-2.4.2 ---------------------------------------------------- --------------------------------------------------------------------- The os_mon-2.4.2 application can be applied independently of other applications on a full OTP 19 installation. --- Improvements and New Features --- OTP-14161 Application(s): os_mon Related Id(s): PR-1309 Support s390x in os_mon. Full runtime dependencies of os_mon-2.4.2: erts-6.0, kernel-3.0, mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0 --------------------------------------------------------------------- --- public_key-1.4 -------------------------------------------------- --------------------------------------------------------------------- The public_key-1.4 application can be applied independently of other applications on a full OTP 19 installation. --- Improvements and New Features --- OTP-13009 Application(s): public_key New function pkix_verify_hostname/2,3 Implements certificate hostname checking. See the manual and RFC 6125. OTP-14223 Application(s): public_key, ssh The ssh host key fingerprint generation now also takes a list of algorithms and returns a list of corresponding fingerprints. See public_key:ssh_hostkey_fingerprint/2 and the option silently_accept_hosts in ssh:connect. Full runtime dependencies of public_key-1.4: asn1-3.0, crypto-3.3, erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- reltool-0.7.3 --------------------------------------------------- --------------------------------------------------------------------- The reltool-0.7.3 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14269 Application(s): diameter, hipe, reltool Fixed xml issues in old release notes Full runtime dependencies of reltool-0.7.3: erts-7.0, kernel-3.0, sasl-2.4, stdlib-2.0, tools-2.6.14, wx-1.2 --------------------------------------------------------------------- --- runtime_tools-1.11.1 -------------------------------------------- --------------------------------------------------------------------- The runtime_tools-1.11.1 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14090 Application(s): observer, runtime_tools Related Id(s): seq13232 etop erroneously reported the average scheduler utilization since the tool was first started instead of the scheduler utilization since last update. This is now corrected. Full runtime dependencies of runtime_tools-1.11.1: erts-8.0, kernel-5.0, mnesia-4.12, stdlib-3.0 --------------------------------------------------------------------- --- sasl-3.0.3 ------------------------------------------------------ --------------------------------------------------------------------- Note! The sasl-3.0.3 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependency has to be satisfied: -- erts-8.1 (first satisfied in OTP 19.1) --- Fixed Bugs and Malfunctions --- OTP-14170 Application(s): sasl When both options 'warnings_as_errors' and 'silent' were given to systools:make_script or systools:make_relup, no error reason would be returned if warnings occurred. Instead only the atom 'error' was returned. This is now corrected. Options 'warnings_as_errors' and 'no_warn_sasl' are now also allowed for systools:make_tar. Full runtime dependencies of sasl-3.0.3: erts-8.1, kernel-5.0, stdlib-3.0, tools-2.6.14 --------------------------------------------------------------------- --- snmp-5.2.5 ------------------------------------------------------ --------------------------------------------------------------------- The snmp-5.2.5 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14145 Application(s): snmp Related Id(s): ERL-325 The SNMP MIB compiler has been fixed to compile MIBS with refinements on user types such as in RFC 4669 RADIUS-AUTH-SERVER-MIB.mib. Problem reported and researched by Kenneth Lakin and Daniel Goertzen. See also: https://bugs.erlang.org/browse/ERL-325 Full runtime dependencies of snmp-5.2.5: crypto-3.3, erts-6.0, kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5 --------------------------------------------------------------------- --- ssh-4.4.1 ------------------------------------------------------- --------------------------------------------------------------------- Note! The ssh-4.4.1 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependencies have to be satisfied: -- crypto-3.7.3 (first satisfied in OTP 19.3) -- public_key-1.4 (first satisfied in OTP 19.3) -- stdlib-3.3 (first satisfied in OTP 19.3) --- Fixed Bugs and Malfunctions --- OTP-14108 Application(s): ssh Fix bug when opening connections. If the tcp setup failed, that would in some cases not result in an error return value. OTP-14109 Application(s): ssh Reduce information leakage in case of decryption errors. OTP-14166 Application(s): ssh The key exchange algorithm diffie-hellman-group-exchange-sha* has a server-option {dh_gex_limits,{Min,Max}}. There was a hostkey signature validation error on the client side if the option was used and the Min or the Max differed from the corresponding values obtained from the client. This bug is now corrected. OTP-14225 Application(s): ssh Related Id(s): PR-1331, PR-1335 The sftpd server now correctly uses root_dir and cwd when resolving file paths if both are provided. The cwd handling is also corrected. Thanks to kape1395! OTP-14230 Application(s): ssh Related Id(s): ERL-364 Ssh_cli used a function that does not handle non-utf8 unicode correctly. --- Improvements and New Features --- OTP-14169 Application(s): crypto, ssh Related Id(s): seq13261 *** HIGHLIGHT *** The implementation of the key exchange algorithms diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11 for the slowest ( = biggest and safest) group size. OTP-14223 Application(s): public_key, ssh The ssh host key fingerprint generation now also takes a list of algorithms and returns a list of corresponding fingerprints. See public_key:ssh_hostkey_fingerprint/2 and the option silently_accept_hosts in ssh:connect. Full runtime dependencies of ssh-4.4.1: crypto-3.7.3, erts-6.0, kernel-3.0, public_key-1.4, stdlib-3.3 --------------------------------------------------------------------- --- ssl-8.1.1 ------------------------------------------------------- --------------------------------------------------------------------- Note! The ssl-8.1.1 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependency has to be satisfied: -- stdlib-3.2 (first satisfied in OTP 19.2) --- Fixed Bugs and Malfunctions --- OTP-14100 Application(s): ssl Corrected termination behavior, that caused a PEM cache bug and sometimes resulted in connection failures. OTP-14138 Application(s): ssl Fix bug that could hang ssl connection processes when failing to require more data for very large handshake packages. Add option max_handshake_size to mitigate DoS attacks. OTP-14141 Application(s): ssl Improved support for CRL handling that could fail to work as intended when an id-ce-extKeyUsage was present in the certificate. Also improvements where needed to distributionpoint handling so that all revocations actually are found and not deemed to be not determinable. OTP-14222 Application(s): ssl A TLS handshake might accidentally match old sslv2 format and ssl application would incorrectly aborted TLS handshake with ssl_v2_client_hello_no_supported. Parsing was altered to avoid this problem. OTP-14235 Application(s): ssl Correct default cipher list to prefer AES 128 before 3DES --- Improvements and New Features --- OTP-13874 Application(s): ssl Move PEM cache to a dedicated process, to avoid making the SSL manager process a bottleneck. This improves scalability of TLS connections. Full runtime dependencies of ssl-8.1.1: crypto-3.3, erts-7.0, inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.2 --------------------------------------------------------------------- --- stdlib-3.3 ------------------------------------------------------ --------------------------------------------------------------------- The stdlib-3.3 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14098 Application(s): stdlib An escript with only two lines would not work. OTP-14103 Application(s): stdlib Related Id(s): ERL-313 Characters ($char) can be used in constant pattern expressions. They can also be used in types and contracts. OTP-14131 Application(s): stdlib The signatures of erl_parse:anno_to_term/1 and erl_parse:anno_from_term/1 are corrected. Using these functions no longer results in false Dialyzer warnings. OTP-14175 Application(s): stdlib Related Id(s): seq13277 Pretty-printing of maps is improved. OTP-14189 Application(s): stdlib Related Id(s): ERL-348, ERL-349 If any of the following functions in the zip module crashed, a file would be left open: extract(), unzip(), create(), or zip(). This has been corrected. A zip file having a "Unix header" could not be unpacked. OTP-14200 Application(s): stdlib Related Id(s): ERL-352 Improve the Erlang shell's tab-completion of long names. OTP-14248 Application(s): stdlib Related Id(s): ERL-367 The reference manual for sys had some faulty information about the 'get_modules' message used by processes where modules change dynamically during runtime. The documentation is now corrected. --- Improvements and New Features --- OTP-14114 Application(s): stdlib Bug fixes, new features and improvements to gen_statem: A new type init_result/1 has replaced the old init_result/0, so if you used that old type (that was never documented) you have to change your code, which may be regarded as a potential incompatibility. Changing callback modes after code change did not work since the new callback mode was not recorded. This bug has been fixed. The event types state_timeout and {call,From} could not be generated with a {next_event,EventType,EventContent} action since they did not pass the runtime type check. This bug has now been corrected. State entry calls can now be repeated using (new) state callback returns {repeat_state,...}, {repeat_state_and_data,_} and repeat_state_and_data. There have been lots of code cleanup in particular regarding timer handling. For example is async cancel_timer now used. Error handling has also been cleaned up. To align with probable future changes to the rest of gen_*, terminate/3 has now got a fallback and code_change/4 is not mandatory. OTP-14215 Application(s): stdlib filename:safe_relative_path/1 to sanitize a relative path has been added. Full runtime dependencies of stdlib-3.3: compiler-5.0, crypto-3.3, erts-8.0, kernel-5.0, sasl-3.0 --------------------------------------------------------------------- --- tools-2.9.1 ----------------------------------------------------- --------------------------------------------------------------------- Note! The tools-2.9.1 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependency has to be satisfied: -- stdlib-3.1 (first satisfied in OTP 19.1) --- Improvements and New Features --- OTP-14217 Application(s): tools Related Id(s): PR-1282 Improved edoc support in emacs mode. Full runtime dependencies of tools-2.9.1: compiler-5.0, erts-7.0, inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.1 --------------------------------------------------------------------- --- typer-0.9.12 ---------------------------------------------------- --------------------------------------------------------------------- Note! The typer-0.9.12 application can *not* be applied independently of other applications on an arbitrary OTP 19 installation. On a full OTP 19 installation, also the following runtime dependencies have to be satisfied: -- dialyzer-3.1 (first satisfied in OTP 19.3) -- hipe-3.15.4 (first satisfied in OTP 19.3) --- Fixed Bugs and Malfunctions --- OTP-14130 Application(s): dialyzer, hipe, typer Fix a bug concerning parameterized opaque types. Full runtime dependencies of typer-0.9.12: compiler-7.0, dialyzer-3.1, erts-8.0, hipe-3.15.4, kernel-5.0, stdlib-3.0 --------------------------------------------------------------------- --- xmerl-1.3.13 ---------------------------------------------------- --------------------------------------------------------------------- The xmerl-1.3.13 application can be applied independently of other applications on a full OTP 19 installation. --- Fixed Bugs and Malfunctions --- OTP-14139 Application(s): xmerl The namespace_conformant option in xmerl_scan did not work when parsing documents without explicit XML namespace declaration. OTP-14211 Application(s): xmerl Fix a "well-formedness" bug in the XML Sax parser so it returns an error if there are something more in the file after the matching document. If one using the xmerl_sax_parser:stream() a rest is allowed which then can be sent to a new call of xmerl_sax_parser:stream() to parse next document. This is done to be compliant with XML conformance tests. OTP-14212 Application(s): xmerl Fixed compiler and dialyzer warnings in the XML SAX parser. OTP-14213 Application(s): xmerl Change how to interpret end of document in the XML SAX parser to comply with Tim Brays comment on the standard. This makes it possible to handle more than one doc on a stream, the standard makes it impossible to know when the document is ended without waiting for the next document (and not always even that). Tim Brays comment: Trailing "Misc" The fact that you're allowed some trailing junk after the root element, I decided (but unfortunately too late) is a real design error in XML. If I'm writing a network client, I'm probably going to close the link as soon as a I see the root element end-tag, and not depend on the other end closing it down properly. Furthermore, if I want to send a succession of XML documents over a network link, if I find a processing instruction after a root element, is it a trailer on the previous document, or part of the prolog of the next? Full runtime dependencies of xmerl-1.3.13: erts-6.0, kernel-3.0, stdlib-2.5 --------------------------------------------------------------------- --- Thanks to ------------------------------------------------------- --------------------------------------------------------------------- Amir Ghassemi Nasr, Björn Gustavsson, Dave Jeffrey, Håkan Mattsson, Jing Peng, Karolis Petrauskas, Kim Shrier, Kostis Sagonas, Leo Liu, Magnus Henoch, Malcolm, Nico, Philip Cristiano, Péter Gömöri, Satyen Chimulkar, Shaun Mangelsdorf, Steven Danna, pulitta, visciang --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------