Skip to content

Commit

Permalink
Prepare release
Browse files Browse the repository at this point in the history
  • Loading branch information
Erlang/OTP committed Mar 14, 2017
1 parent 3b72ab9 commit 4d65800
Show file tree
Hide file tree
Showing 42 changed files with 1,055 additions and 22 deletions.
213 changes: 213 additions & 0 deletions erts/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,219 @@
<p>This document describes the changes made to the ERTS application.</p>


<section><title>Erts 8.3</title>

<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>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:</p> <list>
<item><c>erlang:error/1</c></item>
<item><c>erlang:error/2</c></item>
<item><c>erlang:exit/1</c></item>
<item><c>erlang:throw/1</c></item> </list>
<p>
Own Id: OTP-14055</p>
</item>
<item>
<p>
Corrected documentation about memory footprint for maps.</p>
<p>
Own Id: OTP-14118</p>
</item>
<item>
<p>
Fix <c>process_info(Pid, current_stacktrace)</c> to use
stack depth limit set by
<c>system_flag(backtrace_depth)</c>. The old behavior was
a hard coded depth limit of 8.</p>
<p>
Own Id: OTP-14119 Aux Id: PR-1263 </p>
</item>
<item>
<p>
A process calling <seealso
marker="erlang#system_flag_multi_scheduling"><c>erlang:system_flag(multi_scheduling,
block)</c></seealso> could end up hanging forever in the
call.</p>
<p>
Own Id: OTP-14121</p>
</item>
<item>
<p>Dirty scheduler bug fixes:</p> <list> <item><p>Fixed
call time tracing of process being scheduled on dirty
scheduler.</p></item> <item><p>GC info from dirty
schedulers.</p></item> <item><p>Multi scheduling block
with dirty schedulers could crash the runtime
system.</p></item> <item><p>Process structures could be
removed prematurely.</p></item> <item><p>GC on dirty
scheduler could crash the runtime system.</p></item>
<item><p>Termination of a process executing on a dirty
scheduler could cause a runtime system crash.</p></item>
</list>
<p>
Own Id: OTP-14122</p>
</item>
<item>
<p>
Fixed crash that occurred when writing timer data to a
crash dump.</p>
<p>
Own Id: OTP-14133</p>
</item>
<item>
<p>
A literal area could be removed while still referred from
processes.</p>
<p>
Own Id: OTP-14134</p>
</item>
<item>
<p>
Fixed a bug in the garbage collector that could crash the
runtime system.</p>
<p>
Own Id: OTP-14135</p>
</item>
<item>
<p>
Fixed a bug in call-time trace for NIFs which caused
tracing to erroneously be started multiple times for one
call.</p>
<p>
Own Id: OTP-14136</p>
</item>
<item>
<p>
Remove a debug printout and an unnecessary garbage
collection when handling exceptions in hipe compiled
code.</p>
<p>
Own Id: OTP-14153</p>
</item>
<item>
<p>
Fix bug in tracing of garbage collection that could cause
VM crash. Bug exists since OTP 19.0.</p>
<p>
Own Id: OTP-14154</p>
</item>
<item>
<p>
Fix bug in <c>binary_to_term</c> for binaries created by
<c>term_to_binary </c> with option <c>compressed</c>. The
bug can cause <c>badarg</c> exception for a valid binary
when Erlang VM is linked against a <c>zlib</c> library of
version 1.2.9 or newer. Bug exists since OTP 17.0.</p>
<p>
Own Id: OTP-14159 Aux Id: ERL-340 </p>
</item>
<item>
<p>
Fix suspension of schedulers when generating a crashdump.</p>
<p>
Own Id: OTP-14164</p>
</item>
<item>
<p>NIF resources was not handled in a thread-safe manner
in the runtime system without SMP support.</p>
<p>As a consequence of this fix, the following driver
functions are now thread-safe also in the runtime system
without SMP support:</p> <list>
<item><p><c>driver_free_binary()</c></p></item>
<item><p><c>driver_realloc_binary()</c></p></item>
<item><p><c>driver_binary_get_refc()</c></p></item>
<item><p><c>driver_binary_inc_refc()</c></p></item>
<item><p><c>driver_binary_dec_refc()</c></p></item>
</list>
<p>
Own Id: OTP-14202</p>
</item>
<item>
<p>
Fix <c>erlang:round/1</c> for large floating point
numbers with an odd absolute value between <c>(1 bsl
52)</c> and <c>(1 bsl 53)</c>. The result was falsely
calculated as the next higher even number even though all
integer values up to <c>(1 bsl 53)</c> can be represented
as floats with full precision.</p>
<p>
Own Id: OTP-14227</p>
</item>
<item>
<p>
Add size of literals to module code size in crash dump
and <c>(l)oaded</c> command in break menu like it used to
be before OTP-19.0.</p>
<p>
Own Id: OTP-14228</p>
</item>
<item>
<p>
Fix potential bug in <c>enif_send</c> when called without
a process context and with argument <c>msg_env</c> as
<c>NULL</c>.</p>
<p>
Own Id: OTP-14229</p>
</item>
<item>
<p>
Fix bug where passing an appendable binary to
<c>erlang:port_control()</c> could crash the emulator.</p>
<p>
Own Id: OTP-14231</p>
</item>
<item>
<p>
Receive expressions with timeout in the Erlang shell
could cause a VM crash.</p>
<p>
Own Id: OTP-14241 Aux Id: ERL-365 </p>
</item>
</list>
</section>


