aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--erts/doc/src/erl_nif.xml10
-rw-r--r--erts/doc/src/erlang.xml4
-rw-r--r--erts/doc/src/net.xml20
-rw-r--r--erts/doc/src/notes.xml454
-rw-r--r--erts/doc/src/socket.xml158
-rw-r--r--erts/emulator/beam/erl_nif.h2
-rw-r--r--erts/vsn.mk2
-rw-r--r--lib/asn1/doc/src/notes.xml26
-rw-r--r--lib/asn1/vsn.mk2
-rw-r--r--lib/common_test/doc/src/ct_hooks.xml4
-rw-r--r--lib/common_test/doc/src/notes.xml74
-rw-r--r--lib/common_test/vsn.mk2
-rw-r--r--lib/compiler/doc/src/notes.xml85
-rw-r--r--lib/compiler/vsn.mk2
-rw-r--r--lib/crypto/doc/src/notes.xml131
-rw-r--r--lib/crypto/vsn.mk2
-rw-r--r--lib/debugger/doc/src/notes.xml17
-rw-r--r--lib/debugger/vsn.mk2
-rw-r--r--lib/dialyzer/doc/src/notes.xml29
-rw-r--r--lib/dialyzer/vsn.mk2
-rw-r--r--lib/edoc/doc/src/notes.xml14
-rw-r--r--lib/edoc/vsn.mk2
-rw-r--r--lib/eldap/doc/src/notes.xml22
-rw-r--r--lib/eldap/vsn.mk2
-rw-r--r--lib/erl_docgen/doc/src/notes.xml19
-rw-r--r--lib/erl_docgen/vsn.mk2
-rw-r--r--lib/erl_interface/doc/src/ei.xml6
-rw-r--r--lib/erl_interface/doc/src/notes.xml76
-rw-r--r--lib/erl_interface/vsn.mk2
-rw-r--r--lib/hipe/doc/src/notes.xml46
-rw-r--r--lib/hipe/vsn.mk2
-rw-r--r--lib/inets/doc/src/notes.xml19
-rw-r--r--lib/inets/vsn.mk2
-rw-r--r--lib/jinterface/doc/src/notes.xml36
-rw-r--r--lib/jinterface/vsn.mk2
-rw-r--r--lib/kernel/doc/src/notes.xml76
-rw-r--r--lib/kernel/src/kernel.appup.src28
-rw-r--r--lib/kernel/vsn.mk2
-rw-r--r--lib/megaco/doc/src/notes.xml25
-rw-r--r--lib/megaco/vsn.mk2
-rw-r--r--lib/mnesia/doc/src/notes.xml36
-rw-r--r--lib/mnesia/vsn.mk2
-rw-r--r--lib/observer/doc/src/notes.xml17
-rw-r--r--lib/observer/vsn.mk2
-rw-r--r--lib/odbc/doc/src/notes.xml18
-rw-r--r--lib/odbc/vsn.mk2
-rw-r--r--lib/os_mon/doc/src/notes.xml29
-rw-r--r--lib/os_mon/vsn.mk2
-rw-r--r--lib/public_key/doc/src/notes.xml52
-rw-r--r--lib/public_key/vsn.mk2
-rw-r--r--lib/reltool/doc/src/notes.xml35
-rw-r--r--lib/reltool/vsn.mk2
-rw-r--r--lib/runtime_tools/doc/src/notes.xml16
-rw-r--r--lib/runtime_tools/vsn.mk2
-rw-r--r--lib/sasl/doc/src/notes.xml17
-rw-r--r--lib/sasl/src/sasl.appup.src24
-rw-r--r--lib/sasl/vsn.mk2
-rw-r--r--lib/snmp/doc/src/notes.xml27
-rw-r--r--lib/ssh/doc/src/notes.xml15
-rw-r--r--lib/ssh/vsn.mk2
-rw-r--r--lib/ssl/doc/src/notes.xml67
-rw-r--r--lib/ssl/vsn.mk2
-rw-r--r--lib/stdlib/doc/src/notes.xml225
-rw-r--r--lib/stdlib/src/stdlib.app.src2
-rw-r--r--lib/stdlib/src/stdlib.appup.src26
-rw-r--r--lib/stdlib/vsn.mk2
-rw-r--r--lib/syntax_tools/doc/src/notes.xml28
-rw-r--r--lib/syntax_tools/vsn.mk2
-rw-r--r--lib/tools/doc/src/notes.xml43
-rw-r--r--lib/tools/vsn.mk2
-rw-r--r--lib/wx/doc/src/notes.xml17
-rw-r--r--lib/wx/vsn.mk2
-rw-r--r--lib/xmerl/doc/src/notes.xml15
-rw-r--r--lib/xmerl/vsn.mk2
-rw-r--r--make/otp_version_tickets137
75 files changed, 2092 insertions, 197 deletions
diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml
index c0be715678..f88d255296 100644
--- a/erts/doc/src/erl_nif.xml
+++ b/erts/doc/src/erl_nif.xml
@@ -1090,7 +1090,7 @@ typedef struct {
</func>
<func>
- <name since="OTP @OTP-15011@"><ret>int</ret>
+ <name since="OTP 22.0"><ret>int</ret>
<nametext>enif_compare_pids(const ErlNifPid *pid1, const ErlNifPid *pid2)
</nametext></name>
<fsummary>Compare two pids.</fsummary>
@@ -1890,7 +1890,7 @@ enif_inspect_iovec(env, max_elements, term, &amp;tail, &amp;iovec);
</func>
<func>
- <name since="OTP @OTP-15011@"><ret>int</ret>
+ <name since="OTP 22.0"><ret>int</ret>
<nametext>enif_is_pid_undefined(const ErlNifPid* pid)</nametext></name>
<fsummary>Determine if pid is undefined.</fsummary>
<desc>
@@ -2247,7 +2247,7 @@ enif_inspect_iovec(env, max_elements, term, &amp;tail, &amp;iovec);
</func>
<func>
- <name since="OTP @OTP-15362@"><ret>ERL_NIF_TERM</ret>
+ <name since="OTP 22.0"><ret>ERL_NIF_TERM</ret>
<nametext>enif_make_monitor_term(ErlNifEnv* env, const ErlNifMonitor* mon)</nametext></name>
<fsummary>Make monitor term from the given monitor identifier.</fsummary>
<desc>
@@ -3306,7 +3306,7 @@ if (retval &amp; ERL_NIF_SELECT_STOP_CALLED) {
</func>
<func>
- <name since="OTP @OTP-15011@"><ret>void</ret>
+ <name since="OTP 22.0"><ret>void</ret>
<nametext>enif_set_pid_undefined(ErlNifPid* pid)</nametext></name>
<fsummary>Set pid as undefined.</fsummary>
<desc>
@@ -3369,7 +3369,7 @@ if (retval &amp; ERL_NIF_SELECT_STOP_CALLED) {
</func>
<func>
- <name since="OTP @OTP-15640@"><ret>ErlNifTermType</ret>
+ <name since="OTP 22.0"><ret>ErlNifTermType</ret>
<nametext>enif_term_type(ErlNifEnv *env, ERL_NIF_TERM term)</nametext>
</name>
<fsummary>Determine the type of a term.</fsummary>
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index 2b444ccf01..a879cce840 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -1297,7 +1297,7 @@ end</code>
</func>
<func>
- <name name="dist_ctrl_get_opt" arity="2" clause_i="1" since="OTP @OTP-15617@"/>
+ <name name="dist_ctrl_get_opt" arity="2" clause_i="1" since="OTP 22.0"/>
<fsummary>Get value of the get_size option on a distribution channel</fsummary>
<desc>
<p>Returns the value of the <c>get_size</c> option on the distribution channel
@@ -1428,7 +1428,7 @@ end</code>
</func>
<func>
- <name name="dist_ctrl_set_opt" arity="3" clause_i="1" since="OTP @OTP-15617@"/>
+ <name name="dist_ctrl_set_opt" arity="3" clause_i="1" since="OTP 22.0"/>
<fsummary>Set value of the get_size option on a distribution channel</fsummary>
<desc>
<p>Sets the value of the <c>get_size</c> option on the distribution channel
diff --git a/erts/doc/src/net.xml b/erts/doc/src/net.xml
index b9e2cffce9..6fbc37076c 100644
--- a/erts/doc/src/net.xml
+++ b/erts/doc/src/net.xml
@@ -29,7 +29,7 @@
<rev></rev>
<file>net.xml</file>
</header>
- <module since="OTP @OTP-14831@">net</module>
+ <module since="OTP 22.0">net</module>
<modulesummary>Network interface.</modulesummary>
<description>
<p>This module provides an API for the network interface.</p>
@@ -72,8 +72,8 @@
</func>
<func>
- <name name="getnameinfo" arity="1" since="OTP @OTP-14831@"/>
- <name name="getnameinfo" arity="2" since="OTP @OTP-14831@"/>
+ <name name="getnameinfo" arity="1" since="OTP 22.0"/>
+ <name name="getnameinfo" arity="2" since="OTP 22.0"/>
<fsummary>Address-to-name transaltion.</fsummary>
<desc>
<p>Address-to-name translation in a protocol-independant manner.</p>
@@ -84,10 +84,10 @@
</func>
<func>
- <name name="getaddrinfo" arity="1" since="OTP @OTP-14831@"/>
- <name name="getaddrinfo" arity="2" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="getaddrinfo" arity="2" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="getaddrinfo" arity="2" clause_i="3" since="OTP @OTP-14831@"/>
+ <name name="getaddrinfo" arity="1" since="OTP 22.0"/>
+ <name name="getaddrinfo" arity="2" clause_i="1" since="OTP 22.0"/>
+ <name name="getaddrinfo" arity="2" clause_i="2" since="OTP 22.0"/>
+ <name name="getaddrinfo" arity="2" clause_i="3" since="OTP 22.0"/>
<fsummary>Network address and service transation.</fsummary>
<desc>
<p>Network address and service translation.</p>
@@ -100,7 +100,7 @@
</func>
<func>
- <name name="if_name2index" arity="1" since="OTP @OTP-14831@"/>
+ <name name="if_name2index" arity="1" since="OTP 22.0"/>
<fsummary>Mappings between network interface names and indexes.</fsummary>
<desc>
<p>Mappings between network interface names and indexes.</p>
@@ -108,7 +108,7 @@
</func>
<func>
- <name name="if_index2name" arity="1" since="OTP @OTP-14831@"/>
+ <name name="if_index2name" arity="1" since="OTP 22.0"/>
<fsummary>Mappings between network interface index and names.</fsummary>
<desc>
<p>Mappings between network interface index and names.</p>
@@ -116,7 +116,7 @@
</func>
<func>
- <name name="if_names" arity="0" since="OTP @OTP-14831@"/>
+ <name name="if_names" arity="0" since="OTP 22.0"/>
<fsummary>Get network interface names and indexes.</fsummary>
<desc>
<p>Get network interface names and indexes.</p>
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index da470b51ec..5736d366eb 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -31,6 +31,460 @@
</header>
<p>This document describes the changes made to the ERTS application.</p>
+<section><title>Erts 10.4</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Do not allocate new bitstring/binary when an empty binary
+ is appended.</p>
+ <p>
+ Own Id: OTP-15535 Aux Id: PR-2055 </p>
+ </item>
+ <item>
+ <p>
+ Document that <c>process_info(_, current_function)</c>
+ can return <c>{current_function, undefined}</c> in case
+ of execution of native code.</p>
+ <p>
+ Own Id: OTP-15543 Aux Id: PR-2089 </p>
+ </item>
+ <item>
+ <p>
+ Fixed bug in <c>ets:select</c>, <c>ets:match</c> and
+ friends which could cause the table to remain fixated (as
+ if <c>ets:safe_fixtable</c> had been called) after the
+ call returned. This could happen for <c>protected</c>
+ tables if another concurrent running process transfered
+ table ownership to the process during its
+ ets:select/match call. Ownership can be transfered using
+ either <c>ets:give_away</c> or the <c>heir</c> table
+ option.</p>
+ <p>
+ Own Id: OTP-15672</p>
+ </item>
+ <item>
+ <p>Fixed a Windows-specific bug in <c>file:list_dir/1</c>
+ that caused it to misbehave on network shares.</p>
+ <p>
+ Own Id: OTP-15693</p>
+ </item>
+ <item>
+ <p>
+ Fixed bug when calling <c>enif_whereis_*</c> from NIF
+ resource destructor. Symtoms could be emulator crash or
+ hanging scheduler threads.</p>
+ <p>
+ Own Id: OTP-15694 Aux Id: ERL-863 </p>
+ </item>
+ <item>
+ <p>Fixed a bug in the error case of <c>apply/3</c>, where
+ the exception would erroneously have an empty argument
+ list in some cases.</p>
+ <p>
+ Own Id: OTP-15698</p>
+ </item>
+ <item>
+ <p>A bug has been fixed in the <c>maps</c> implementation
+ that could cause a crash or memory usage to grow until
+ the machine ran out of memory. This could happen when
+ inserting a new key-value pair with a key <c>K1</c>
+ containing a binary <c>B1</c> into a map <c>M</c> having
+ a key <c>K2</c> with a binary <c>B2</c> if the following
+ conditions were met:</p> <list> <item><c>B1 =/=
+ B2</c></item> <item><c>size(B1) >= 4294967296</c></item>
+ <item><c>size(B2) >= 4294967296</c></item>
+ <item><c>size(M) >= 32</c></item> <item><c>(size(B1) rem
+ 4294967296) == (size(B2) rem 4294967296)</c></item>
+ <item>the first <c>(size(B1) rem 4294967296)</c> bytes
+ are the same both in <c>B1</c> and <c>B2</c></item>
+ <item>substituting <c>B1</c> in <c>K1</c> with <c>B2</c>
+ would create a term with the same value as
+ <c>K2</c></item> </list> <p>The root cause of the problem
+ is that the <c>maps</c> implementation only hashed the
+ first <c>(X rem 4294967296)</c> bytes of binaries so that
+ different binaries could get the same hash value
+ independently of the hash seed.</p>
+ <p>
+ Own Id: OTP-15707</p>
+ </item>
+ <item>
+ <p>
+ <c>term_to_binary()</c> and distributed sends will now
+ throw a <c>system_limit</c> exception instead of
+ producing erroneous results when trying to encode a
+ binary larger than 4 GB.</p>
+ <p>
+ Own Id: OTP-15708</p>
+ </item>
+ <item>
+ <p>
+ The vxworks configure has been updated to respect the
+ environment CFLAGS.</p>
+ <p>
+ Own Id: OTP-15773</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Add support for Erlang Distribution protocol to split the
+ payload of large signals into several fragments. This
+ allows other processes to communicate uninterrupted
+ during the transmission of these signals.</p>
+ <p>
+ Own Id: OTP-13397</p>
+ </item>
+ <item>
+ <p>
+ A simple socket API is provided through the socket
+ module. This is a low level API that does *not* replace
+ gen_[tcp|udp|sctp]. It is intended to *eventually*
+ replace the inet driver, but not the high level
+ gen-modules (gen_tcp, gen_udp and gen_sctp). It also
+ provides a basic API that facilitates the implementation
+ of other protocols, than TCP, UDP and SCTP. </p>
+ <p>
+ Known issues are; No support for the Windows OS
+ (currently).</p>
+ <p>
+ Own Id: OTP-14831</p>
+ </item>
+ <item>
+ <p>Added NIF functions <seealso
+ marker="erl_nif#enif_set_pid_undefined"><c>enif_set_pid_undefined</c></seealso>,
+ <seealso
+ marker="erl_nif#enif_is_pid_undefined"><c>enif_is_pid_undefined</c></seealso>
+ and <seealso
+ marker="erl_nif#enif_compare_pids"><c>enif_compare_pids</c></seealso>.</p>
+ <p>
+ Own Id: OTP-15011 Aux Id: PR-2147 </p>
+ </item>
+ <item>
+ <p>Underutilized memory segments (carriers) can now move
+ between all allocator instances, rather than just between
+ instances of the same type, which greatly reduces memory
+ usage in some scenarios. </p>
+ <p>
+ Own Id: OTP-15063</p>
+ </item>
+ <item>
+ <p>The emulator will now mark free blocks in pooled
+ carriers with <c>madvise(2) + MADV_FREE</c> (or similar),
+ letting the OS reclaim the associated physical memory if
+ necessary.</p>
+ <p>
+ Own Id: OTP-15075</p>
+ </item>
+ <item>
+ <p>
+ New <c>ERL_NIF_SELECT_CANCEL</c> feature added to
+ <c>enif_select</c> in order to cancel (or "deselect") a
+ read or write event on a previously selected file
+ descriptor.</p>
+ <p>
+ Own Id: OTP-15095</p>
+ </item>
+ <item>
+ <p>
+ ETS option <c>write_concurrency</c> now also affects and
+ improves the scalability of <c>ordered_set</c> tables.
+ The implementation is based on a data structure called
+ contention adapting search tree, where the lock
+ granularity adapts to the actual amount of concurrency
+ exploited by the applications in runtime.</p>
+ <p>
+ Own Id: OTP-15128</p>
+ </item>
+ <item>
+ <p>
+ Build configuration of the <c>crypto</c> application has
+ been moved from the <c>erts</c> application into the
+ <c>crypto</c> application.</p>
+ <p>
+ Own Id: OTP-15129</p>
+ </item>
+ <item>
+ <p>Anonymous functions that don't capture environment are
+ now created at load-time instead of in run-time.</p>
+ <p>
+ Own Id: OTP-15195 Aux Id: PR-1812 </p>
+ </item>
+ <item>
+ <p>
+ Optimize updates of maps with identical keys and values.
+ E.g. in the example below the original Map will be reused
+ as the return of the update.</p>
+ <p>
+ 1> Map = #{ a => b }. #{ a => b } 2> Map#{ a := b }.</p>
+ <p>
+ Own Id: OTP-15211 Aux Id: PR-1889 </p>
+ </item>
+ <item>
+ <p>
+ Optimize <c>binary:match/2</c> and
+ <c>binary:matches/2</c> to use memchr internally.</p>
+ <p>
+ Own Id: OTP-15238 Aux Id: PR-1803 </p>
+ </item>
+ <item>
+ <p>
+ The runtime system used to terminate when a message
+ larger than 2 Gb was passed over the distribution. The
+ send operation will now instead throw a
+ <c>system_limit</c> exeption.</p>
+ <p>
+ Own Id: OTP-15261</p>
+ </item>
+ <item>
+ <p>
+ Change the first module called by erts to be names
+ erl_init instead of otp_ring0. systools in sasl have been
+ updated to reflect this change.</p>
+ <p>
+ Own Id: OTP-15336 Aux Id: PR-1825 </p>
+ </item>
+ <item>
+ <p>
+ Minor adjustments made to build system for parallel
+ configure.</p>
+ <p>
+ Own Id: OTP-15340 Aux Id: OTP-14625 </p>
+ </item>
+ <item>
+ <p>
+ Two new NIF interface functions <c>enif_select_read</c>
+ and <c>enif_select_write</c>. They are similar to
+ existing <c>enif_select</c> but allow a custom event
+ message as argument.</p>
+ <p>
+ Own Id: OTP-15349 Aux Id: PR-2084 </p>
+ </item>
+ <item>
+ <p>The embedded copy of <c>zlib</c> has been updated from
+ <c>1.2.8</c> to <c>1.2.11</c>.</p>
+ <p>Note that this copy is only used as a fallback when
+ the target platform doesn't provide any <c>zlib</c>
+ development libraries. If your system provides
+ <c>zlib</c> then it will be used even if it is older than
+ <c>1.2.11</c>.</p>
+ <p>
+ Own Id: OTP-15351 Aux Id: ERL-749 </p>
+ </item>
+ <item>
+ <p>
+ New NIF function <c>enif_make_monitor_term</c>.</p>
+ <p>
+ Own Id: OTP-15362 Aux Id: PR-2127 </p>
+ </item>
+ <item>
+ <p>Appending lists (The ++ operator) will now yield
+ properly on large inputs.</p>
+ <p>
+ Own Id: OTP-15427</p>
+ </item>
+ <item>
+ <p>The <c>length/1</c> BIF used to calculate the length
+ of the list in one go without yielding, even if the list
+ was very long. In OTP 22, <c>length/1</c> will yield when
+ called with a long lists.</p>
+ <p>
+ Own Id: OTP-15439</p>
+ </item>
+ <item>
+ <p>
+ Processes sending messages are now punished with a
+ reduction cost based on message size. That is, a process
+ sending a large message will yield earlier than before.</p>
+ <p>
+ Own Id: OTP-15513 Aux Id: ERL-773 </p>
+ </item>
+ <item>
+ <p>The transitory emulator option <c>+ztma true</c>
+ (introduced in OTP 21.3) has been removed.</p>
+ <p>
+ Own Id: OTP-15581 Aux Id: OTP-15580 </p>
+ </item>
+ <item>
+ <p>In OTP 22, HiPE (the native code compiler) is not
+ fully functional. The reasons for this are:</p>
+ <p>There are new BEAM instructions for binary matching
+ that the HiPE native code compiler does not support.</p>
+ <p>The new optimizations in the Erlang compiler create
+ new combination of instructions that HiPE currently does
+ not handle correctly.</p>
+ <p>If erlc is invoked with the <c>+native</c> option, and
+ if any of the new binary matching instructions are used,
+ the compiler will issue a warning and produce a BEAM file
+ without native code.</p>
+ <p>
+ Own Id: OTP-15596</p>
+ </item>
+ <item>
+ <p>
+ The termination behaviour of processes has changed to
+ allow processes to yield while sending link exit/monitor
+ down signals.</p>
+ <p>
+ The erl crash dump as been expanded to now also include
+ processes that are termenating but have not yet
+ terminated.</p>
+ <p>
+ Own Id: OTP-15610</p>
+ </item>
+ <item>
+ <p>
+ The dist messages EXIT, EXIT2 and MONITOR_DOWN have been
+ updated with new versions that send the reason term as
+ part of the payload of the message instead of as part of
+ the control message.</p>
+ <p>
+ The old versions are still present and can be used when
+ communicating with nodes that don't support the new
+ versions.</p>
+ <p>
+ Own Id: OTP-15611</p>
+ </item>
+ <item>
+ <p>
+ When sending messages, exit, exit2 and monitor down
+ distributed signals, the process sending will now yield
+ appropriately.</p>
+ <p>
+ This means that a terminating process will yield and
+ possibly be suspended on busy distribution entries while
+ they are terminating. This means that any memory held by
+ such processes will not be released until after all
+ exit/monitor down signals have been sent.</p>
+ <p>
+ Own Id: OTP-15612</p>
+ </item>
+ <item>
+ <p>
+ All external pids/ports/refs created by
+ erlang:list_to_pid/port/ref debug functions now compare
+ equal to any other pid/port/ref with the same number from
+ that node.</p>
+ <p>
+ Before this change they compared differently because the
+ node creation of the pid/port/ref did not compare equal
+ to any real pid/port/ref creation.</p>
+ <p>
+ This will mostly effect pids/ports/refs typed in the
+ shell.</p>
+ <p>
+ Own Id: OTP-15613</p>
+ </item>
+ <item>
+ <p>
+ The <c>persistent_term</c> functions <c>put/2</c> and
+ <c>erase/1</c> are now yeliding.</p>
+ <p>
+ Own Id: OTP-15615</p>
+ </item>
+ <item>
+ <p>
+ A new <seealso
+ marker="erlang#dist_ctrl_set_opt/3"><c>erlang:dist_ctrl_set_opt(DHandle,
+ get_size, Value)</c></seealso> option has been added.
+ This option makes it possible to configure the
+ distribution channel identified by <c>DHandle</c> so that
+ <seealso
+ marker="erlang#dist_ctrl_get_data/1"><c>erlang:dist_ctrl_get_data(DHandle)</c></seealso>
+ also returns the size of the data to pass over the
+ channel.</p>
+ <p>
+ Own Id: OTP-15617</p>
+ </item>
+ <item>
+ <p>Previously, all ETS tables used centralized counter
+ variables to keep track of the number of items stored and
+ the amount of memory consumed. These counters can cause
+ scalability problems (especially on big NUMA systems).
+ This change adds an implementation of a decentralized
+ counter and modifies the implementation of ETS so that
+ ETS tables of type <c>ordered_set</c> with
+ <c>write_concurrency</c> enabled use the decentralized
+ counter. Experiments indicate that this change
+ substantially improves the scalability of ETS
+ <c>ordered_set</c> tables with <c>write_concurrency</c>
+ enabled in scenarios with frequent <c>ets:insert/2</c>
+ and <c>ets:delete/2</c> calls.</p>
+ <p>
+ Own Id: OTP-15623 Aux Id: PR-2190 </p>
+ </item>
+ <item>
+ <p>The <c>iolist_size/1</c> function is now yielding
+ which means that an Erlang/OTP system will be responsive
+ even if the applications running on the system frequently
+ call <c>iolist_size/1</c> with large iolists.</p>
+ <p>
+ Own Id: OTP-15631</p>
+ </item>
+ <item>
+ <p>
+ A simple test suite for the net module has been added.</p>
+ <p>
+ Own Id: OTP-15635</p>
+ </item>
+ <item>
+ <p>Added the NIF function <c>enif_term_type</c>, which
+ helps avoid long sequences of <c>enif_is_xyz</c> by
+ returning the type of the given term. This is especially
+ helpful for NIFs that serialize terms, such as JSON
+ encoders, where it can improve both performance and
+ readability.</p>
+ <p>
+ Own Id: OTP-15640</p>
+ </item>
+ <item>
+ <p>The last call optimization is now applied to BIFs.
+ When calling a BIF in the tail position of a function,
+ the return address and stack frame will now be discarded
+ before calling the BIF. As consequence of this change,
+ the immediate caller of a tail-called BIF will no longer
+ be available in stack backtraces.</p>
+ <p>
+ Own Id: OTP-15674 Aux Id: PR-2177 </p>
+ </item>
+ <item>
+ <p>
+ Fix GC bug where distributed messages in a processes
+ mailbox would cause extra GCs. This can be very expensive
+ if there many messages in the mailbox.</p>
+ <p>
+ Own Id: OTP-15703</p>
+ </item>
+ <item>
+ <p>Internal documentation has now been added to the
+ <em>Erts</em> and <em>Compiler</em> applications.</p>
+ <p>The internal documents for <em>Erts</em> describe
+ miscellaneous interesting implementation details. Those
+ details can change at any time.</p>
+ <p>The internal documentation for <em>Compiler</em>
+ documents the API for the Core Erlang modules. While we
+ will not change those APIs without good reason, we don't
+ give the same guarantees about backward compatibility as
+ for the rest of the APIs in OTP.</p>
+ <p>
+ Own Id: OTP-15715</p>
+ </item>
+ <item>
+ <p>The performance of non-bignum integer arithmetic has
+ been improved.</p>
+ <p>
+ Own Id: OTP-15740</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 10.3.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/erts/doc/src/socket.xml b/erts/doc/src/socket.xml
index f6195a65b2..343b61d4aa 100644
--- a/erts/doc/src/socket.xml
+++ b/erts/doc/src/socket.xml
@@ -29,7 +29,7 @@
<rev></rev>
<file>socket.xml</file>
</header>
- <module since="OTP @OTP-14831@">socket</module>
+ <module since="OTP 22.0">socket</module>
<modulesummary>Socket interface.</modulesummary>
<description>
<p>This module provides an API for the socket interface.
@@ -256,8 +256,8 @@
<funcs>
<func>
- <name name="accept" arity="1" since="OTP @OTP-14831@"/>
- <name name="accept" arity="2" since="OTP @OTP-14831@"/>
+ <name name="accept" arity="1" since="OTP 22.0"/>
+ <name name="accept" arity="2" since="OTP 22.0"/>
<fsummary>Accept a connection on a socket.</fsummary>
<desc>
<p>Accept a connection on a socket.</p>
@@ -269,7 +269,7 @@
</func>
<func>
- <name name="bind" arity="2" since="OTP @OTP-14831@"/>
+ <name name="bind" arity="2" since="OTP 22.0"/>
<fsummary>Bind a name to a socket.</fsummary>
<desc>
<p>Bind a name to a socket.</p>
@@ -282,7 +282,7 @@
</func>
<func>
- <name name="close" arity="1" since="OTP @OTP-14831@"/>
+ <name name="close" arity="1" since="OTP 22.0"/>
<fsummary>Close a socket.</fsummary>
<desc>
<p>Closes the socket.</p>
@@ -301,8 +301,8 @@
</func>
<func>
- <name name="connect" arity="2" since="OTP @OTP-14831@"/>
- <name name="connect" arity="3" since="OTP @OTP-14831@"/>
+ <name name="connect" arity="2" since="OTP 22.0"/>
+ <name name="connect" arity="3" since="OTP 22.0"/>
<fsummary>Initiate a connection on a socket.</fsummary>
<desc>
<p>This function connects the socket to the address
@@ -311,13 +311,13 @@
</func>
<func>
- <name name="getopt" arity="3" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="getopt" arity="3" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="getopt" arity="3" clause_i="3" since="OTP @OTP-14831@"/>
- <name name="getopt" arity="3" clause_i="4" since="OTP @OTP-14831@"/>
- <name name="getopt" arity="3" clause_i="5" since="OTP @OTP-14831@"/>
- <name name="getopt" arity="3" clause_i="6" since="OTP @OTP-14831@"/>
- <name name="getopt" arity="3" clause_i="7" since="OTP @OTP-14831@"/>
+ <name name="getopt" arity="3" clause_i="1" since="OTP 22.0"/>
+ <name name="getopt" arity="3" clause_i="2" since="OTP 22.0"/>
+ <name name="getopt" arity="3" clause_i="3" since="OTP 22.0"/>
+ <name name="getopt" arity="3" clause_i="4" since="OTP 22.0"/>
+ <name name="getopt" arity="3" clause_i="5" since="OTP 22.0"/>
+ <name name="getopt" arity="3" clause_i="6" since="OTP 22.0"/>
+ <name name="getopt" arity="3" clause_i="7" since="OTP 22.0"/>
<fsummary>Get an option on a socket.</fsummary>
<desc>
<p>Get an option on a socket.</p>
@@ -337,7 +337,7 @@
</func>
<func>
- <name name="getopt" arity="3" clause_i="8" since="OTP @OTP-14831@"/>
+ <name name="getopt" arity="3" clause_i="8" since="OTP 22.0"/>
<fsummary>Get an option on a socket.</fsummary>
<desc>
<p>Get an option on a socket.</p>
@@ -359,8 +359,8 @@
</func>
<func>
- <name name="listen" arity="1" since="OTP @OTP-14831@"/>
- <name name="listen" arity="2" since="OTP @OTP-14831@"/>
+ <name name="listen" arity="1" since="OTP 22.0"/>
+ <name name="listen" arity="2" since="OTP 22.0"/>
<fsummary>Listen for connections on a socket.</fsummary>
<desc>
<p>Listen for connections on a socket.</p>
@@ -368,9 +368,9 @@
</func>
<func>
- <name name="open" arity="2" since="OTP @OTP-14831@"/>
- <name name="open" arity="3" since="OTP @OTP-14831@"/>
- <name name="open" arity="4" since="OTP @OTP-14831@"/>
+ <name name="open" arity="2" since="OTP 22.0"/>
+ <name name="open" arity="3" since="OTP 22.0"/>
+ <name name="open" arity="4" since="OTP 22.0"/>
<fsummary>Create an endpoint for communication.</fsummary>
<desc>
<p>Creates an endpoint (socket) for communication.</p>
@@ -390,7 +390,7 @@
</func>
<func>
- <name name="peername" arity="1" since="OTP @OTP-14831@"/>
+ <name name="peername" arity="1" since="OTP 22.0"/>
<fsummary>Get name of connected socket peer.</fsummary>
<desc>
<p>Returns the address of the peer connected to the socket.</p>
@@ -398,11 +398,11 @@
</func>
<func>
- <name name="recv" arity="1" since="OTP @OTP-14831@"/>
- <name name="recv" arity="2" since="OTP @OTP-14831@"/>
- <name name="recv" arity="3" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="recv" arity="3" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="recv" arity="4" since="OTP @OTP-14831@"/>
+ <name name="recv" arity="1" since="OTP 22.0"/>
+ <name name="recv" arity="2" since="OTP 22.0"/>
+ <name name="recv" arity="3" clause_i="1" since="OTP 22.0"/>
+ <name name="recv" arity="3" clause_i="2" since="OTP 22.0"/>
+ <name name="recv" arity="4" since="OTP 22.0"/>
<fsummary>Receive a message from a socket.</fsummary>
<desc>
<p>Receive a message from a socket.</p>
@@ -413,12 +413,12 @@
</func>
<func>
- <name name="recvfrom" arity="1" since="OTP @OTP-14831@"/>
- <name name="recvfrom" arity="2" since="OTP @OTP-14831@"/>
- <name name="recvfrom" arity="3" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="recvfrom" arity="3" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="recvfrom" arity="3" clause_i="3" since="OTP @OTP-14831@"/>
- <name name="recvfrom" arity="4" since="OTP @OTP-14831@"/>
+ <name name="recvfrom" arity="1" since="OTP 22.0"/>
+ <name name="recvfrom" arity="2" since="OTP 22.0"/>
+ <name name="recvfrom" arity="3" clause_i="1" since="OTP 22.0"/>
+ <name name="recvfrom" arity="3" clause_i="2" since="OTP 22.0"/>
+ <name name="recvfrom" arity="3" clause_i="3" since="OTP 22.0"/>
+ <name name="recvfrom" arity="4" since="OTP 22.0"/>
<fsummary>Receive a message from a socket.</fsummary>
<desc>
<p>Receive a message from a socket.</p>
@@ -437,12 +437,12 @@
</func>
<func>
- <name name="recvmsg" arity="1" since="OTP @OTP-14831@"/>
- <name name="recvmsg" arity="2" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="recvmsg" arity="2" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="recvmsg" arity="3" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="recvmsg" arity="3" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="recvmsg" arity="5" since="OTP @OTP-14831@"/>
+ <name name="recvmsg" arity="1" since="OTP 22.0"/>
+ <name name="recvmsg" arity="2" clause_i="1" since="OTP 22.0"/>
+ <name name="recvmsg" arity="2" clause_i="2" since="OTP 22.0"/>
+ <name name="recvmsg" arity="3" clause_i="1" since="OTP 22.0"/>
+ <name name="recvmsg" arity="3" clause_i="2" since="OTP 22.0"/>
+ <name name="recvmsg" arity="5" since="OTP 22.0"/>
<fsummary>Receive a message from a socket.</fsummary>
<desc>
<p>Receive a message from a socket.</p>
@@ -473,10 +473,10 @@
</func>
<func>
- <name name="send" arity="2" since="OTP @OTP-14831@"/>
- <name name="send" arity="3" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="send" arity="3" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="send" arity="4" since="OTP @OTP-14831@"/>
+ <name name="send" arity="2" since="OTP 22.0"/>
+ <name name="send" arity="3" clause_i="1" since="OTP 22.0"/>
+ <name name="send" arity="3" clause_i="2" since="OTP 22.0"/>
+ <name name="send" arity="4" since="OTP 22.0"/>
<fsummary>Send a message on a socket.</fsummary>
<desc>
<p>Send a message on a connected socket.</p>
@@ -484,10 +484,10 @@
</func>
<func>
- <name name="sendmsg" arity="2" since="OTP @OTP-14831@"/>
- <name name="sendmsg" arity="3" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="sendmsg" arity="3" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="sendmsg" arity="4" since="OTP @OTP-14831@"/>
+ <name name="sendmsg" arity="2" since="OTP 22.0"/>
+ <name name="sendmsg" arity="3" clause_i="1" since="OTP 22.0"/>
+ <name name="sendmsg" arity="3" clause_i="2" since="OTP 22.0"/>
+ <name name="sendmsg" arity="4" since="OTP 22.0"/>
<fsummary>Send a message on a socket.</fsummary>
<desc>
<p>Send a message on a socket. The destination, if needed
@@ -508,10 +508,10 @@
</func>
<func>
- <name name="sendto" arity="3" since="OTP @OTP-14831@"/>
- <name name="sendto" arity="4" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="sendto" arity="4" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="sendto" arity="5" since="OTP @OTP-14831@"/>
+ <name name="sendto" arity="3" since="OTP 22.0"/>
+ <name name="sendto" arity="4" clause_i="1" since="OTP 22.0"/>
+ <name name="sendto" arity="4" clause_i="2" since="OTP 22.0"/>
+ <name name="sendto" arity="5" since="OTP 22.0"/>
<fsummary>Send a message on a socket.</fsummary>
<desc>
<p>Send a message on a socket, to the specified destination.</p>
@@ -519,13 +519,13 @@
</func>
<func>
- <name name="setopt" arity="4" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="setopt" arity="4" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="setopt" arity="4" clause_i="3" since="OTP @OTP-14831@"/>
- <name name="setopt" arity="4" clause_i="4" since="OTP @OTP-14831@"/>
- <name name="setopt" arity="4" clause_i="5" since="OTP @OTP-14831@"/>
- <name name="setopt" arity="4" clause_i="6" since="OTP @OTP-14831@"/>
- <name name="setopt" arity="4" clause_i="7" since="OTP @OTP-14831@"/>
+ <name name="setopt" arity="4" clause_i="1" since="OTP 22.0"/>
+ <name name="setopt" arity="4" clause_i="2" since="OTP 22.0"/>
+ <name name="setopt" arity="4" clause_i="3" since="OTP 22.0"/>
+ <name name="setopt" arity="4" clause_i="4" since="OTP 22.0"/>
+ <name name="setopt" arity="4" clause_i="5" since="OTP 22.0"/>
+ <name name="setopt" arity="4" clause_i="6" since="OTP 22.0"/>
+ <name name="setopt" arity="4" clause_i="7" since="OTP 22.0"/>
<fsummary>Set options on a socket.</fsummary>
<desc>
<p>Set options on a socket.</p>
@@ -548,7 +548,7 @@
</func>
<func>
- <name name="setopt" arity="4" clause_i="8" since="OTP @OTP-14831@"/>
+ <name name="setopt" arity="4" clause_i="8" since="OTP 22.0"/>
<fsummary>Set options on a socket.</fsummary>
<desc>
<p>Set options on a socket.</p>
@@ -571,7 +571,7 @@
</func>
<func>
- <name name="shutdown" arity="2" since="OTP @OTP-14831@"/>
+ <name name="shutdown" arity="2" since="OTP 22.0"/>
<fsummary>Shut down part of a full-duplex connection.</fsummary>
<desc>
<p>Shut down all or part of a full-duplex connection.</p>
@@ -579,7 +579,7 @@
</func>
<func>
- <name name="sockname" arity="1" since="OTP @OTP-14831@"/>
+ <name name="sockname" arity="1" since="OTP 22.0"/>
<fsummary>Get socket name.</fsummary>
<desc>
<p>Returns the current address to which the socket is bound.</p>
@@ -587,25 +587,25 @@
</func>
<func>
- <name name="supports" arity="0" since="OTP @OTP-14831@"/>
- <name name="supports" arity="1" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="supports" arity="1" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="supports" arity="1" clause_i="3" since="OTP @OTP-14831@"/>
- <name name="supports" arity="1" clause_i="4" since="OTP @OTP-14831@"/>
- <name name="supports" arity="2" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="supports" arity="2" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="supports" arity="2" clause_i="3" since="OTP @OTP-14831@"/>
- <name name="supports" arity="2" clause_i="4" since="OTP @OTP-14831@"/>
- <name name="supports" arity="2" clause_i="5" since="OTP @OTP-14831@"/>
- <name name="supports" arity="2" clause_i="6" since="OTP @OTP-14831@"/>
- <name name="supports" arity="2" clause_i="7" since="OTP @OTP-14831@"/>
- <name name="supports" arity="3" clause_i="1" since="OTP @OTP-14831@"/>
- <name name="supports" arity="3" clause_i="2" since="OTP @OTP-14831@"/>
- <name name="supports" arity="3" clause_i="3" since="OTP @OTP-14831@"/>
- <name name="supports" arity="3" clause_i="4" since="OTP @OTP-14831@"/>
- <name name="supports" arity="3" clause_i="5" since="OTP @OTP-14831@"/>
- <name name="supports" arity="3" clause_i="6" since="OTP @OTP-14831@"/>
- <name name="supports" arity="3" clause_i="7" since="OTP @OTP-14831@"/>
+ <name name="supports" arity="0" since="OTP 22.0"/>
+ <name name="supports" arity="1" clause_i="1" since="OTP 22.0"/>
+ <name name="supports" arity="1" clause_i="2" since="OTP 22.0"/>
+ <name name="supports" arity="1" clause_i="3" since="OTP 22.0"/>
+ <name name="supports" arity="1" clause_i="4" since="OTP 22.0"/>
+ <name name="supports" arity="2" clause_i="1" since="OTP 22.0"/>
+ <name name="supports" arity="2" clause_i="2" since="OTP 22.0"/>
+ <name name="supports" arity="2" clause_i="3" since="OTP 22.0"/>
+ <name name="supports" arity="2" clause_i="4" since="OTP 22.0"/>
+ <name name="supports" arity="2" clause_i="5" since="OTP 22.0"/>
+ <name name="supports" arity="2" clause_i="6" since="OTP 22.0"/>
+ <name name="supports" arity="2" clause_i="7" since="OTP 22.0"/>
+ <name name="supports" arity="3" clause_i="1" since="OTP 22.0"/>
+ <name name="supports" arity="3" clause_i="2" since="OTP 22.0"/>
+ <name name="supports" arity="3" clause_i="3" since="OTP 22.0"/>
+ <name name="supports" arity="3" clause_i="4" since="OTP 22.0"/>
+ <name name="supports" arity="3" clause_i="5" since="OTP 22.0"/>
+ <name name="supports" arity="3" clause_i="6" since="OTP 22.0"/>
+ <name name="supports" arity="3" clause_i="7" since="OTP 22.0"/>
<fsummary>Report info about what the platform supports.</fsummary>
<desc>
<p>This function intends to retreive information about what the
diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h
index cc389a093f..c250e8f683 100644
--- a/erts/emulator/beam/erl_nif.h
+++ b/erts/emulator/beam/erl_nif.h
@@ -69,7 +69,7 @@
* If you're not on the OTP team, you should use a placeholder like
* erts-@MyName@ instead.
*/
-#define ERL_NIF_MIN_ERTS_VERSION "erts-@OTP-15095:OTP-15640@"
+#define ERL_NIF_MIN_ERTS_VERSION "erts-10.4"
/*
* The emulator will refuse to load a nif-lib with a major version
diff --git a/erts/vsn.mk b/erts/vsn.mk
index fafcdf3b28..224570fb09 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -18,7 +18,7 @@
# %CopyrightEnd%
#
-VSN = 10.3.4
+VSN = 10.4
# Port number 4365 in 4.2
# Port number 4366 in 4.3
diff --git a/lib/asn1/doc/src/notes.xml b/lib/asn1/doc/src/notes.xml
index 22ca7840de..284a2b4ce5 100644
--- a/lib/asn1/doc/src/notes.xml
+++ b/lib/asn1/doc/src/notes.xml
@@ -32,6 +32,32 @@
<p>This document describes the changes made to the asn1 application.</p>
+<section><title>Asn1 5.0.9</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ <item>
+ <p>Corrected problems with the following value
+ definitions:</p> <list> <item>value of SEQUENCE OF CHOICE
+ with extensions</item> <item>value of CHOICE with
+ extensions</item> <item>DEFAULT used with OCTET
+ STRING</item> </list>
+ <p>
+ Own Id: OTP-15697 Aux Id: PR-2159 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Asn1 5.0.8</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk
index 69f1af28e8..018beda307 100644
--- a/lib/asn1/vsn.mk
+++ b/lib/asn1/vsn.mk
@@ -1 +1 @@
-ASN1_VSN = 5.0.8
+ASN1_VSN = 5.0.9
diff --git a/lib/common_test/doc/src/ct_hooks.xml b/lib/common_test/doc/src/ct_hooks.xml
index ff9969ebc3..7f0dda1298 100644
--- a/lib/common_test/doc/src/ct_hooks.xml
+++ b/lib/common_test/doc/src/ct_hooks.xml
@@ -109,7 +109,7 @@
</func>
<func>
- <name since="OTP @OTP-14746@">Module:post_groups(SuiteName, GroupDefs) -&gt; NewGroupDefs</name>
+ <name since="OTP 22.0">Module:post_groups(SuiteName, GroupDefs) -&gt; NewGroupDefs</name>
<fsummary>Called after groups/0.</fsummary>
<type>
<v>SuiteName = atom()</v>
@@ -165,7 +165,7 @@
</func>
<func>
- <name since="OTP @OTP-14746@">Module:post_all(SuiteName, Return, GroupDefs) -&gt; NewReturn</name>
+ <name since="OTP 22.0">Module:post_all(SuiteName, Return, GroupDefs) -&gt; NewReturn</name>
<fsummary>Called after all/0.</fsummary>
<type>
<v>SuiteName = atom()</v>
diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml
index a68cc3cca7..bbb46fced3 100644
--- a/lib/common_test/doc/src/notes.xml
+++ b/lib/common_test/doc/src/notes.xml
@@ -33,6 +33,80 @@
<file>notes.xml</file>
</header>
+<section><title>Common_Test 1.18</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ <item>
+ <p>
+ The test result when a hook function fails is in general
+ the same as if the function that the hook is associated
+ with fails. For example, if <c>post_init_per_testcase</c>
+ fails the result is that the test case is skipped, as is
+ the case when <c>init_per_testcase</c> fails.This,
+ however, was earlier not true for timetrap timeouts or
+ other error situations where the process running the hook
+ function was killed. This is now corrected, so the error
+ handling should be the same no matter how the hook
+ function fails.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15717 Aux Id: ERIERL-334 </p>
+ </item>
+ <item>
+ <p>
+ In some rare cases, when two common_test nodes used the
+ same log directory, a timing problem could occur which
+ caused common_test to crash because it's log cache file
+ was unexpectedly empty. This is now corrected.</p>
+ <p>
+ Own Id: OTP-15758 Aux Id: ERIERL-342 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Two new common_test hook functions are introduced:</p>
+ <p>
+ <c>post_groups/2</c>, which is called after
+ <c>Suite:groups/0</c><br/> <c>post_all/3</c>, which is
+ called after <c>Suite:all/0</c></p>
+ <p>
+ These functions allow modifying the return values from
+ the <c>groups/0</c> and <c>all/0</c> functions,
+ respectively.</p>
+ <p>
+ A new term, <c>{testcase,TestCase,RepeatProperties}</c>
+ is now also allowed in the return from <c>all/0</c>. This
+ can be used for repeating a single test case a specific
+ number of times, or until it fails or succeeds once.</p>
+ <p>
+ Own Id: OTP-14746 Aux Id: ERIERL-143 </p>
+ </item>
+ <item>
+ <p> Use <c>ssh</c> instead of <c>rsh</c> as the default
+ remote shell. </p>
+ <p>
+ Own Id: OTP-15633 Aux Id: PR-1787 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Common_Test 1.17.1</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk
index 14a3622a00..ddc518f474 100644
--- a/lib/common_test/vsn.mk
+++ b/lib/common_test/vsn.mk
@@ -1 +1 @@
-COMMON_TEST_VSN = 1.17.1
+COMMON_TEST_VSN = 1.18
diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml
index d45dfef8f3..05b7cbc940 100644
--- a/lib/compiler/doc/src/notes.xml
+++ b/lib/compiler/doc/src/notes.xml
@@ -32,6 +32,91 @@
<p>This document describes the changes made to the Compiler
application.</p>
+<section><title>Compiler 7.4</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p><c>record_info/2</c> is a pseudo-function that
+ requires literal arguments known at compile time.
+ Therefore, the following usage is illegal: <c>fun
+ record/info/2</c>. The compiler would crash when during
+ compilation of that kind of code. Corrected to issue a
+ compilation error.</p>
+ <p>
+ Own Id: OTP-15760 Aux Id: ERL-907 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The compiler has been rewritten to internally use an
+ intermediate representation based on Static Single
+ Assignment (SSA). The new intermediate representation
+ makes more optimizations possible.</p>
+ <p>
+ Most noticeable is that the binary matching optimizations
+ are now applicable in many more circumstances than
+ before.</p>
+ <p>
+ Another noticeable change is that type optimizations are
+ now applied across local function calls, and will remove
+ a lot more redundant type tests than before.</p>
+ <p>
+ Own Id: OTP-14894 Aux Id: ERL-714 </p>
+ </item>
+ <item>
+ <p>Funs are no longer created when they are only used
+ locally, greatly improving the performance of named funs
+ and "fun-wrapped" macros.</p>
+ <p>
+ Own Id: OTP-15273 Aux Id: ERL-639 </p>
+ </item>
+ <item>
+ <p>All compiler options that can be given in the source
+ file can now also be given in the option list or from the
+ command line for <c>erlc</c>.</p>
+ <p>Specifically, the option
+ <c>{nowarn_deprecated_function,MFAs}</c> was only
+ recognized when given in the file with the attribute
+ <c>-compile()</c>. The option
+ <c>{nowarn_unused_function,FAs}</c> was incorrectly
+ documented to only work in a file, but it also worked
+ when given in the option list.</p>
+ <p>
+ Own Id: OTP-15456</p>
+ </item>
+ <item>
+ <p>Internal documentation has now been added to the
+ <em>Erts</em> and <em>Compiler</em> applications.</p>
+ <p>The internal documents for <em>Erts</em> describe
+ miscellaneous interesting implementation details. Those
+ details can change at any time.</p>
+ <p>The internal documentation for <em>Compiler</em>
+ documents the API for the Core Erlang modules. While we
+ will not change those APIs without good reason, we don't
+ give the same guarantees about backward compatibility as
+ for the rest of the APIs in OTP.</p>
+ <p>
+ Own Id: OTP-15715</p>
+ </item>
+ <item>
+ <p> There are new compiler options <c>nowarn_removed</c>
+ and <c>{nowarn_removed,Items}</c> to suppress warnings
+ for functions and modules that have been removed from
+ OTP.</p>
+ <p>
+ Own Id: OTP-15749 Aux Id: ERL-904 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Compiler 7.3.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk
index a523627384..494de072ff 100644
--- a/lib/compiler/vsn.mk
+++ b/lib/compiler/vsn.mk
@@ -1 +1 @@
-COMPILER_VSN = 7.3.2
+COMPILER_VSN = 7.4
diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml
index 195c9d029d..1f549f3295 100644
--- a/lib/crypto/doc/src/notes.xml
+++ b/lib/crypto/doc/src/notes.xml
@@ -31,6 +31,137 @@
</header>
<p>This document describes the changes made to the Crypto application.</p>
+<section><title>Crypto 4.5</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fixed a bug in error return for <c>crypto:poly1305/2</c>.
+ It returned the atom <c>notsup</c> instead of the
+ exception <c>notsup</c>.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15677</p>
+ </item>
+ <item>
+ <p>
+ The cipher chacha20 was introduced in OpenSSL 1.1.0.
+ However, it could in a very odd situation, fail for
+ versions less than OpenSSL 1.1.0d. It is therefore
+ disabled for those versions.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15678</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> A new <c>rand</c> module algorithm, <c>exro928ss</c>
+ (Xoroshiro928**), has been implemented. It has got a
+ really long period and good statistical quality for all
+ output bits, while still being only about 50% slower than
+ the default algorithm. </p><p> The same generator is also
+ used as a long period counter in a new <c>crypto</c>
+ plugin for the <c>rand</c> module, algorithm
+ <c>crypto_aes</c>. This plugin uses AES-256 to scramble
+ the counter which buries any detectable statistical
+ artifacts. Scrambling is done in chunks which are cached
+ to get good amortized speed (about half of the default
+ algorithm). </p>
+ <p>
+ Own Id: OTP-14461 Aux Id: PR-1857 </p>
+ </item>
+ <item>
+ <p>
+ Crypto's single C-file is splitted into multiple files.
+ The different coding styles in the different parts are
+ unified into a single style.</p>
+ <p>
+ Own Id: OTP-14732 Aux Id: PR-2068, PR-2095 </p>
+ </item>
+ <item>
+ <p>
+ Build configuration of the <c>crypto</c> application has
+ been moved from the <c>erts</c> application into the
+ <c>crypto</c> application.</p>
+ <p>
+ Own Id: OTP-15129</p>
+ </item>
+ <item>
+ <p>
+ Adds two hash functions <c>blake2b</c> and <c>blake2s</c>
+ (64 bit hash and 32 bit hash respectively). These are
+ modern and standard hash functions used in blockchains
+ and encrypted communication protocols. The hash functions
+ are available in OpenSSL since version 1.1.1.</p>
+ <p>
+ Own Id: OTP-15564 Aux Id: PR-2129 </p>
+ </item>
+ <item>
+ <p>
+ A new API is implemented in crypto. See the CRYPTO user's
+ guide, chapter <i>New and Old API</i> for more
+ information.</p>
+ <p>
+ The old api with the <c>crypto:block_*</c> and
+ <c>crypto:stream_*</c> interfaces is kept for
+ compatibility, but implemented with the new api. Please
+ note that since the error checking is more thorough,
+ there <i>might</i> be arguments with for example faulty
+ lengths that are no longer accepted.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15644 Aux Id: OTP-14732 , OTP-15451, PR-1857
+ , PR-2068, PR-2095 </p>
+ </item>
+ <item>
+ <p>
+ The new hash_info/1 and cipher_info/1 functions returns
+ maps with information about the hash or cipher in the
+ argument.</p>
+ <p>
+ Own Id: OTP-15655 Aux Id: PR-2173, ERL-864, PR-2186 </p>
+ </item>
+ <item>
+ <p>
+ Obey additional OpenSSL configure flags when compiling
+ the C-part of the CRYPTO application: <c>no-bf</c>,
+ <c>no-blake2</c>, <c>no-chacha</c>, <c>no-cmac</c>,
+ <c>no-dh</c>, <c>no-dsa</c>, <c>no-md4</c>,
+ <c>no-poly1305</c>, <c>no-rc2</c>, <c>no-rc4</c> and
+ <c>no-rmd160</c>.</p>
+ <p>
+ Own Id: OTP-15683</p>
+ </item>
+ <item>
+ <p>
+ A new function <c>crypto:supports/1</c> is introduced.
+ The single argument takes an atom as argument:
+ <c>hashs</c>, <c>public_keys</c>, <c>ciphers</c>,
+ <c>macs</c>, <c>curves</c> or <c>rsa_opts</c>. The return
+ value is a list of supported algorithms.</p>
+ <p>
+ The difference with the existing <c>crypto:supports/0</c>
+ is, apart from the argument and the return value, that
+ the old function reports what is supported by the old
+ api, and the new function reports algorithms in the new
+ api.</p>
+ <p>
+ Own Id: OTP-15771</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Crypto 4.4.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk
index 0a3d9f45e4..72a51bfec9 100644
--- a/lib/crypto/vsn.mk
+++ b/lib/crypto/vsn.mk
@@ -1 +1 @@
-CRYPTO_VSN = 4.4.2
+CRYPTO_VSN = 4.5
diff --git a/lib/debugger/doc/src/notes.xml b/lib/debugger/doc/src/notes.xml
index 395b69973d..795b46d467 100644
--- a/lib/debugger/doc/src/notes.xml
+++ b/lib/debugger/doc/src/notes.xml
@@ -33,6 +33,23 @@
<p>This document describes the changes made to the Debugger
application.</p>
+<section><title>Debugger 4.2.7</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Debugger 4.2.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/debugger/vsn.mk b/lib/debugger/vsn.mk
index a3cbb497f8..daecc7594c 100644
--- a/lib/debugger/vsn.mk
+++ b/lib/debugger/vsn.mk
@@ -1 +1 @@
-DEBUGGER_VSN = 4.2.6
+DEBUGGER_VSN = 4.2.7
diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml
index bc422c43a0..c39a3e20ba 100644
--- a/lib/dialyzer/doc/src/notes.xml
+++ b/lib/dialyzer/doc/src/notes.xml
@@ -32,6 +32,35 @@
<p>This document describes the changes made to the Dialyzer
application.</p>
+<section><title>Dialyzer 3.4</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> Use bit syntax in warnings instead of Core Erlang
+ syntax, for readability. </p>
+ <p>
+ Own Id: OTP-15752</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Dialyzer 3.3.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk
index 7221993963..3765b727c3 100644
--- a/lib/dialyzer/vsn.mk
+++ b/lib/dialyzer/vsn.mk
@@ -1 +1 @@
-DIALYZER_VSN = 3.3.2
+DIALYZER_VSN = 3.4
diff --git a/lib/edoc/doc/src/notes.xml b/lib/edoc/doc/src/notes.xml
index 145856bcaa..48bc5d9c74 100644
--- a/lib/edoc/doc/src/notes.xml
+++ b/lib/edoc/doc/src/notes.xml
@@ -32,6 +32,20 @@
<p>This document describes the changes made to the EDoc
application.</p>
+<section><title>Edoc 0.11</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> Correct links in the documentation. </p>
+ <p>
+ Own Id: OTP-15761</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Edoc 0.10</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/edoc/vsn.mk b/lib/edoc/vsn.mk
index b6e1422623..3510fdfccf 100644
--- a/lib/edoc/vsn.mk
+++ b/lib/edoc/vsn.mk
@@ -1 +1 @@
-EDOC_VSN = 0.10
+EDOC_VSN = 0.11
diff --git a/lib/eldap/doc/src/notes.xml b/lib/eldap/doc/src/notes.xml
index bf9358c4d1..6c23db52dc 100644
--- a/lib/eldap/doc/src/notes.xml
+++ b/lib/eldap/doc/src/notes.xml
@@ -31,6 +31,28 @@
</header>
<p>This document describes the changes made to the Eldap application.</p>
+<section><title>Eldap 1.2.7</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Typo fix</p>
+ <p>
+ Own Id: OTP-15632</p>
+ </item>
+ <item>
+ <p>
+ Fix dialyzer warnings in eldap when not matching the
+ return value of ssl:close/1.</p>
+ <p>
+ Own Id: OTP-15775</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Eldap 1.2.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/eldap/vsn.mk b/lib/eldap/vsn.mk
index 6d541e4689..7f03fbd1b2 100644
--- a/lib/eldap/vsn.mk
+++ b/lib/eldap/vsn.mk
@@ -1 +1 @@
-ELDAP_VSN = 1.2.6
+ELDAP_VSN = 1.2.7
diff --git a/lib/erl_docgen/doc/src/notes.xml b/lib/erl_docgen/doc/src/notes.xml
index 54f0a36b27..f25361a202 100644
--- a/lib/erl_docgen/doc/src/notes.xml
+++ b/lib/erl_docgen/doc/src/notes.xml
@@ -31,7 +31,24 @@
</header>
<p>This document describes the changes made to the <em>erl_docgen</em> application.</p>
- <section><title>Erl_Docgen 0.9</title>
+ <section><title>Erl_Docgen 0.9.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Erl_Docgen 0.9</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/erl_docgen/vsn.mk b/lib/erl_docgen/vsn.mk
index 6321f229dd..fece2456c1 100644
--- a/lib/erl_docgen/vsn.mk
+++ b/lib/erl_docgen/vsn.mk
@@ -1 +1 @@
-ERL_DOCGEN_VSN = 0.9
+ERL_DOCGEN_VSN = 0.9.1
diff --git a/lib/erl_interface/doc/src/ei.xml b/lib/erl_interface/doc/src/ei.xml
index 254ae27cc8..18f74d2655 100644
--- a/lib/erl_interface/doc/src/ei.xml
+++ b/lib/erl_interface/doc/src/ei.xml
@@ -183,7 +183,7 @@ typedef enum {
</func>
<func>
- <name since="OTP @OTP-15712@"><ret>int</ret><nametext>ei_decode_bitstring(const char *buf, int *index, void *p, size_t plen, size_t *bitsp)</nametext></name>
+ <name since="OTP 22.0"><ret>int</ret><nametext>ei_decode_bitstring(const char *buf, int *index, void *p, size_t plen, size_t *bitsp)</nametext></name>
<fsummary>Decode a bitstring.</fsummary>
<desc>
<p>Decodes a bitstring from the binary format.</p>
@@ -490,8 +490,8 @@ typedef enum {
</func>
<func>
- <name since="OTP @OTP-15712@"><ret>int</ret><nametext>ei_encode_bitstring(char *buf, int *index, const void *p, size_t bits)</nametext></name>
- <name since="OTP @OTP-15712@"><ret>int</ret><nametext>ei_x_encode_bitstring(ei_x_buff* x, const void *p, size_t bits)</nametext></name>
+ <name since="OTP 22.0"><ret>int</ret><nametext>ei_encode_bitstring(char *buf, int *index, const void *p, size_t bits)</nametext></name>
+ <name since="OTP 22.0"><ret>int</ret><nametext>ei_x_encode_bitstring(ei_x_buff* x, const void *p, size_t bits)</nametext></name>
<fsummary>Encode a bitstring.</fsummary>
<desc>
<p>Encodes a bitstring in the binary format. The data is at
diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml
index fc6a1bb548..f6c4c68cb1 100644
--- a/lib/erl_interface/doc/src/notes.xml
+++ b/lib/erl_interface/doc/src/notes.xml
@@ -31,6 +31,82 @@
</header>
<p>This document describes the changes made to the Erl_interface application.</p>
+<section><title>Erl_Interface 3.12</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The vxworks configure has been updated to respect the
+ environment CFLAGS.</p>
+ <p>
+ Own Id: OTP-15773</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Minor adjustments made to build system for parallel
+ configure.</p>
+ <p>
+ Own Id: OTP-15340 Aux Id: OTP-14625 </p>
+ </item>
+ <item>
+ <p>
+ The limited support for VxWorks is deprecated as of OTP
+ 22, and will be removed in OTP 23.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15621</p>
+ </item>
+ <item>
+ <p>The old legacy <c>erl_interface</c> library (functions
+ with prefix <c>erl_</c>) is deprecated as of OTP 22, and
+ will be removed in OTP 23. This does not apply to the
+ <c>ei</c> library. Reasonably new <c>gcc</c> compilers
+ will issue deprecation warnings. In order to disable
+ these warnings, define the macro
+ <c>EI_NO_DEPR_WARN</c>.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15622</p>
+ </item>
+ <item>
+ <p>Added support to receive, decode, encode and send both
+ bit strings and export funs (<c>fun M:F/A</c>).</p>
+ <p>New functions <c>ei_decode_bitstring</c> and
+ <c>ei_encode_bitstring</c> have been added in order to
+ decode and encode bit strings where number of bits is not
+ necessary divisible by 8 (a whole number of bytes). The
+ existing functions <c>ei_decode_fun</c> and
+ <c>ei_encode_fun</c> can now also handle export funs.</p>
+ <p>Before this change, bit strings and export funs sent
+ to an erl_interface c-node were encoded using an
+ undocumented fallback tuple format. For bit strings
+ <c>{Binary,BitsInLastByte}</c> and for export funs
+ <c>{M,F}</c>. Existing c-node implementations expecting
+ these tuples must be changed to instead use
+ <c>ei_decode_bitstring</c> and <c>ei_decode_fun</c>. As a
+ temporary solution you can also build erl_interface with
+ macro <c>EI_COMPAT=21</c> or call
+ <c>ei_set_compat_rel(21)</c> to receive the old fallback
+ tuples.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15712 Aux Id: OTP-15774 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erl_Interface 3.11.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk
index 5e63f75ab5..cc72ed639a 100644
--- a/lib/erl_interface/vsn.mk
+++ b/lib/erl_interface/vsn.mk
@@ -1,2 +1,2 @@
-EI_VSN = 3.11.2
+EI_VSN = 3.12
ERL_INTERFACE_VSN = $(EI_VSN)
diff --git a/lib/hipe/doc/src/notes.xml b/lib/hipe/doc/src/notes.xml
index 9a803cb9df..4a95d75abe 100644
--- a/lib/hipe/doc/src/notes.xml
+++ b/lib/hipe/doc/src/notes.xml
@@ -31,6 +31,52 @@
</header>
<p>This document describes the changes made to HiPE.</p>
+<section><title>Hipe 3.19</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Add function <c>hipe:erllvm_is_supported</c> to check
+ presence of suitable version of the LLVM tool chain as
+ well as supported hardware architecture. The old
+ <c>hipe:llvm_support_available</c> has been removed.</p>
+ <p>
+ Own Id: OTP-15385 Aux Id: PR-1986 </p>
+ </item>
+ <item>
+ <p>
+ Fix hipe LLVM for FreeBSD and other non-linux unix to use
+ /tmp/ instead of /dev/shm/.</p>
+ <p>
+ Own Id: OTP-15386 Aux Id: PR-1963 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>In OTP 22, HiPE (the native code compiler) is not
+ fully functional. The reasons for this are:</p>
+ <p>There are new BEAM instructions for binary matching
+ that the HiPE native code compiler does not support.</p>
+ <p>The new optimizations in the Erlang compiler create
+ new combination of instructions that HiPE currently does
+ not handle correctly.</p>
+ <p>If erlc is invoked with the <c>+native</c> option, and
+ if any of the new binary matching instructions are used,
+ the compiler will issue a warning and produce a BEAM file
+ without native code.</p>
+ <p>
+ Own Id: OTP-15596</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Hipe 3.18.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/hipe/vsn.mk b/lib/hipe/vsn.mk
index 39565d721f..a91d92ca14 100644
--- a/lib/hipe/vsn.mk
+++ b/lib/hipe/vsn.mk
@@ -1 +1 @@
-HIPE_VSN = 3.18.3
+HIPE_VSN = 3.19
diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml
index 2710ea2f2f..03bd1d8042 100644
--- a/lib/inets/doc/src/notes.xml
+++ b/lib/inets/doc/src/notes.xml
@@ -33,7 +33,24 @@
<file>notes.xml</file>
</header>
- <section><title>Inets 7.0.7</title>
+ <section><title>Inets 7.0.8</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 7.0.7</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk
index fd248e793a..5dbec9e7b3 100644
--- a/lib/inets/vsn.mk
+++ b/lib/inets/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = inets
-INETS_VSN = 7.0.7
+INETS_VSN = 7.0.8
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(INETS_VSN)$(PRE_VSN)"
diff --git a/lib/jinterface/doc/src/notes.xml b/lib/jinterface/doc/src/notes.xml
index e4bfddcd17..e79ada47f1 100644
--- a/lib/jinterface/doc/src/notes.xml
+++ b/lib/jinterface/doc/src/notes.xml
@@ -31,6 +31,42 @@
</header>
<p>This document describes the changes made to the Jinterface application.</p>
+<section><title>Jinterface 1.10</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Added support to receive export funs (<c>fun
+ M:F/A</c>).</p>
+ <p>Before this change, export funs sent to a jinterface
+ node were encoded using an undocumented fallback tuple
+ format <c>{M,F}</c>. Existing jinterface implementations
+ expecting these tuples must be changed to instead use the
+ existing <c>OtpErlangExternalFun</c> class.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15774 Aux Id: OTP-15712 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Jinterface 1.9.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/jinterface/vsn.mk b/lib/jinterface/vsn.mk
index a8dc815145..95c7c95726 100644
--- a/lib/jinterface/vsn.mk
+++ b/lib/jinterface/vsn.mk
@@ -1 +1 @@
-JINTERFACE_VSN = 1.9.1
+JINTERFACE_VSN = 1.10
diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml
index 61bd598145..63d8f3565c 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -31,6 +31,82 @@
</header>
<p>This document describes the changes made to the Kernel application.</p>
+<section><title>Kernel 6.4</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ A simple socket API is provided through the socket
+ module. This is a low level API that does *not* replace
+ gen_[tcp|udp|sctp]. It is intended to *eventually*
+ replace the inet driver, but not the high level
+ gen-modules (gen_tcp, gen_udp and gen_sctp). It also
+ provides a basic API that facilitates the implementation
+ of other protocols, than TCP, UDP and SCTP. </p>
+ <p>
+ Known issues are; No support for the Windows OS
+ (currently).</p>
+ <p>
+ Own Id: OTP-14831</p>
+ </item>
+ <item>
+ <p>
+ Improved the documentation for the linger option.</p>
+ <p>
+ Own Id: OTP-15491 Aux Id:
+ https://github.com/erlang/otp/pull/2019 </p>
+ </item>
+ <item>
+ <p> Global no longer tries more than once when connecting
+ to other nodes. </p>
+ <p>
+ Own Id: OTP-15607 Aux Id: ERIERL-280 </p>
+ </item>
+ <item>
+ <p>
+ The dist messages EXIT, EXIT2 and MONITOR_DOWN have been
+ updated with new versions that send the reason term as
+ part of the payload of the message instead of as part of
+ the control message.</p>
+ <p>
+ The old versions are still present and can be used when
+ communicating with nodes that don't support the new
+ versions.</p>
+ <p>
+ Own Id: OTP-15611</p>
+ </item>
+ <item>
+ <p>
+ Kernel configuration parameter <c>start_distribution =
+ boolean()</c> is added. If set to <c>false</c>, the
+ system is started with all distribution functionality
+ disabled. Defaults to <c>true</c>.</p>
+ <p>
+ Own Id: OTP-15668 Aux Id: PR-2088 </p>
+ </item>
+ <item>
+ <p>
+ In OTP-21.3, a warning was introduced for duplicated
+ applications/keys in configuration. This warning would be
+ displayed both when the configuration was given as a file
+ on system start, and during runtime via
+ <c>application:set_env/1,2</c>.</p>
+ <p>
+ The warning is now changed to a <c>badarg</c> exception
+ in <c>application:set_env/1,2</c>. If the faulty
+ configuration is given in a configuration file on system
+ start, the startup will fail.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15692 Aux Id: PR-2170 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Kernel 6.3.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/kernel/src/kernel.appup.src b/lib/kernel/src/kernel.appup.src
index aca3247c8f..cd0397a98c 100644
--- a/lib/kernel/src/kernel.appup.src
+++ b/lib/kernel/src/kernel.appup.src
@@ -19,23 +19,15 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 20
%% - OTP 21
+%% - OTP 22
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^5\\.3$">>,[restart_new_emulator]},
- {<<"^5\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^5\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^5\\.4$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^6\\.0$">>,[restart_new_emulator]},
+ [{<<"^6\\.0$">>,[restart_new_emulator]},
{<<"^6\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^6\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^6\\.1$">>,[restart_new_emulator]},
@@ -45,16 +37,9 @@
{<<"^6\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^6\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^6\\.3$">>,[restart_new_emulator]},
- {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}],
- [{<<"^5\\.3$">>,[restart_new_emulator]},
- {<<"^5\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^5\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^5\\.4$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^5\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^6\\.0$">>,[restart_new_emulator]},
+ {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^6\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
+ [{<<"^6\\.0$">>,[restart_new_emulator]},
{<<"^6\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^6\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^6\\.1$">>,[restart_new_emulator]},
@@ -64,4 +49,5 @@
{<<"^6\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^6\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^6\\.3$">>,[restart_new_emulator]},
- {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
+ {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^6\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk
index b1ae513223..765e890157 100644
--- a/lib/kernel/vsn.mk
+++ b/lib/kernel/vsn.mk
@@ -1 +1 @@
-KERNEL_VSN = 6.3.1
+KERNEL_VSN = 6.4
diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml
index b697c3f631..6f33ae390c 100644
--- a/lib/megaco/doc/src/notes.xml
+++ b/lib/megaco/doc/src/notes.xml
@@ -37,7 +37,30 @@
section is the version number of Megaco.</p>
- <section><title>Megaco 3.18.4</title>
+ <section><title>Megaco 3.18.5</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Minor updates to build system necessary due to move of
+ configuration of <c>crypto</c> application.</p>
+ <p>
+ Own Id: OTP-15262 Aux Id: OTP-15129 </p>
+ </item>
+ <item>
+ <p>
+ Minor adjustments made to build system for parallel
+ configure.</p>
+ <p>
+ Own Id: OTP-15340 Aux Id: OTP-14625 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Megaco 3.18.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk
index f4c82c537a..843a3dccc5 100644
--- a/lib/megaco/vsn.mk
+++ b/lib/megaco/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = megaco
-MEGACO_VSN = 3.18.4
+MEGACO_VSN = 3.18.5
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(MEGACO_VSN)$(PRE_VSN)"
diff --git a/lib/mnesia/doc/src/notes.xml b/lib/mnesia/doc/src/notes.xml
index 01d1666b8d..59c842ab10 100644
--- a/lib/mnesia/doc/src/notes.xml
+++ b/lib/mnesia/doc/src/notes.xml
@@ -39,7 +39,41 @@
thus constitutes one section in this document. The title of each
section is the version number of Mnesia.</p>
- <section><title>Mnesia 4.15.6</title>
+ <section><title>Mnesia 4.16</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Optimize mnesia:read/1 if data have been written in the
+ same transaction.</p>
+ <p>
+ Own Id: OTP-15550 Aux Id: PR-12029 </p>
+ </item>
+ <item>
+ <p>
+ Fixed bugs in table index plugin handling.</p>
+ <p>
+ Own Id: OTP-15689 Aux Id: PR-1695 ERL-556 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Optimized dumping of tables with plugin backends.</p>
+ <p>
+ Own Id: OTP-15588 Aux Id: PR-2102 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Mnesia 4.15.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/mnesia/vsn.mk b/lib/mnesia/vsn.mk
index 781a4830a0..aa5d9adb6d 100644
--- a/lib/mnesia/vsn.mk
+++ b/lib/mnesia/vsn.mk
@@ -1 +1 @@
-MNESIA_VSN = 4.15.6
+MNESIA_VSN = 4.16
diff --git a/lib/observer/doc/src/notes.xml b/lib/observer/doc/src/notes.xml
index 2d914f8c61..f05e58dc21 100644
--- a/lib/observer/doc/src/notes.xml
+++ b/lib/observer/doc/src/notes.xml
@@ -32,6 +32,23 @@
<p>This document describes the changes made to the Observer
application.</p>
+<section><title>Observer 2.9.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Observer 2.9</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/observer/vsn.mk b/lib/observer/vsn.mk
index 0e9c8b302c..c16c43f942 100644
--- a/lib/observer/vsn.mk
+++ b/lib/observer/vsn.mk
@@ -1 +1 @@
-OBSERVER_VSN = 2.9
+OBSERVER_VSN = 2.9.1
diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml
index 696fcaa479..8d708162e4 100644
--- a/lib/odbc/doc/src/notes.xml
+++ b/lib/odbc/doc/src/notes.xml
@@ -32,7 +32,23 @@
<p>This document describes the changes made to the odbc application.
</p>
- <section><title>ODBC 2.12.3</title>
+ <section><title>ODBC 2.12.4</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Minor adjustments made to build system for parallel
+ configure.</p>
+ <p>
+ Own Id: OTP-15340 Aux Id: OTP-14625 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>ODBC 2.12.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/odbc/vsn.mk b/lib/odbc/vsn.mk
index ff023e666b..df6db09f2f 100644
--- a/lib/odbc/vsn.mk
+++ b/lib/odbc/vsn.mk
@@ -1 +1 @@
-ODBC_VSN = 2.12.3
+ODBC_VSN = 2.12.4
diff --git a/lib/os_mon/doc/src/notes.xml b/lib/os_mon/doc/src/notes.xml
index 64e9f281e3..1f169263e9 100644
--- a/lib/os_mon/doc/src/notes.xml
+++ b/lib/os_mon/doc/src/notes.xml
@@ -31,6 +31,35 @@
</header>
<p>This document describes the changes made to the OS_Mon application.</p>
+<section><title>Os_Mon 2.5</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix typespec of <c>cpu_sup:util()</c>.</p>
+ <p>
+ Own Id: OTP-15770 Aux Id: PR-2208 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The application otp_mibs has been removed from OTP. Some
+ of its components (mibs) have been moved to other apps
+ (snmp), or removed completely (os_mon).</p>
+ <p>
+ Own Id: OTP-14984 Aux Id: OTP-15329 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Os_Mon 2.4.7</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/os_mon/vsn.mk b/lib/os_mon/vsn.mk
index 9713f6bc6b..845443d329 100644
--- a/lib/os_mon/vsn.mk
+++ b/lib/os_mon/vsn.mk
@@ -1 +1 @@
-OS_MON_VSN = 2.4.7
+OS_MON_VSN = 2.5
diff --git a/lib/public_key/doc/src/notes.xml b/lib/public_key/doc/src/notes.xml
index f6bc0dc797..3aad79ed71 100644
--- a/lib/public_key/doc/src/notes.xml
+++ b/lib/public_key/doc/src/notes.xml
@@ -35,6 +35,58 @@
<file>notes.xml</file>
</header>
+<section><title>Public_Key 1.6.6</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ RSA options passed to crypto for encrypt and decrypt with
+ public or private key.</p>
+ <p>
+ Own Id: OTP-15754 Aux Id: ERL-878 </p>
+ </item>
+ <item>
+ <p>
+ Fix dialyzer warnings caused by a faulty type
+ specification for digest_type().</p>
+ <p>
+ This change updates digest_type() and the functions
+ operating with this argument type to accept both 'sha1'
+ and 'sha' as digest_type().</p>
+ <p>
+ Own Id: OTP-15776</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Add possibility to read PEM files encrypted with old PEM
+ encryption using AES-256</p>
+ <p>
+ Own Id: OTP-13726</p>
+ </item>
+ <item>
+ <p>
+ Relax decoding of certificates to so that "harmless"
+ third party encoding errors may be accepted but not
+ created by the public_key application. This adds
+ acceptance of using an incorrect three character country
+ code, the PKIX standard use two character country codes.
+ It is also accepted that the country code is utf8 encoded
+ but the specification says it should be ASCII.</p>
+ <p>
+ Own Id: OTP-15687 Aux Id: PR-2162 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Public_Key 1.6.5</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk
index 11c06fb158..c68806d856 100644
--- a/lib/public_key/vsn.mk
+++ b/lib/public_key/vsn.mk
@@ -1 +1 @@
-PUBLIC_KEY_VSN = 1.6.5
+PUBLIC_KEY_VSN = 1.6.6
diff --git a/lib/reltool/doc/src/notes.xml b/lib/reltool/doc/src/notes.xml
index 165ae6db6a..2d043017af 100644
--- a/lib/reltool/doc/src/notes.xml
+++ b/lib/reltool/doc/src/notes.xml
@@ -38,7 +38,40 @@
thus constitutes one section in this document. The title of each
section is the version number of Reltool.</p>
- <section><title>Reltool 0.7.8</title>
+ <section><title>Reltool 0.8</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ A new element, <c>Opts</c>, can now be included in a
+ <c>rel</c> tuple in the reltool release specific
+ configuration format: {rel, Name, Vsn, RelApps, Opts}.</p>
+ <p>
+ This supports the use of <c>{rel, Name, Vsn, RelApps,
+ [{load_dot_erlang, false}]}</c> to prevent the boot
+ script from running the <c>.erlang</c> file.</p>
+ <p>
+ The incompatibilities are as follows:</p>
+ <p>
+ * The return from <c>reltool:get_config/1</c> and
+ <c>reltool:get_config/3</c> includes the new <c>rel</c>
+ tuple for all rels where the <c>load_dot_erlang</c>
+ option is set to <c>false</c>.<br/> * The return from
+ <c>reltool:get_config/3</c> includes the new <c>rel</c>
+ tuple for ALL rels if the <c>InclDefs</c> parameter is
+ set to <c>true</c>.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15571</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Reltool 0.7.8</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/reltool/vsn.mk b/lib/reltool/vsn.mk
index a649a3e0c0..c5aacfba38 100644
--- a/lib/reltool/vsn.mk
+++ b/lib/reltool/vsn.mk
@@ -1 +1 @@
-RELTOOL_VSN = 0.7.8
+RELTOOL_VSN = 0.8
diff --git a/lib/runtime_tools/doc/src/notes.xml b/lib/runtime_tools/doc/src/notes.xml
index 58a2a66c4b..1b94c3e6d9 100644
--- a/lib/runtime_tools/doc/src/notes.xml
+++ b/lib/runtime_tools/doc/src/notes.xml
@@ -32,6 +32,22 @@
<p>This document describes the changes made to the Runtime_Tools
application.</p>
+<section><title>Runtime_Tools 1.13.3</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Minor updates to build system necessary due to move of
+ configuration of <c>crypto</c> application.</p>
+ <p>
+ Own Id: OTP-15262 Aux Id: OTP-15129 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Runtime_Tools 1.13.2</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/runtime_tools/vsn.mk b/lib/runtime_tools/vsn.mk
index fa2f338ec2..3f38574be4 100644
--- a/lib/runtime_tools/vsn.mk
+++ b/lib/runtime_tools/vsn.mk
@@ -1 +1 @@
-RUNTIME_TOOLS_VSN = 1.13.2
+RUNTIME_TOOLS_VSN = 1.13.3
diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml
index 982c874117..13546a6a62 100644
--- a/lib/sasl/doc/src/notes.xml
+++ b/lib/sasl/doc/src/notes.xml
@@ -31,6 +31,23 @@
</header>
<p>This document describes the changes made to the SASL application.</p>
+<section><title>SASL 3.4</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Change the first module called by erts to be names
+ erl_init instead of otp_ring0. systools in sasl have been
+ updated to reflect this change.</p>
+ <p>
+ Own Id: OTP-15336 Aux Id: PR-1825 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>SASL 3.3</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/sasl/src/sasl.appup.src b/lib/sasl/src/sasl.appup.src
index 26127eae84..22a9027b7c 100644
--- a/lib/sasl/src/sasl.appup.src
+++ b/lib/sasl/src/sasl.appup.src
@@ -19,27 +19,21 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 20
%% - OTP 21
+%% - OTP 22
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^3\\.0\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.1$">>,[restart_new_emulator]},
- {<<"^3\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.2$">>,[restart_new_emulator]},
+ [{<<"^3\\.2$">>,[restart_new_emulator]},
{<<"^3\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
- [{<<"^3\\.0\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.1$">>,[restart_new_emulator]},
- {<<"^3\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.2$">>,[restart_new_emulator]},
+ {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^3\\.3$">>,[restart_new_emulator]},
+ {<<"^3\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}],
+ [{<<"^3\\.2$">>,[restart_new_emulator]},
{<<"^3\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
+ {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^3\\.3$">>,[restart_new_emulator]},
+ {<<"^3\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk
index c1f80752a7..8838b514da 100644
--- a/lib/sasl/vsn.mk
+++ b/lib/sasl/vsn.mk
@@ -1 +1 @@
-SASL_VSN = 3.3
+SASL_VSN = 3.4
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml
index a6c3d57148..780e0cae76 100644
--- a/lib/snmp/doc/src/notes.xml
+++ b/lib/snmp/doc/src/notes.xml
@@ -34,7 +34,32 @@
</header>
- <section><title>SNMP 5.2.12</title>
+ <section><title>SNMP 5.3</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The application otp_mibs has been removed from OTP. Some
+ of its components (mibs) have been moved to other apps
+ (snmp), or removed completely (os_mon).</p>
+ <p>
+ Own Id: OTP-14984 Aux Id: OTP-15329 </p>
+ </item>
+ <item>
+ <p>
+ [snmp|agent] Add a get-mechanism callback module (and a
+ corresponding behaviour). The agent calls this module to
+ handle each get (get, get-next and get-bulk) request.</p>
+ <p>
+ Own Id: OTP-15691 Aux Id: ERIERL-324 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>SNMP 5.2.12</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml
index bad5815f40..046d6df89f 100644
--- a/lib/ssh/doc/src/notes.xml
+++ b/lib/ssh/doc/src/notes.xml
@@ -30,6 +30,21 @@
<file>notes.xml</file>
</header>
+<section><title>Ssh 4.7.6</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ SSH uses the new crypto API.</p>
+ <p>
+ Own Id: OTP-15673</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Ssh 4.7.5</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk
index 2947f82556..837da27ab0 100644
--- a/lib/ssh/vsn.mk
+++ b/lib/ssh/vsn.mk
@@ -1,4 +1,4 @@
#-*-makefile-*- ; force emacs to enter makefile-mode
-SSH_VSN = 4.7.5
+SSH_VSN = 4.7.6
APP_VSN = "ssh-$(SSH_VSN)"
diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml
index f0231da2ad..10455684f1 100644
--- a/lib/ssl/doc/src/notes.xml
+++ b/lib/ssl/doc/src/notes.xml
@@ -27,6 +27,73 @@
</header>
<p>This document describes the changes made to the SSL application.</p>
+<section><title>SSL 9.3</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The distribution handshake with TLS distribution
+ (<c>inet_tls_dist</c>) does now utilize the socket option
+ <c>{nodelay, true}</c>, which decreases the distribution
+ setup time significantly.</p>
+ <p>
+ Own Id: OTP-14792</p>
+ </item>
+ <item>
+ <p>
+ Correct shutdown reason to avoid an incorrect crash
+ report</p>
+ <p>
+ Own Id: OTP-15710 Aux Id: ERL-893 </p>
+ </item>
+ <item>
+ <p>
+ Enhance documentation and type specifications.</p>
+ <p>
+ Own Id: OTP-15746 Aux Id: ERIERL-333 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ TLS-1.0, TLS-1.1 and DTLS-1.0 are now considered legacy
+ and not supported by default</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-14865</p>
+ </item>
+ <item>
+ <p>
+ Use new logger API in ssl. Introduce log levels and
+ verbose debug logging for SSL.</p>
+ <p>
+ Own Id: OTP-15055</p>
+ </item>
+ <item>
+ <p>
+ Basic support for TLS 1.3 Server for experimental use.
+ The client is not yet functional, for more information
+ see the Standards Compliance chapter of the User's Guide.</p>
+ <p>
+ Own Id: OTP-15591</p>
+ </item>
+ <item>
+ <p>
+ Add support for PSK CCM ciphers from RFC 6655</p>
+ <p>
+ Own Id: OTP-15626</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>SSL 9.2.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/ssl/vsn.mk b/lib/ssl/vsn.mk
index 98070f794c..3c66ffd852 100644
--- a/lib/ssl/vsn.mk
+++ b/lib/ssl/vsn.mk
@@ -1 +1 @@
-SSL_VSN = 9.2.2
+SSL_VSN = 9.3
diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml
index 65650a25c7..90e9827ec8 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,6 +31,231 @@
</header>
<p>This document describes the changes made to the STDLIB application.</p>
+<section><title>STDLIB 3.9</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p> Fix a bug in <c>string:lexemes/2</c>. </p> <p> The
+ bug was found when optimizing the handling of deep lists
+ of Unicode characters in the <c>string</c> module. </p>
+ <p>
+ Own Id: OTP-15649</p>
+ </item>
+ <item>
+ <p>A bug has been fixed in the <c>maps</c> implementation
+ that could cause a crash or memory usage to grow until
+ the machine ran out of memory. This could happen when
+ inserting a new key-value pair with a key <c>K1</c>
+ containing a binary <c>B1</c> into a map <c>M</c> having
+ a key <c>K2</c> with a binary <c>B2</c> if the following
+ conditions were met:</p> <list> <item><c>B1 =/=
+ B2</c></item> <item><c>size(B1) >= 4294967296</c></item>
+ <item><c>size(B2) >= 4294967296</c></item>
+ <item><c>size(M) >= 32</c></item> <item><c>(size(B1) rem
+ 4294967296) == (size(B2) rem 4294967296)</c></item>
+ <item>the first <c>(size(B1) rem 4294967296)</c> bytes
+ are the same both in <c>B1</c> and <c>B2</c></item>
+ <item>substituting <c>B1</c> in <c>K1</c> with <c>B2</c>
+ would create a term with the same value as
+ <c>K2</c></item> </list> <p>The root cause of the problem
+ is that the <c>maps</c> implementation only hashed the
+ first <c>(X rem 4294967296)</c> bytes of binaries so that
+ different binaries could get the same hash value
+ independently of the hash seed.</p>
+ <p>
+ Own Id: OTP-15707</p>
+ </item>
+ <item>
+ <p> Since the introduction of the stack trace variable,
+ the Erlang Pretty Printer has left out the exception
+ class <c>throw</c> even when the stack trace variable
+ cannot be left out, which is not correct Erlang code. The
+ fix is to always include the exception class
+ <c>throw</c>. </p>
+ <p>
+ Own Id: OTP-15751</p>
+ </item>
+ <item>
+ <p><c>record_info/2</c> is a pseudo-function that
+ requires literal arguments known at compile time.
+ Therefore, the following usage is illegal: <c>fun
+ record/info/2</c>. The compiler would crash when during
+ compilation of that kind of code. Corrected to issue a
+ compilation error.</p>
+ <p>
+ Own Id: OTP-15760 Aux Id: ERL-907 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> A new <c>rand</c> module algorithm, <c>exro928ss</c>
+ (Xoroshiro928**), has been implemented. It has got a
+ really long period and good statistical quality for all
+ output bits, while still being only about 50% slower than
+ the default algorithm. </p><p> The same generator is also
+ used as a long period counter in a new <c>crypto</c>
+ plugin for the <c>rand</c> module, algorithm
+ <c>crypto_aes</c>. This plugin uses AES-256 to scramble
+ the counter which buries any detectable statistical
+ artifacts. Scrambling is done in chunks which are cached
+ to get good amortized speed (about half of the default
+ algorithm). </p>
+ <p>
+ Own Id: OTP-14461 Aux Id: PR-1857 </p>
+ </item>
+ <item>
+ <p>
+ Types related to server naming and starting have been
+ exported from <c>gen_statem</c>. These are:
+ <c>server_name/0</c>, <c>server_ref/0</c>,
+ <c>start_opt/0</c>, <c>start_ret/0</c> and
+ <c>enter_loop_opt/0</c>.</p>
+ <p>
+ Own Id: OTP-14724 Aux Id: PR-2056 </p>
+ </item>
+ <item>
+ <p>
+ The default algorithm for the <c>rand</c> module has been
+ changed to <c>exsss</c> (Xorshift116**) which is a
+ combination of the Xorshift116 (<c>exsp</c>) state update
+ and a new scrambler "StarStar" from the 2018 paper
+ "Scrambled Linear Pseudorandom Number Generators" by
+ David Blackman and Sebastiano Vigna. This combination
+ should not have the caveat of weak low bits that the
+ previous default algorithm(s) have had, with the cost of
+ about 10% lower speed. See GitHub pull request #1969.</p>
+ <p>
+ Own Id: OTP-14731 Aux Id: PR-1969 </p>
+ </item>
+ <item>
+ <p>
+ The generic state machine behaviour <c>gen_statem</c> has
+ gotten code cleanup and documentation improvements from
+ GitHub Pull Request #1855, even though the PR itself was
+ rejected.</p>
+ <p>
+ Own Id: OTP-14737 Aux Id: PR-1855 </p>
+ </item>
+ <item>
+ <p>
+ Update Unicode specification to version 11.0.</p>
+ <p>
+ Own Id: OTP-15111</p>
+ </item>
+ <item>
+ <p>
+ ETS option <c>write_concurrency</c> now also affects and
+ improves the scalability of <c>ordered_set</c> tables.
+ The implementation is based on a data structure called
+ contention adapting search tree, where the lock
+ granularity adapts to the actual amount of concurrency
+ exploited by the applications in runtime.</p>
+ <p>
+ Own Id: OTP-15128</p>
+ </item>
+ <item>
+ <p>
+ Optimized <c>maps:new/0</c> with trivial Erlang
+ implementation, making use of literal terms (the empty
+ map) not needing dynamic heap allocation.</p>
+ <p>
+ Own Id: OTP-15200 Aux Id: PR-1878 </p>
+ </item>
+ <item>
+ <p>The <c>gen_*</c> behaviours have been changed so that
+ if logging of the last N messages through
+ <c>sys:log/2,3</c> is active for the server, this log is
+ included in the terminate report.</p> <p>To accomplish
+ this the format of "System Events" as defined in the man
+ page for <c>sys</c> has been clarified and cleaned up, a
+ new function <c>sys:get_log/1</c> has been added, and
+ <c>sys:get_debug/3</c> has been deprecated. Due to these
+ changes, code that relies on the internal badly
+ documented format of "System Events", need to be
+ corrected.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15381</p>
+ </item>
+ <item>
+ <p>
+ The <c>gen_statem</c> behaviour engine loop has been
+ optimized for better performance in particular when the
+ callback module returns some actions, that is better
+ performance for more realistic applications than the Echo
+ Benchmark.</p>
+ <p>
+ Own Id: OTP-15452</p>
+ </item>
+ <item>
+ <p>
+ The <c>persistent_term</c> functions <c>put/2</c> and
+ <c>erase/1</c> are now yeliding.</p>
+ <p>
+ Own Id: OTP-15615</p>
+ </item>
+ <item>
+ <p>Previously, all ETS tables used centralized counter
+ variables to keep track of the number of items stored and
+ the amount of memory consumed. These counters can cause
+ scalability problems (especially on big NUMA systems).
+ This change adds an implementation of a decentralized
+ counter and modifies the implementation of ETS so that
+ ETS tables of type <c>ordered_set</c> with
+ <c>write_concurrency</c> enabled use the decentralized
+ counter. Experiments indicate that this change
+ substantially improves the scalability of ETS
+ <c>ordered_set</c> tables with <c>write_concurrency</c>
+ enabled in scenarios with frequent <c>ets:insert/2</c>
+ and <c>ets:delete/2</c> calls.</p>
+ <p>
+ Own Id: OTP-15623 Aux Id: PR-2190 </p>
+ </item>
+ <item>
+ <p> Use <c>ssh</c> instead of <c>rsh</c> as the default
+ remote shell. </p>
+ <p>
+ Own Id: OTP-15633 Aux Id: PR-1787 </p>
+ </item>
+ <item>
+ <p>Added <c>beam_lib:strip/2</c> and friends, which
+ accept a list of chunks that should be preserved when
+ stripping.</p>
+ <p>
+ Own Id: OTP-15680 Aux Id: PR-2114 </p>
+ </item>
+ <item>
+ <p> There are new compiler options <c>nowarn_removed</c>
+ and <c>{nowarn_removed,Items}</c> to suppress warnings
+ for functions and modules that have been removed from
+ OTP.</p>
+ <p>
+ Own Id: OTP-15749 Aux Id: ERL-904 </p>
+ </item>
+ <item>
+ <p> Let the Erlang Pretty Printer put atomic parts on the
+ same line. </p>
+ <p>
+ Own Id: OTP-15755</p>
+ </item>
+ <item>
+ <p> Add option <c>quote_singleton_atom_types</c> to the
+ Erlang Pretty Printer's functions. Setting the option to
+ <c>true</c> adds quotes to all singleton atom types. </p>
+ <p>
+ Own Id: OTP-15756</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>STDLIB 3.8.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src
index 9cd425db9a..ecb514e9f3 100644
--- a/lib/stdlib/src/stdlib.app.src
+++ b/lib/stdlib/src/stdlib.app.src
@@ -108,7 +108,7 @@
dets]},
{applications, [kernel]},
{env, []},
- {runtime_dependencies, ["sasl-3.0","kernel-6.0","erts-@OTP-15128@","crypto-3.3",
+ {runtime_dependencies, ["sasl-3.0","kernel-6.0","erts-10.4","crypto-3.3",
"compiler-5.0"]}
]}.
diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src
index 08612ed17f..ff92c1267f 100644
--- a/lib/stdlib/src/stdlib.appup.src
+++ b/lib/stdlib/src/stdlib.appup.src
@@ -19,22 +19,15 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 20
%% - OTP 21
+%% - OTP 22
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^3\\.4$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.5(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.5$">>,[restart_new_emulator]},
+ [{<<"^3\\.5$">>,[restart_new_emulator]},
{<<"^3\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.6$">>,[restart_new_emulator]},
@@ -43,15 +36,9 @@
{<<"^3\\.7\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.7\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.8$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}],
- [{<<"^3\\.4$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.5(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.5$">>,[restart_new_emulator]},
+ {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
+ [{<<"^3\\.5$">>,[restart_new_emulator]},
{<<"^3\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.6$">>,[restart_new_emulator]},
@@ -60,4 +47,5 @@
{<<"^3\\.7\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.7\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.8$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
+ {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk
index 6471dc70e0..07224afdc9 100644
--- a/lib/stdlib/vsn.mk
+++ b/lib/stdlib/vsn.mk
@@ -1 +1 @@
-STDLIB_VSN = 3.8.1
+STDLIB_VSN = 3.9
diff --git a/lib/syntax_tools/doc/src/notes.xml b/lib/syntax_tools/doc/src/notes.xml
index 772f5e6e04..a2dd78f280 100644
--- a/lib/syntax_tools/doc/src/notes.xml
+++ b/lib/syntax_tools/doc/src/notes.xml
@@ -32,6 +32,34 @@
<p>This document describes the changes made to the Syntax_Tools
application.</p>
+<section><title>Syntax_Tools 2.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> Correct links in the documentation. </p>
+ <p>
+ Own Id: OTP-15761</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Syntax_Tools 2.1.7</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/syntax_tools/vsn.mk b/lib/syntax_tools/vsn.mk
index 538c71dc24..0ace11772d 100644
--- a/lib/syntax_tools/vsn.mk
+++ b/lib/syntax_tools/vsn.mk
@@ -1 +1 @@
-SYNTAX_TOOLS_VSN = 2.1.7
+SYNTAX_TOOLS_VSN = 2.2
diff --git a/lib/tools/doc/src/notes.xml b/lib/tools/doc/src/notes.xml
index 2191ebe2df..fd41e2cbeb 100644
--- a/lib/tools/doc/src/notes.xml
+++ b/lib/tools/doc/src/notes.xml
@@ -31,6 +31,49 @@
</header>
<p>This document describes the changes made to the Tools application.</p>
+<section><title>Tools 3.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Add <c>cprof</c> and <c>tags</c> modules to .app file so
+ that they are included in releases.</p>
+ <p>
+ Own Id: OTP-15534 Aux Id: PR-2078 </p>
+ </item>
+ <item>
+ <p>
+ Improved documentation parsing in emacs erldoc
+ functionality.</p>
+ <p>
+ Own Id: OTP-15699 Aux Id: PR-2184 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>The <c>cover</c> tool now uses the <c>counters</c>
+ module instead of <c>ets</c> for updating the counters
+ for how many times a line has been executed. By default,
+ Cover will work with distributed nodes, but a new
+ function <c>cover:local_only/0</c> allows running the
+ Cover in a restricted but faster local-only mode.</p>
+ <p>The increase in speed will vary depending on the type
+ of code being cover-compiled, but as an example, the
+ compiler test suite runs more than twice as fast with the
+ new Cover.</p>
+ <p>
+ Own Id: OTP-15575</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Tools 3.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/tools/vsn.mk b/lib/tools/vsn.mk
index 5700885549..191a458c62 100644
--- a/lib/tools/vsn.mk
+++ b/lib/tools/vsn.mk
@@ -1 +1 @@
-TOOLS_VSN = 3.1
+TOOLS_VSN = 3.2
diff --git a/lib/wx/doc/src/notes.xml b/lib/wx/doc/src/notes.xml
index 33d02e22ba..0c3374091d 100644
--- a/lib/wx/doc/src/notes.xml
+++ b/lib/wx/doc/src/notes.xml
@@ -32,6 +32,23 @@
<p>This document describes the changes made to the wxErlang
application.</p>
+<section><title>Wx 1.8.8</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All incorrect (that is, all) uses of "can not" has been
+ corrected to "cannot" in source code comments,
+ documentation, examples, and so on.</p>
+ <p>
+ Own Id: OTP-14282 Aux Id: PR-1891 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Wx 1.8.7</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/wx/vsn.mk b/lib/wx/vsn.mk
index dac219fa98..91d15de3a9 100644
--- a/lib/wx/vsn.mk
+++ b/lib/wx/vsn.mk
@@ -1 +1 @@
-WX_VSN = 1.8.7
+WX_VSN = 1.8.8
diff --git a/lib/xmerl/doc/src/notes.xml b/lib/xmerl/doc/src/notes.xml
index d6b6dfdfb5..37973d0dba 100644
--- a/lib/xmerl/doc/src/notes.xml
+++ b/lib/xmerl/doc/src/notes.xml
@@ -32,6 +32,21 @@
<p>This document describes the changes made to the Xmerl application.</p>
+<section><title>Xmerl 1.3.21</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ A typo in an error printout has been fixed.</p>
+ <p>
+ Own Id: OTP-14703 Aux Id: PR-1964 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Xmerl 1.3.20</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/xmerl/vsn.mk b/lib/xmerl/vsn.mk
index 31ffa6e749..08696606e6 100644
--- a/lib/xmerl/vsn.mk
+++ b/lib/xmerl/vsn.mk
@@ -1 +1 @@
-XMERL_VSN = 1.3.20
+XMERL_VSN = 1.3.21
diff --git a/make/otp_version_tickets b/make/otp_version_tickets
index b8220e1a87..989b3d14a3 100644
--- a/make/otp_version_tickets
+++ b/make/otp_version_tickets
@@ -1 +1,136 @@
-DEVELOPMENT
+OTP-13397
+OTP-13726
+OTP-13819
+OTP-14282
+OTP-14461
+OTP-14625
+OTP-14703
+OTP-14724
+OTP-14731
+OTP-14732
+OTP-14737
+OTP-14746
+OTP-14792
+OTP-14831
+OTP-14865
+OTP-14894
+OTP-14984
+OTP-15011
+OTP-15055
+OTP-15063
+OTP-15075
+OTP-15095
+OTP-15111
+OTP-15128
+OTP-15129
+OTP-15195
+OTP-15200
+OTP-15211
+OTP-15220
+OTP-15238
+OTP-15248
+OTP-15261
+OTP-15262
+OTP-15273
+OTP-15310
+OTP-15323
+OTP-15325
+OTP-15326
+OTP-15336
+OTP-15340
+OTP-15349
+OTP-15351
+OTP-15362
+OTP-15372
+OTP-15373
+OTP-15374
+OTP-15381
+OTP-15385
+OTP-15386
+OTP-15427
+OTP-15429
+OTP-15439
+OTP-15440
+OTP-15451
+OTP-15452
+OTP-15456
+OTP-15491
+OTP-15513
+OTP-15534
+OTP-15535
+OTP-15543
+OTP-15550
+OTP-15564
+OTP-15565
+OTP-15571
+OTP-15575
+OTP-15581
+OTP-15588
+OTP-15590
+OTP-15591
+OTP-15596
+OTP-15607
+OTP-15610
+OTP-15611
+OTP-15612
+OTP-15613
+OTP-15615
+OTP-15617
+OTP-15620
+OTP-15621
+OTP-15622
+OTP-15623
+OTP-15626
+OTP-15631
+OTP-15632
+OTP-15633
+OTP-15635
+OTP-15640
+OTP-15641
+OTP-15644
+OTP-15649
+OTP-15655
+OTP-15658
+OTP-15668
+OTP-15672
+OTP-15673
+OTP-15674
+OTP-15677
+OTP-15678
+OTP-15680
+OTP-15683
+OTP-15687
+OTP-15689
+OTP-15691
+OTP-15692
+OTP-15693
+OTP-15694
+OTP-15697
+OTP-15698
+OTP-15699
+OTP-15703
+OTP-15707
+OTP-15708
+OTP-15710
+OTP-15712
+OTP-15715
+OTP-15717
+OTP-15740
+OTP-15746
+OTP-15749
+OTP-15751
+OTP-15752
+OTP-15754
+OTP-15755
+OTP-15756
+OTP-15758
+OTP-15759
+OTP-15760
+OTP-15761
+OTP-15770
+OTP-15771
+OTP-15773
+OTP-15774
+OTP-15775
+OTP-15776
+OTP-15777