Skip to content

Commit

Permalink
Prepare release
Browse files Browse the repository at this point in the history
  • Loading branch information
Erlang/OTP committed Jun 19, 2018
1 parent fab4839 commit bb19e24
Show file tree
Hide file tree
Showing 67 changed files with 2,961 additions and 37 deletions.
936 changes: 936 additions & 0 deletions erts/doc/src/notes.xml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion erts/vsn.mk
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# %CopyrightEnd%
#

VSN = 9.3.3
VSN = 10.0

# Port number 4365 in 4.2
# Port number 4366 in 4.3
Expand Down
15 changes: 15 additions & 0 deletions lib/asn1/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,21 @@
<p>This document describes the changes made to the asn1 application.</p>


<section><title>Asn1 5.0.6</title>

<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Update to use the new string api instead of the old.</p>
<p>
Own Id: OTP-15036</p>
</item>
</list>
</section>

</section>

<section><title>Asn1 5.0.5</title>

<section><title>Fixed Bugs and Malfunctions</title>
Expand Down
2 changes: 1 addition & 1 deletion lib/asn1/vsn.mk
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ASN1_VSN = 5.0.5
ASN1_VSN = 5.0.6
22 changes: 22 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,28 @@
<file>notes.xml</file>
</header>

<section><title>Common_Test 1.16</title>

<section><title>Improvements and New Features</title>
<list>
<item>
<p>Use the compiler option <c>nowarn_export_all</c> to
disable <c>export_all</c> warnings when automatically
compiling test suites.</p>
<p>
Own Id: OTP-14810</p>
</item>
<item>
<p>
Use uri_string module instead of http_uri.</p>
<p>
Own Id: OTP-14902</p>
</item>
</list>
</section>

</section>

<section><title>Common_Test 1.15.4</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.15.4
COMMON_TEST_VSN = 1.16
220 changes: 220 additions & 0 deletions lib/compiler/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,226 @@
<p>This document describes the changes made to the Compiler
application.</p>

<section><title>Compiler 7.2</title>

<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>Fixed an error in an optimization pass that caused
impossible tuple matching.</p>
<p>
Own Id: OTP-14855 Aux Id: ERL-549 </p>
</item>
<item>
<p>The exception thrown when a list comprehension was
given a non-list term was not always correct.</p>
<p>
Own Id: OTP-14992 Aux Id: ERL-572 </p>
</item>
<item>
<p>The compiler could produce incorrect code in rare
circumstances when the <c>[{inline,F/A}]</c> option was
used.</p>
<p>
Own Id: OTP-15115 Aux Id: PR-1831 </p>
</item>
</list>
</section>