<section><title>Improvements and New Features</title>
<list>
<item>
<p>
A received SIGTERM signal to beam will generate a
<c>'stop'</c> message to the <c>init</c> process and
terminate the Erlang VM nicely. This is equivalent to
calling <c>init:stop/0</c>.</p>
<p>
Own Id: OTP-14085</p>
</item>
<item>
<p>
Workaround for buggy Android implementation of
<c>PTHREAD_STACK_MIN</c> causing build of runtime system
to crash on undeclared <c>PAGE_SIZE</c>.</p>
<p>
Own Id: OTP-14165 Aux Id: ERL-319 </p>
</item>
<item>
<p>
Add configure option --without-thread-names that removes
the naming of individual emulator threads.</p>
<p>
Own Id: OTP-14234</p>
</item>
<item>
<p>
Add warning in documentation of <c>zlib:deflateInit/6</c>
about option <c>WindowsBits</c> values 8 and -8.</p>
<p>
Own Id: OTP-14254 Aux Id: ERL-362 </p>
</item>
</list>
</section>

</section>

<section><title>Erts 8.2.2</title>

<section><title>Fixed Bugs and Malfunctions</title>
Expand Down
117 changes: 117 additions & 0 deletions lib/common_test/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,123 @@
<file>notes.xml</file>
</header>

<section><title>Common_Test 1.14</title>

