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
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------