<section><title>Improvements and New Features</title>
<list>
<item>
<p>Changed the default behaviour of <c>.erlang</c>
loading: <c>.erlang</c> is no longer loaded from the
current directory. <c>c:erlangrc(PathList)</c> can be
used to search and load an <c>.erlang</c> file from user
specified directories.</p> <p><c>escript</c>,
<c>erlc</c>, <c>dialyzer</c> and <c>typer</c> no longer
load an <c>.erlang</c> at all.</p>
<p>
*** POTENTIAL INCOMPATIBILITY ***</p>
<p>
Own Id: OTP-14439</p>
</item>
<item>
<p>Support for "tuple calls" have been removed from the
run-time system. Tuple calls was an undocumented and
unsupported feature which allowed the module argument for
an apply operation to be a tuple: <c>Var = dict:new(),
Var:size()</c>. This "feature" frequently caused
confusion, especially when such call failed. The
stacktrace would point out functions that don't exist in
the source code.</p>
<p>For legacy code that need to use parameterized modules
or tuple calls for some other reason, there is a new
compiler option called <c>tuple_calls</c>. When this
option is given, the compiler will generate extra code
that emulates the old behavior for calls where the module
is a variable.</p>
<p>
*** POTENTIAL INCOMPATIBILITY ***</p>
<p>
Own Id: OTP-14497</p>
</item>
<item>
<p>In code such as <c>example({ok, Val}) -&gt; {ok,
Val}.</c> a tuple would be built. The compiler will now
automatically rewrite the code to
<c>example({ok,Val}=Tuple) -&gt; Tuple.</c> which will
reduce code size, execution time, and remove GC
pressure.</p>
<p>
Own Id: OTP-14505</p>
</item>
<item>
<p>The optimization of <c>case</c> expression where only
one of the case arms can execute successfully has been
improved.</p>
<p>
Own Id: OTP-14525</p>
</item>
<item>
<p>Some uses of binary matching has been slightly
improved, eliminating unnecessary register shuffling.</p>
<p>
Own Id: OTP-14594 Aux Id: ERL-444 </p>
</item>
<item>
<p>There is a new <c>{compile_info,Info}</c> option for
the compiler that allows BEAM-based languages such as
Elixir and LFE to add their own compiler versions.</p>
<p>
Own Id: OTP-14615 Aux Id: PR-1558 </p>
</item>
<item>
<p>Loaded BEAM code in a 64-bit system requires less
memory because of better packing of operands for
instructions.</p>
<p>These memory savings were achieved by major
improvements to the <c>beam_makeops</c> scripts used when
building the run time system and BEAM compiler. There is
also new for documentation for <c>beam_makeops</c> that
describes how new BEAM instructions and loader
transformations can be implemented. The documentation is
found in here in a source directory or git repository:
erts/emulator/internal_doc/beam_makeops.md. An online
version can be found here:
https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md</p>
<p>
Own Id: OTP-14626</p>
</item>
<item>
<p>Size calculations for binary constructions has been
somewhat optimized, producing smaller code.</p>
<p>
Own Id: OTP-14654</p>
</item>
<item>
<p>When the value returned from a '<c>catch</c>'
expression is ignored, no stacktrace will be built if an
exception is caught. That will save time and produce less
garbage. There are also some minor optimizations of
'<c>try</c>/<c>catch</c>' both in the compiler and
run-time system.</p>
<p>
Own Id: OTP-14683</p>
</item>
<item>
<p>There is a new syntax in '<c>try/catch</c>' for
retrieving the stacktrace without calling
'<c>erlang:get_stacktrace/0</c>'. See the reference
manual for a description of the new syntax. The
'<c>erlang:get_stacktrace/0</c>' BIF is now
deprecated.</p>
<p>
Own Id: OTP-14692</p>
</item>
<item>
<p>The following is an internal change in the compiler,
that is not noticeable for normal use of the compiler:
The module <c>v3_life</c> has been removed. Its
functionality has been simplified and integrated into
<c>v3_codegen</c>.</p>
<p>
Own Id: OTP-14712</p>
</item>
<item>
<p>The optimization of binary matching that delays
creation of sub binaries (see the Efficiency Guide) could
be thwarted by the argument order and could be necessary
to change the argument order. The compiler has now become
smarter and can handle any argument order.</p>
<p>
Own Id: OTP-14774</p>
</item>
<item>
<p>When the compiler was faced with complex case
expressions it would unnecessarily allocate stack
elements and shuffle data between x and y registers.
Improved code generation to only allocate a stack frame
when strictly necessary.</p>
<p>
Own Id: OTP-14808 Aux Id: ERL-514 </p>
</item>
<item>
<p>There is a new option '<c>makedep_side_effect</c>' for
the compiler and <c>-MMD</c> for '<c>erlc</c>' that
generates dependencies and continues to compile as
normal.</p>
<p>
Own Id: OTP-14830</p>
</item>
<item>
<p>When compiling modules with huge functions, the
compiler would generate a lot of atoms for its internal,
sometimes so many that the atom table would overflow. The
compiler has been rewritten to generate far less internal
atoms to avoid filling the atom table.</p>
<p>
Own Id: OTP-14968 Aux Id: ERL-563 </p>
</item>
<item>
<p>External funs with literal values for module, name,
and arity (e.g. <c>erlang:abs/1</c>) are now treated as
literals. That means more efficient code that produces
less garbage on the heap.</p>
<p>
Own Id: OTP-15003</p>
</item>
<item>
<p>Two new guards BIFs operating on maps have been added:
<c>map_get/2</c> and <c>is_map_key/2</c>. They do the
same as <c>maps:get/2</c> and <c>maps:is_key/2</c>,
respectively, except that they are allowed to be used in
guards.</p>
<p>
Own Id: OTP-15037 Aux Id: PR-1784, PR-1802 </p>
</item>
<item>
<p>A call or apply of a literal external fun will be
replaced with a direct call.</p>
<p>
Own Id: OTP-15044 Aux Id: ERL-614 </p>
</item>
<item>
<p>Part of EEP-44 has been implemented.</p>
<p>There is a new predefined macro called
<c>OTP_RELEASE</c> which is an integer indicating the OTP
release number (its value is <c>21</c> in this
release).</p>
<p>There are new preprocessor directives
<c>-if(Condition).</c> and <c>-elif(Condition).</c>. The
<c>if/elif</c> supports the builtin function
<c>defined(Symbol)</c>.</p>
<p>
Own Id: OTP-15087 Aux Id: PR-1810 </p>
</item>
</list>
</section>

