summaryrefslogtreecommitdiff
path: root/erts
diff options
context:
space:
mode:
Diffstat (limited to 'erts')
-rw-r--r--erts/doc/src/erlang.xml32
-rw-r--r--erts/doc/src/notes.xml596
-rw-r--r--erts/preloaded/src/erts.app.src2
-rw-r--r--erts/vsn.mk2
4 files changed, 614 insertions, 18 deletions
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index 14f9b5a79f..67d7a07bae 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -375,7 +375,7 @@ Z = erlang:adler32_combine(X,Y,iolist_size(Data2)).</code>
</func>
<func>
- <name name="atom_to_binary" arity="1" since="OTP @OTP-15995@"/>
+ <name name="atom_to_binary" arity="1" since="OTP 23.0"/>
<fsummary>Return the binary representation of an atom.</fsummary>
<desc>
<p>
@@ -457,7 +457,7 @@ Z = erlang:adler32_combine(X,Y,iolist_size(Data2)).</code>
</func>
<func>
- <name name="binary_to_atom" arity="1" since="OTP @OTP-15995@"/>
+ <name name="binary_to_atom" arity="1" since="OTP 23.0"/>
<fsummary>Convert from text representation to an atom.</fsummary>
<desc>
<p>
@@ -493,7 +493,7 @@ Z = erlang:adler32_combine(X,Y,iolist_size(Data2)).</code>
</func>
<func>
- <name name="binary_to_existing_atom" arity="1" since="OTP @OTP-15995@"/>
+ <name name="binary_to_existing_atom" arity="1" since="OTP 23.0"/>
<fsummary>Convert from text representation to an atom.</fsummary>
<desc>
<p>
@@ -6315,7 +6315,7 @@ true</pre>
</func>
<func>
- <name name="spawn_monitor" arity="2" since="OTP @OTP-15251@"/>
+ <name name="spawn_monitor" arity="2" since="OTP 23.0"/>
<fsummary>Create and monitor a new process with a fun as entry point.
</fsummary>
<desc>
@@ -6346,7 +6346,7 @@ true</pre>
</func>
<func>
- <name name="spawn_monitor" arity="4" since="OTP @OTP-15251@"/>
+ <name name="spawn_monitor" arity="4" since="OTP 23.0"/>
<fsummary>Create and monitor a new process with a function as entry point.
</fsummary>
<desc>
@@ -6564,7 +6564,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="1" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="1" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6576,7 +6576,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="2" clause_i="1" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="2" clause_i="1" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6588,7 +6588,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="2" clause_i="2" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="2" clause_i="2" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6600,7 +6600,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="3" clause_i="1" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="3" clause_i="1" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6620,7 +6620,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="3" clause_i="2" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="3" clause_i="2" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6632,7 +6632,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="4" clause_i="1" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="4" clause_i="1" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6644,7 +6644,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="4" clause_i="2" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="4" clause_i="2" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6656,7 +6656,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request" arity="5" since="OTP @OTP-15251@"/>
+ <name name="spawn_request" arity="5" since="OTP 23.0"/>
<fsummary>Asynchronously send a request to spawn a new process.</fsummary>
<desc>
<p>
@@ -6893,7 +6893,7 @@ true</pre>
</func>
<func>
- <name name="spawn_request_abandon" arity="1" since="OTP @OTP-15251@"/>
+ <name name="spawn_request_abandon" arity="1" since="OTP 23.0"/>
<fsummary>Abandon a previously issued spawn request.</fsummary>
<desc>
<p>
@@ -10217,7 +10217,7 @@ hello
</func>
<func>
- <name name="term_to_iovec" arity="1" since="OTP @OTP-15618@"/>
+ <name name="term_to_iovec" arity="1" since="OTP 23.0"/>
<fsummary>Encode a term to an Erlang external term format as iovec().
</fsummary>
<desc>
@@ -10242,7 +10242,7 @@ hello
</func>
<func>
- <name name="term_to_iovec" arity="2" since="OTP @OTP-15618@"/>
+ <name name="term_to_iovec" arity="2" since="OTP 23.0"/>
<fsummary>Encode a term to en Erlang external term format as iovec().
</fsummary>
<desc>
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 5ad026f8e4..698d044bfb 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -31,6 +31,602 @@
</header>
<p>This document describes the changes made to the ERTS application.</p>
+<section><title>Erts 11.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>BIFs now behave like ordinary functions with regard to
+ tracing, allowing <c>call_count</c> tracing and fixing a
+ few bugs where return trace messages were lost when BIFs
+ tail-called themselves or other functions
+ ("trapping").</p>
+ <p>
+ Own Id: OTP-14734 Aux Id: ERL-496 </p>
+ </item>
+ <item>
+ <p>
+ Fix various compiler warnings on 64-bit Windows.</p>
+ <p>
+ Own Id: OTP-15800</p>
+ </item>
+ <item>
+ <p><c>erlang:fun_info(fun foo/1, name/1)</c> used to
+ return a function name based on the name of the function
+ that <c>fun foo/1</c> was used in. The name returned is
+ now <c>-fun.foo/1-</c>.</p>
+ <p>
+ Own Id: OTP-15837</p>
+ </item>
+ <item>
+ <p><c>file:allocate/3</c> will now update the file size
+ on all platforms.</p>
+ <p>
+ Own Id: OTP-16155 Aux Id: PR-2408 </p>
+ </item>
+ <item>
+ <p>
+ <c>erlang:decode_packet</c> with type set to <c>httph</c>
+ no longer accepts http headers that have whitespaces in
+ between the header name and the colon. That is:</p>
+ <p>
+ <c> Content-Type : text/html </c></p>
+ <p>
+ is no longer allowed. This has been changed to conform
+ with RFC 7230 and thus protect against http desync
+ attacks.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16168 Aux Id: ERL-1053 </p>
+ </item>
+ <item>
+ <p>
+ Fix the quoting rules in <c>erl -args_file</c>,
+ <c>ERL_FLAGS</c>, <c>ERL_AFLAGS</c> and <c>ERL_ZFLAGS</c>
+ to work as unix sh quoting.</p>
+ <p>
+ This bug fix can make previous configuration options to
+ <c>erl</c> passed through <c>ERL_FLAGS</c>,
+ <c>ERL_AFLAGS</c>, <c>ERL_ZFLAGS</c> or <c>-args_file</c>
+ not be interpreted in the same way as before the fix.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16244 Aux Id: ERL-1051 </p>
+ </item>
+ <item>
+ <p>
+ Fix the Erlang distribution to handle the scenario when a
+ node connects that can handle message fragmentation but
+ can not handle the atom cache. This bug only affects
+ users that have implemented a custom distribution
+ carrier. It has been present since OTP-21.</p>
+ <p>
+ The <c>DFLAG_FRAGMENT</c> distribution flag was added to
+ the set of flags that can be rejected by a distribution
+ implementation.</p>
+ <p>
+ Own Id: OTP-16284</p>
+ </item>
+ <item>
+ <p>
+ Compiling a match specification with excessive nesting
+ caused the runtime system to crash due to scheduler stack
+ exhaustion. Instead of crashing the runtime system,
+ effected functions will now raise a <c>system_limit</c>
+ error exception in this situation.</p>
+ <p>
+ Own Id: OTP-16431 Aux Id: ERL-592 </p>
+ </item>
+ <item>
+ <p>Fixed a bug that prevented Erlang from being started
+ on Windows if it were installed on certain paths.</p>
+ <p>
+ Own Id: OTP-16478 Aux Id: ERL-1115 </p>
+ </item>
+ <item>
+ <p>Fix bug on Windows causing bad performance when
+ standard input is closed, especially if the VM is only
+ assigned one CPU core. Could be provoked for example by
+ starting erl or escript via function <c>os:cmd/1</c>.
+ Could be avoided with command line option
+ <c>-noinput</c>.</p> <p>The bad performance was caused by
+ an io thread spinning indefinitely.</p>
+ <p>
+ Own Id: OTP-16521 Aux Id: ERL-716 </p>
+ </item>
+ <item>
+ <p>Fixed a bug on Unix platforms that would cause
+ <c>file:read_file_info/1</c> to return incorrect results
+ if the emulator's effective user or group id differed
+ from its actual ones.</p>
+ <p>
+ Own Id: OTP-16571</p>
+ </item>
+ <item>
+ <p>
+ socket: Compile problems on Android when PACKET_FASTROUTE
+ and PACKET_USER are both defined and has the same value.
+ Use of PACKET_FASTROUTE has been removed as it may be
+ unused and also only for none user-land.</p>
+ <p>
+ Own Id: OTP-16576 Aux Id: ERL-1208 </p>
+ </item>
+ <item>
+ <p>
+ Fixed bug in erl_crash.dump generation that could cause a
+ SEGV core dump if a recently cancelled timer was found.</p>
+ <p>
+ Own Id: OTP-16596 Aux Id: ERL-1105, PR-2606 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Improved concurrency of <c>erlang:load_nif/2</c> as it
+ does no longer block other schedulers from executing
+ during initial load of a NIF library.</p>
+ <p>
+ Own Id: OTP-10278</p>
+ </item>
+ <item>
+ <p>EEP-52 has been implemented.</p>
+ <p>In binary matching, the size of the segment to be
+ matched is now allowed to be a guard expression, and
+ similarly in map matching the keys can now be guard
+ expressions. See the Erlang Reference Manual and
+ Programming Examples for more details.</p>
+ <p>Language compilers or code generators that generate
+ Core Erlang code may need to be updated to be compatible
+ with the compiler in OTP 23. For more details, see the
+ section Backwards Compatibility in <url
+ href="http://erlang.org/eeps/eep-0052.html">EEP
+ 52</url>.</p>
+ <p>
+ Own Id: OTP-14708</p>
+ </item>
+ <item>
+ <p>Internally in BEAM, handling of continuation pointers
+ has been simplified. This change is not user-visible,
+ except when examing a process stack in the crashdump
+ viewer. The continuation pointer for a function will now
+ be stored below the y(0) for that function.</p>
+ <p>
+ Own Id: OTP-15077</p>
+ </item>
+ <item>
+ <p><c>seq_trace</c> tokens are now propagated to spawned
+ processes.</p>
+ <p>
+ Own Id: OTP-15232 Aux Id: ERL-700 </p>
+ </item>
+ <item>
+ <p>Improvements of distributed spawn operations. These
+ include both scalability and performance improvements as
+ well as new functionality.</p> <p>New functionality:</p>
+ <list> <item><p>A distributed <seemfa
+ marker="erts:erlang#spawn_monitor/4"><c>spawn_monitor()</c></seemfa>
+ BIF.</p></item> <item><p>Support for <c>monitor</c>
+ option in the distributed <seemfa
+ marker="erts:erlang#spawn_opt/5"><c>spawn_opt()</c></seemfa>
+ BIF.</p></item> <item><p>New <seemfa
+ marker="erts:erlang#spawn_request/5"><c>spawn_request()</c></seemfa>
+ BIFs for asynchronous spawn of processes.
+ <c>spawn_request()</c> supports all options that
+ <c>spawn_opt()</c> support plus a few more.</p></item>
+ </list>
+ <p>
+ Own Id: OTP-15251</p>
+ </item>
+ <item>
+ <p>
+ Make <c>ets:insert/2</c> and <c>ets:insert_new/2</c>
+ yield scheduler execution on long lists of records to
+ insert.</p>
+ <p>
+ Own Id: OTP-15517 Aux Id: ERL-560 </p>
+ </item>
+ <item>
+ <p>
+ Increased size of node incarnation numbers (aka
+ "creation"), from 2 bits to 32 bits. This will reduce the
+ risk of pids/ports/refs, from different node incarnation
+ with the same name, being mixed up.</p>
+ <p>
+ Own Id: OTP-15603</p>
+ </item>
+ <item>
+ <p>The runtime system can now encode Erlang terms to the
+ Erlang external term format as I/O vectors. The main
+ benefit of this is that reference counted binaries can be
+ referred to directly instead of copied into a new
+ binary.</p> <p>The default Erlang distribution over TCP
+ will always utilize this. Alternate distribution
+ implementations utilizing a port as distribution
+ controller will utilize this if the driver implements the
+ <seecref
+ marker="erts:driver_entry#outputv"><c>outputv</c></seecref>
+ callback. Alternate Erlang distribution implementations
+ utilizing a process as distribution controller will
+ utilize this if I/O vectors are utilized by the
+ functionality that processes the data returned from
+ <seemfa
+ marker="erts:erlang#dist_ctrl_get_data/1"><c>erlang:dist_ctrl_get_data()</c></seemfa>.</p>
+ <p>The return type for data returned by <seemfa
+ marker="erts:erlang#dist_ctrl_get_data/1"><c>erlang:dist_ctrl_get_data()</c></seemfa>
+ has been changed from <c>iodata()</c> to <c>iovec()</c>.
+ Note that <c>iovec()</c> data is valid <c>iodata()</c> so
+ old implementations using
+ <c>erlang:dist_ctrl_get_data()</c> do not need to be
+ changed, but may benefit from being changed depending on
+ usage scenario.</p> <p>The new BIFs <seemfa
+ marker="erts:erlang#term_to_iovec/1"><c>term_to_iovec/1</c></seemfa>
+ and <seemfa
+ marker="erts:erlang#term_to_iovec/2"><c>term_to_iovec/2</c></seemfa>
+ have been introduced. These work exactly as
+ <c>term_to_binary()</c> with the corresponding arity
+ except the return type.</p>
+ <p>
+ Own Id: OTP-15618</p>
+ </item>
+ <item>
+ <p>Improved ETS scalability of concurrent calls that
+ change the size of a table, like <c>ets:insert/2</c> and
+ <c>ets:delete/2</c>.</p> <p>This performance feature was
+ implemented for <c>ordered_set</c> in OTP 22.0 and does
+ now apply for all ETS table types.</p> <p>The improved
+ scalability may come at the cost of longer latency of
+ <c>ets:info(T,size)</c> and <c>ets:info(T,memory)</c>. A
+ new table option <c>decentralized_counters</c> has
+ therefore been added. It is default <c>true</c> for
+ <c>ordered_set</c> with <c>write_concurrency</c> enabled
+ and default <c>false</c> for all other table types.</p>
+ <p>
+ Own Id: OTP-15744 Aux Id: OTP-15623, PR-2229 </p>
+ </item>
+ <item>
+ <p>Directories can now be opened by <c>file:open/2</c>
+ when passing the <c>directory</c> option.</p>
+ <p>
+ Own Id: OTP-15835 Aux Id: PR-2212 </p>
+ </item>
+ <item>
+ <p>
+ Add Hygon Dhyana as known processor to enable support for
+ atomic operations.</p>
+ <p>
+ Own Id: OTP-15840</p>
+ </item>
+ <item>
+ <p>
+ Make <c>erlang:phash2</c> functions consume reductions
+ proportional to the size of the input term and yield
+ scheduler when reductions are depleted.</p>
+ <p>
+ Own Id: OTP-15842 Aux Id: PR-2182 </p>
+ </item>
+ <item>
+ <p>
+ Fix various build issues when compiling Erlang/OTP to the
+ IBM AIX platform.</p>
+ <p>
+ Own Id: OTP-15866 Aux Id: PR-2110 </p>
+ </item>
+ <item>
+ <p>
+ Add configure options <c>--enable-pie</c> and
+ <c>--disable-pie</c> to control the build of position
+ independent executables.</p>
+ <p>
+ Own Id: OTP-15868</p>
+ </item>
+ <item>
+ <p><c>file:read_file_info/2</c> can now be used on opened
+ files and directories.</p>
+ <p>
+ Own Id: OTP-15956 Aux Id: PR-2231 </p>
+ </item>
+ <item>
+ <p>
+ Add arity-1 versions of <c>atom_to_binary</c>,
+ <c>binary_to_atom</c> and <c>binary_to_existing_atom</c>,
+ all with <c>utf8</c> as default encoding.</p>
+ <p>
+ Own Id: OTP-15995 Aux Id: PR-2358 </p>
+ </item>
+ <item>
+ <p>
+ Optimized the erts internal hash table implementation for
+ faster lookups. The internal hash is used for things
+ like; the process registry, executing erlang:apply/2,
+ executing M:func(test), and more.</p>
+ <p>
+ Own Id: OTP-16014 Aux Id: PR-2345 </p>
+ </item>
+ <item>
+ <p>CPU quotas are now taken into account when deciding
+ the default number of online schedulers, improving
+ performance in container environments where quotas are
+ applied, such as <c>docker</c> with the <c>--cpus</c>
+ flag.</p>
+ <p>
+ Own Id: OTP-16105 Aux Id: ERL-927 </p>
+ </item>
+ <item>
+ <p>
+ The <c>-config</c> option to <c>erl</c> now can take
+ multiple config files without repeating the
+ <c>-config</c> option. Example:</p>
+ <p>
+ erl -config sys local</p>
+ <p>
+ Own Id: OTP-16148 Aux Id: PR-2373 </p>
+ </item>
+ <item>
+ <p>
+ Removed the <c>scheduler_poll</c> and <c>async I/O</c>
+ dtrace and LTTng trace probes.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16215</p>
+ </item>
+ <item>
+ <p>
+ Optimized <c>persistent_term:put/2</c> and <c>erase/1</c>
+ to consume less CPU in many cases.</p>
+ <p>
+ Own Id: OTP-16237 Aux Id: PR-2389 </p>
+ </item>
+ <item>
+ <p>The possibility to run Erlang distribution without
+ relying on EPMD has been extended. To achieve this a
+ couple of new options to the inet distribution has been
+ added.</p> <taglist> <tag>-dist_listen false</tag>
+ <item>Setup the distribution channel, but do not listen
+ for incoming connection. This is useful when you want to
+ use the current node to interact with another node on the
+ same machine without it joining the entire
+ cluster.</item> <tag>-erl_epmd_port Port</tag>
+ <item>Configure a default port that the built-in EPMD
+ client should return. This allows the local node to know
+ the port to connect to for any other node in the
+ cluster.</item> </taglist> <p>The <c>erl_epmd</c>
+ callback API has also been extended to allow returning
+ <c>-1</c> as the creation which means that a random
+ creation will be created by the node.</p>
+ <p>In addition a new callback function called
+ <c>listen_port_please</c> has been added that allows the
+ callback to return which listen port the distribution
+ should use. This can be used instead of
+ <c>inet_dist_listen_min/max</c> if the listen port is to
+ be fetched from an external service.</p>
+ <p>
+ Own Id: OTP-16250</p>
+ </item>
+ <item>
+ <p>
+ On systems without <c>closefrom()</c>, such as Linux,
+ iterating over all possible file descriptors and calling
+ <c>close()</c> for each is inefficient. This is markedly
+ so when the maximum number of file descriptors has been
+ tuned to a large number.</p>
+ <p>
+ Instead, in erl_child_setup, walk the open descriptors
+ under <c>/dev/fd</c> and close only those which are open.</p>
+ <p>
+ This optimization affects the CPU usage of starting a new
+ Erlang instance.</p>
+ <p>
+ Own Id: OTP-16270</p>
+ </item>
+ <item>
+ <p>
+ Optimized <c>maps:merge/2</c> for trivial cases of an
+ empty map(s) or same map.</p>
+ <p>
+ Own Id: OTP-16283 Aux Id: PR-2441 </p>
+ </item>
+ <item>
+ <p>
+ The new experimental <c>socket</c> module has been moved
+ to the Kernel application.</p>
+ <p>
+ Own Id: OTP-16312</p>
+ </item>
+ <item>
+ <p>Improved the presentation of allocations and carriers
+ in the <c>instrument</c> module.</p>
+ <p>
+ Own Id: OTP-16327</p>
+ </item>
+ <item>
+ <p>
+ As announced in OTP 22.0, the previously existing limited
+ support for VxWorks has now been removed.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16329 Aux Id: OTP-15621 </p>
+ </item>
+ <item>
+ <p> The return value when using the <c>httph</c> and
+ <c>httph_bin</c> option to <c>erlang:decode_packet/3</c>
+ and <c>inet:setopts/2</c> has been changed to also
+ include the original header unmodified. See <seemfa
+ marker="erlang#decode_packet/3"><c>erlang:decode_packet/3</c></seemfa>.
+ Example: </p> <pre> >
+ erlang:decode_packet(httph_bin,&lt;&lt;"HELLO:
+ hi\r\n\r\n"&gt;&gt;,[]).
+ {ok,{http_header,0,&lt;&lt;"Hello"&gt;&gt;,&lt;&lt;"HELLO"&gt;&gt;,&lt;&lt;"hi"&gt;&gt;},&lt;&lt;"\r\n"&gt;&gt;}
+ </pre>
+ <p>
+ Own Id: OTP-16347 Aux Id: PR-2466 </p>
+ </item>
+ <item>
+ <p>
+ Ensure <c>net_kernel:monitor_nodes/1</c> sends
+ <c>nodedown</c> messages of a failed connection before
+ <c>nodeup</c> messages of a reestablished connection
+ toward the same node.</p>
+ <p>
+ Own Id: OTP-16362</p>
+ </item>
+ <item>
+ <p>
+ Update of <seeerl
+ marker="kernel:seq_trace#whatis">sequential
+ tracing</seeerl> to also support other information
+ transfers than message passing.</p>
+ <p>
+ Own Id: OTP-16370 Aux Id: OTP-15251, OTP-15232 </p>
+ </item>
+ <item>
+ <p>
+ socket: It is now possible to create a socket from an
+ already existing file descriptor.</p>
+ <p>
+ Own Id: OTP-16398 Aux Id: ERL-1154 </p>
+ </item>
+ <item>
+ <p>
+ socket: The socket:supports/1 function now also report if
+ netns is supported or not.</p>
+ <p>
+ Own Id: OTP-16432</p>
+ </item>
+ <item>
+ <p><c>=:=</c> has been optimized to return <c>false</c>
+ immediately when comparing two maps of different
+ sizes.</p>
+ <p>
+ Own Id: OTP-16454</p>
+ </item>
+ <item>
+ <p>
+ Changed the behaviour of passing the <c>erl</c> command
+ line argument <seecom
+ marker="erts:erl#async_thread_pool_size"><c>+A
+ 0</c></seecom> to silently imply <c>+A 1</c>. That is, it
+ will no longer be possible to completely disable the
+ async thread pool. Disabling of the async thread pool has
+ since OTP 21 had no benefits; only lots of drawbacks.</p>
+ <p>
+ Own Id: OTP-16482</p>
+ </item>
+ <item>
+ <p>The deprecated <c>erlang:get_stacktrace/0</c> BIF now
+ returns an empty list instead of a stacktrace. To
+ retrieve the stacktrace, use the extended try/catch
+ syntax that was introduced in OTP 21.
+ <c>erlang:get_stacktrace/0</c> is scheduled for removal
+ in OTP 24.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16484</p>
+ </item>
+ <item>
+ <p>
+ <seemfa
+ marker="erts:init#restart/1"><c>init:restart/1</c></seemfa>
+ has been introduced. <c>init:restart/1</c> can be
+ utilized for changing the code loading mode during a
+ restart.</p>
+ <p>
+ Own Id: OTP-16492 Aux Id: PR-2461 </p>
+ </item>
+ <item>
+ <p>
+ Improve configure for the net nif, which should increase
+ portability.</p>
+ <p>
+ Own Id: OTP-16530 Aux Id: OTP-16464 </p>
+ </item>
+ <item>
+ <p>
+ socket: Socket counters and socket global counters are
+ now represented as maps (instead of property lists).</p>
+ <p>
+ Own Id: OTP-16535</p>
+ </item>
+ <item>
+ <p>Reduced the resource usage of <c>erlc</c> in parallel
+ builds (e.g. <c>make -j128</c>).</p>
+ <p>
+ Own Id: OTP-16543 Aux Id: ERL-1186 </p>
+ </item>
+ <item>
+ <p>
+ The experimental socket module has gotten restrictions
+ removed so now the 'seqpacket' socket type should work
+ for any communication domain (protocol family) where the
+ OS supports it, typically the Unix Domain.</p>
+ <p>
+ Own Id: OTP-16550 Aux Id: ERIERL-476 </p>
+ </item>
+ <item>
+ <p>Updated the internal <c>pcre</c> library to
+ <c>8.44</c>.</p>
+ <p>
+ Own Id: OTP-16557</p>
+ </item>
+ <item>
+ <p>There is now cost in terms of reductions when copying
+ binary data using the binary syntax.</p>
+ <p>
+ Own Id: OTP-16601 Aux Id: OTP-16577 </p>
+ </item>
+ <item>
+ <p>
+ The executable <c>erl_call</c> is now part of the
+ <c>erts</c> distribution in addition to
+ <c>erl_interface</c>.</p>
+ <p>
+ Own Id: OTP-16602</p>
+ </item>
+ <item>
+ <p>
+ Fix a buffer overflow bug that caused EPMD to consume
+ 100% CPU after many nodes had been connected on the same
+ time on NetBSD.</p>
+ <p>
+ Own Id: OTP-16615</p>
+ </item>
+ <item>
+ <p>
+ <c>erl -remsh</c> now uses the dynamic node names feature
+ by default. See the <seecom
+ marker="erts:erl">erl</seecom> documentation for details.</p>
+ <p>
+ Own Id: OTP-16616</p>
+ </item>
+ <item>
+ <p>
+ socket: By default the socket options rcvtimeo and
+ sndtimeo are now disabled. To enable these, OTP now has
+ to be built with the configure option
+ --enable-esock-rcvsndtimeo</p>
+ <p>
+ Own Id: OTP-16620</p>
+ </item>
+ <item>
+ <p>
+ The environment variable $HOME does no longer have to be
+ set before Erlang can be started.</p>
+ <p>
+ Own Id: OTP-16635 Aux Id: ERL-476 PR-2390 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 10.7.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/erts/preloaded/src/erts.app.src b/erts/preloaded/src/erts.app.src
index c3e5182a60..3a98f6f0f1 100644
--- a/erts/preloaded/src/erts.app.src
+++ b/erts/preloaded/src/erts.app.src
@@ -42,7 +42,7 @@
{registered, []},
{applications, []},
{env, []},
- {runtime_dependencies, ["stdlib-@OTP-15251@", "kernel-@OTP-15251@", "sasl-3.3"]}
+ {runtime_dependencies, ["stdlib-3.13", "kernel-7.0", "sasl-3.3"]}
]}.
%% vim: ft=erlang
diff --git a/erts/vsn.mk b/erts/vsn.mk
index cba7ace509..75d621458e 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -18,7 +18,7 @@
# %CopyrightEnd%
#
-VSN = 10.7.2
+VSN = 11.0
# Port number 4365 in 4.2
# Port number 4366 in 4.3