<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>The following corrections and improvements are done in
the common_test hook handling:</p> <list> <item> <p>An
extra argument, <c>Suite</c>, is added as the first
argument to each of the following hook callback
functions:</p> <list>
<item><c>pre_init_per_group</c></item>
<item><c>post_init_per_group</c></item>
<item><c>pre_end_per_group</c></item>
<item><c>post_end_per_group</c></item>
<item><c>pre_init_per_testcase</c></item>
<item><c>post_init_per_testcase</c></item>
<item><c>pre_end_per_testcase</c></item>
<item><c>post_end_per_testcase</c></item>
<item><c>on_tc_fail</c></item>
<item><c>on_tc_skip</c></item> </list> <p>For backwards
compatibility, if the new function is not exported from a
hook callback module, <c>common_test</c> will fall back
to the old interface and call the function without the
<c>Suite</c> argument.</p> </item> <item> <p>If either
<c>init_per_suite</c> or <c>end_per_suite</c> exists, but
not the other, then the non-existing function will be
reported as failed with reason <c>undef</c> in the test
log. The same goes for <c>init/end_per_group</c>. This
has always been a requirement according to the user's
guide, but now <c>common_test</c> is more explicit in the
report.</p> </item> <item> <p>If <c>init_per_suite</c>
was exported from a test suite, but not
<c>end_per_suite</c>, then <c>pre/post_end_per_suite</c>
was called with <c>Suite=ct_framework</c> instead of the
correct suite name. This is now corrected.</p> </item>
<item> <p>If <c>end_per_group</c> was exported from a
suite, but not <c>init_per_group</c>, then
<c>end_per_group</c> was never called. This is now
corrected.</p> </item> <item> <p>Tests that were skipped
before calling <c>pre_init_per_*</c> got faulty calls to
the corresponding <c>post_init_per_*</c>. E.g. if a test
was skipped because <c>suite/0</c> failed, then
<c>post_init_per_suite</c> would be called even though
<c>pre_init_per_suite</c> and <c>init_per_suite</c> were
not called. This is now corrected so a <c>post_*</c>
callback will never be called unless the corresponding
<c>pre_*</c> callback has been called first.</p> </item>
<item> <p>Tests that were skipped before or in
<c>init_per_testcase</c> got faulty calls to
<c>pre_end_per_testcase</c> and
<c>post_end_per_testcase</c>. This is now corrected so
<c>pre/post_end_per_testcase</c> are not called when
<c>end_per_testcase</c> is not called.</p> </item> <item>
<p>If an exit signal causes the test case process to die
while running <c>init_per_testcase</c>, the case was
earlier reported as failed with reason <c>{skip,...}</c>.
This is now corrected so the case will be marked as
skipped.</p> </item> <item> <p>If an exist signal causes
the test case process to die while running
<c>end_per_testcase</c>, 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.</p> </item> <item> <p>If a test case
was skipped because of option
<c>{force_stop,skip_rest}</c> or because of a failed
sequence, then no <c>tc_start</c> event would be sent,
only <c>tc_done</c>. This is now corrected so both events
are sent.</p> </item> <item> <p>When skipping or failing
in a configuration function, the configuration function
itself would get <c>{auto_skipped,Reason}</c>,
<c>{skipped,Reason}</c> or <c>{failed,Reason}</c> in the
hook callbacks <c>on_tc_skip</c> or <c>on_tc_fail</c>.
The other test cases that were skipped as a result of
this would only get <c>Reason</c> in <c>on_tc_skip</c>.
This is now corrected so even the configuration function
that caused the skip/fail will only get <c>Reason</c> in
the hook callback.</p> </item> </list>
<p>
Own Id: OTP-10599 Aux Id: kunagi-344 [255] </p>
</item>
<item>
<p>
When a test case was skipped by a <c>skip_cases</c>
statement in a test spec, then <c>cth_surefire</c> 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.</p>
<p>
Own Id: OTP-14129 Aux Id: seq13244 </p>
</item>
<item>
<p>The <c>multiply_timetraps</c> and
<c>scale_timetraps</c> options did not work with test
specifications, which has been corrected.</p>
<p>
Own Id: OTP-14210</p>
</item>
</list>
</section>


<section><title>Improvements and New Features</title>
<list>
<item>
<p>
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.</p>
<p>
Own Id: OTP-14132</p>
</item>
</list>
</section>

</section>

<section><title>Common_Test 1.13</title>

<section><title>Fixed Bugs and Malfunctions</title>
Expand Down
2 changes: 1 addition & 1 deletion lib/common_test/vsn.mk
Original file line number Diff line number Diff line change
@@ -1 +1 @@
COMMON_TEST_VSN = 1.13
COMMON_TEST_VSN = 1.14
16 changes: 16 additions & 0 deletions lib/compiler/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,22 @@
<p>This document describes the changes made to the Compiler
application.</p>

<section><title>Compiler 7.0.4</title>

<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Minor internal changes. A typo in the documentation was
also fixed.</p>
<p>
Own Id: OTP-14240</p>
</item>
</list>
</section>

</section>

<section><title>Compiler 7.0.3</title>

<section><title>Fixed Bugs and Malfunctions</title>
Expand Down
2 changes: 1 addition & 1 deletion lib/compiler/vsn.mk
Original file line number Diff line number Diff line change
@@ -1 +1 @@
COMPILER_VSN = 7.0.3
COMPILER_VSN = 7.0.4
18 changes: 18 additions & 0 deletions lib/crypto/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,24 @@
</header>
<p>This document describes the changes made to the Crypto application.</p>

<section><title>Crypto 3.7.3</title>

<section><title>Improvements and New Features</title>
<list>
<item>
<p>
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.</p>
<p>
Own Id: OTP-14169 Aux Id: seq-13261 </p>
</item>
</list>
</section>

</section>

<section><title>Crypto 3.7.2</title>

<section><title>Fixed Bugs and Malfunctions</title>
Expand Down
Loading

0 comments on commit 4d65800

Please sign in to comment.