</section>

<section><title>Compiler 7.1.5</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.1.5
COMPILER_VSN = 7.2
47 changes: 47 additions & 0 deletions lib/crypto/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,53 @@
</header>
<p>This document describes the changes made to the Crypto application.</p>

<section><title>Crypto 4.3</title>

<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Removed two undocumented and erroneous functions
(<c>crypto:dh_generate_parameters/2</c> and
<c>crypto:dh_check/1</c>).</p>
<p>
Own Id: OTP-14956 Aux Id: ERL-579 </p>
</item>
<item>
<p>
Fixed bug causing VM crash if doing runtime upgrade of a
crypto module built against OpenSSL older than 0.9.8h.
Bug exists since OTP-20.2.</p>
<p>
Own Id: OTP-15088</p>
</item>
</list>
</section>


<section><title>Improvements and New Features</title>
<list>
<item>
<p>
A new <c>rand</c> plugin algorithm has been implemented
in <c>crypto</c>, that is: <c>crypto_cache</c>. It uses
strong random bytes as randomness source and caches them
to get good speed. See <c>crypto:rand_seed_alg/1</c>.</p>
<p>
Own Id: OTP-13370 Aux Id: PR-1573 </p>
</item>
<item>
<p>
Diffie-Hellman key functions are re-written with the
EVP_PKEY api.</p>
<p>
Own Id: OTP-14864</p>
</item>
</list>
</section>

</section>

<section><title>Crypto 4.2.2</title>

<section><title>Fixed Bugs and Malfunctions</title>
Expand Down
2 changes: 1 addition & 1 deletion lib/crypto/vsn.mk
Original file line number Diff line number Diff line change
@@ -1 +1 @@
CRYPTO_VSN = 4.2.2
CRYPTO_VSN = 4.3
15 changes: 15 additions & 0 deletions lib/debugger/doc/src/notes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,21 @@
<p>This document describes the changes made to the Debugger
application.</p>

<section><title>Debugger 4.2.5</title>

<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p> Fix a bug where calling a fun inside a binary would
crash the Debugger. </p>
<p>
Own Id: OTP-14957 Aux Id: PR-1741 </p>
</item>
</list>
</section>

</section>

<section><title>Debugger 4.2.4</title>

<section><title>Fixed Bugs and Malfunctions</title>
Expand Down
2 changes: 1 addition & 1 deletion lib/debugger/vsn.mk
Original file line number Diff line number Diff line change
@@ -1 +1 @@
DEBUGGER_VSN = 4.2.4
DEBUGGER_VSN = 4.2.5
Loading

0 comments on commit bb19e24

Please sign in to comment.