summaryrefslogtreecommitdiff
path: root/lib/kernel
diff options
context:
space:
mode:
authorErlang/OTP <otp@erlang.org>2020-05-11 14:53:34 +0200
committerErlang/OTP <otp@erlang.org>2020-05-11 14:53:34 +0200
commitde8aa03ed881a76fd5186634c47be9b0d5b9fce1 (patch)
treef68dfbf35641fc2fbcc4c2a344aa27308c26c0b9 /lib/kernel
parent9639877ea11d6a32ca6e46410b8a48db245b72d8 (diff)
downloaderlang-de8aa03ed881a76fd5186634c47be9b0d5b9fce1.tar.gz
Prepare release
Diffstat (limited to 'lib/kernel')
-rw-r--r--lib/kernel/doc/src/code.xml4
-rw-r--r--lib/kernel/doc/src/erl_epmd.xml2
-rw-r--r--lib/kernel/doc/src/erpc.xml40
-rw-r--r--lib/kernel/doc/src/notes.xml383
-rw-r--r--lib/kernel/doc/src/socket.xml4
-rw-r--r--lib/kernel/src/kernel.app.src2
-rw-r--r--lib/kernel/src/kernel.appup.src7
-rw-r--r--lib/kernel/vsn.mk2
8 files changed, 415 insertions, 29 deletions
diff --git a/lib/kernel/doc/src/code.xml b/lib/kernel/doc/src/code.xml
index 17ab341068..81186b6876 100644
--- a/lib/kernel/doc/src/code.xml
+++ b/lib/kernel/doc/src/code.xml
@@ -705,7 +705,7 @@ ok = code:finish_loading(Prepared),
</desc>
</func>
<func>
- <name name="all_available" arity="0" since="OTP @OTP-16494@"/>
+ <name name="all_available" arity="0" since="OTP 23.0"/>
<fsummary>Get all available modules.</fsummary>
<type name="loaded_filename"/>
<type name="loaded_ret_atoms"/>
@@ -769,7 +769,7 @@ rpc:call(Node, code, load_binary, [Module, Filename, Binary]),
</desc>
</func>
<func>
- <name name="get_doc" arity="1" since="OTP @OTP-16406@"/>
+ <name name="get_doc" arity="1" since="OTP 23.0"/>
<fsummary>Gets the documentation for a module.</fsummary>
<desc>
<p>Searches the code path for EEP-48 style documentation and returns it
diff --git a/lib/kernel/doc/src/erl_epmd.xml b/lib/kernel/doc/src/erl_epmd.xml
index fbb316bbfc..03aa949516 100644
--- a/lib/kernel/doc/src/erl_epmd.xml
+++ b/lib/kernel/doc/src/erl_epmd.xml
@@ -73,7 +73,7 @@
</func>
<func>
- <name name="listen_port_please" arity="2" since="OTP @OTP-16250@"/>
+ <name name="listen_port_please" arity="2" since="OTP 23.0"/>
<fsummary>Returns the port number for the local node.</fsummary>
<desc>
<p>Called by the distribution module to get which port the
diff --git a/lib/kernel/doc/src/erpc.xml b/lib/kernel/doc/src/erpc.xml
index d609bc3fd9..64032a7f94 100644
--- a/lib/kernel/doc/src/erpc.xml
+++ b/lib/kernel/doc/src/erpc.xml
@@ -28,7 +28,7 @@
<date>2020-02-20</date>
<rev>A</rev>
</header>
- <module since="OTP @OTP-13450@">erpc</module>
+ <module since="OTP 23.0">erpc</module>
<modulesummary>Enhanced Remote Procedure Call</modulesummary>
<description>
<p>
@@ -75,8 +75,8 @@
<funcs>
<func>
- <name name="call" arity="2" since="OTP @OTP-13450@"/>
- <name name="call" arity="3" since="OTP @OTP-13450@"/>
+ <name name="call" arity="2" since="OTP 23.0"/>
+ <name name="call" arity="3" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -96,8 +96,8 @@
</func>
<func>
- <name name="call" arity="4" since="OTP @OTP-13450@"/>
- <name name="call" arity="5" since="OTP @OTP-13450@"/>
+ <name name="call" arity="4" since="OTP 23.0"/>
+ <name name="call" arity="5" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -249,7 +249,7 @@
</func>
<func>
- <name name="cast" arity="2" since="OTP @OTP-13450@"/>
+ <name name="cast" arity="2" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -266,7 +266,7 @@
</func>
<func>
- <name name="cast" arity="4" since="OTP @OTP-13450@"/>
+ <name name="cast" arity="4" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a node ignoring the result.</fsummary>
<desc>
<p>
@@ -298,7 +298,7 @@
</func>
<func>
- <name name="check_response" arity="2" since="OTP @OTP-13450@"/>
+ <name name="check_response" arity="2" since="OTP 23.0"/>
<fsummary>Check if a message is a response corresponding to a
previously sent call request.</fsummary>
<desc>
@@ -341,8 +341,8 @@
</func>
<func>
- <name name="multicall" arity="2" since="OTP @OTP-13450@"/>
- <name name="multicall" arity="3" since="OTP @OTP-13450@"/>
+ <name name="multicall" arity="2" since="OTP 23.0"/>
+ <name name="multicall" arity="3" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -362,8 +362,8 @@
</func>
<func>
- <name name="multicall" arity="4" since="OTP @OTP-13450@"/>
- <name name="multicall" arity="5" since="OTP @OTP-13450@"/>
+ <name name="multicall" arity="4" since="OTP 23.0"/>
+ <name name="multicall" arity="5" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a number of nodes.</fsummary>
<type name="caught_call_exception"/>
<type name="stack_item"/>
@@ -466,7 +466,7 @@ my_multicall(Nodes, Module, Function, Args) ->
</func>
<func>
- <name name="multicast" arity="2" since="OTP @OTP-13450@"/>
+ <name name="multicast" arity="2" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a set nodes.</fsummary>
<desc>
<p>
@@ -483,7 +483,7 @@ my_multicall(Nodes, Module, Function, Args) ->
</func>
<func>
- <name name="multicast" arity="4" since="OTP @OTP-13450@"/>
+ <name name="multicast" arity="4" since="OTP 23.0"/>
<fsummary>Evaluate a function call on a set of nodes ignoring the result.</fsummary>
<desc>
<p>
@@ -517,8 +517,8 @@ my_multicall(Nodes, Module, Function, Args) ->
</func>
<func>
- <name name="receive_response" arity="1" since="OTP @OTP-13450@"/>
- <name name="receive_response" arity="2" since="OTP @OTP-13450@"/>
+ <name name="receive_response" arity="1" since="OTP 23.0"/>
+ <name name="receive_response" arity="2" since="OTP 23.0"/>
<fsummary>Receive a call response corresponding to a
previously sent call request.</fsummary>
<desc>
@@ -581,7 +581,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="send_request" arity="2" since="OTP @OTP-13450@"/>
+ <name name="send_request" arity="2" since="OTP 23.0"/>
<fsummary>Send a request to evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -606,7 +606,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="send_request" arity="4" since="OTP @OTP-13450@"/>
+ <name name="send_request" arity="4" since="OTP 23.0"/>
<fsummary>Send a request to evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -633,8 +633,8 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="wait_response" arity="1" since="OTP @OTP-13450@"/>
- <name name="wait_response" arity="2" since="OTP @OTP-13450@"/>
+ <name name="wait_response" arity="1" since="OTP 23.0"/>
+ <name name="wait_response" arity="2" since="OTP 23.0"/>
<fsummary>Wait or poll for a call response corresponding to a previously
sent call request.</fsummary>
<desc>
diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml
index 624ccb6591..1e8e52cfb2 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -31,6 +31,389 @@
</header>
<p>This document describes the changes made to the Kernel application.</p>
+<section><title>Kernel 7.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix race condition during shutdown when
+ <c>shell_history</c> is enabled. The race condition would
+ trigger crashes in <c>disk_log</c>.</p>
+ <p>
+ Own Id: OTP-16008 Aux Id: PR-2302 </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>
+ Fix bug where a binary was not allowed to be the format
+ string in calls to <c>logger:log</c>.</p>
+ <p>
+ Own Id: OTP-16395 Aux Id: PR-2444 </p>
+ </item>
+ <item>
+ <p>
+ Fix bug where <c>logger</c> would end up in an infinite
+ loop when trying to log the crash of a handler or
+ formatter.</p>
+ <p>
+ Own Id: OTP-16489 Aux Id: ERL-1134 </p>
+ </item>
+ <item>
+ <p>
+ <c>code:lib_dir/1</c> has been fixed to also return the
+ lib dir for <c>erts</c>.</p>
+ <p>
+ This is been marked as an incompatibility for any
+ application that depended on <c>{error,bad_name}</c> to
+ be returned for <c>erts</c>.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16502</p>
+ </item>
+ <item>
+ <p>
+ The application <c>stop/1</c> callback was not called if
+ the application master of the application terminated.</p>
+ <p>
+ Own Id: OTP-16504 Aux Id: PR-2328 </p>
+ </item>
+ <item>
+ <p>
+ Fix bug in <c>application:loaded_applications/0</c> that
+ could cause it to fail with <c>badarg</c> if for example
+ a concurrent upgrade/downgrade is running.</p>
+ <p>
+ Own Id: OTP-16627 Aux Id: PR-2601 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>A new module <seeerl
+ marker="kernel:erpc"><c>erpc</c></seeerl> has been
+ introduced in the <c>kernel</c> application. The
+ <c>erpc</c> module implements an enhanced subset of the
+ operations provided by the <seeerl
+ marker="kernel:rpc"><c>rpc</c></seeerl> module. Enhanced
+ in the sense that it makes it possible to distinguish
+ between returned value, raised exceptions, and other
+ errors. <c>erpc</c> also has better performance and
+ scalability than the original <c>rpc</c> implementation.
+ This by utilizing the newly introduced <seemfa
+ marker="erts:erlang#spawn_request/5"><c>spawn_request()</c></seemfa>
+ BIF. Also the <c>rpc</c> module benefits from these
+ improvements by utilizing <c>erpc</c> when it is
+ possible. </p><p> This change has been marked as a
+ potential incompatibility since <seemfa
+ marker="kernel:rpc#block_call/5"><c>rpc:block_call()</c></seemfa>
+ now only is guaranteed to block other <c>block_call()</c>
+ operations. The documentation previously claimed that it
+ would block all <c>rpc</c> operations. This has however
+ never been the case. It previously did not block
+ node-local <c>block_call()</c> operations.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-13450 Aux Id: OTP-15251 </p>
+ </item>
+ <item>
+ <p>A client node can receive its node name dynamically
+ from the node that it first connects to. This featured
+ can by used by</p> <list> <item><p>starting with <c>erl
+ -sname undefined</c></p></item> <item><p>erl_interface
+ functions <c>ei_connect_init</c> and friends</p></item>
+ <item><p><c>erl_call -R</c></p></item> </list>
+ <p>
+ Own Id: OTP-13812</p>
+ </item>
+ <item>
+ <p>
+ Improved the printout of single line logger events for
+ most of the OTP behaviours in STDLIB and Kernel. This
+ includes <c>proc_lib</c>, <c>gen_server</c>,
+ <c>gen_event</c>, <c>gen_statem</c>, <c>gen_fsm</c>,
+ <c>supervisor</c>, <c>supervisor_bridge</c> and
+ <c>application</c>.</p>
+ <p>
+ Improved the <seeerl
+ marker="kernel:logger_formatter#chars_limit"><c>chars_limit</c></seeerl>
+ and <seeerl
+ marker="kernel:logger_formatter#depth"><c>depth</c></seeerl>
+ handling in <c>proc_lib</c> and when formatting of
+ exceptions.</p>
+ <p>
+ Own Id: OTP-15299</p>
+ </item>
+ <item>
+ <p>
+ Remove usage and documentation of old requests of the
+ I/O-protocol.</p>
+ <p>
+ Own Id: OTP-15695</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>
+ The check of whether to log or not based on the log level
+ in <c>logger</c> has been optimized by using
+ <c>persistent_term</c> to store the log level.</p>
+ <p>
+ Own Id: OTP-15948 Aux Id: PR-2356 </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>
+ 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>
+ Improved node connection setup handshake protocol. Made
+ possible to agree on protocol version without dependence
+ on <c>epmd</c> or other prior knowledge of peer node
+ version. Also added exchange of node incarnation
+ ("creation") values and expanded the distribution
+ capability flag field from 32 to 64 bits.</p>
+ <p>
+ Own Id: OTP-16229</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>
+ A first EXPERIMENTAL module that is a <c>socket</c>
+ backend to <c>gen_tcp</c> and <c>inet</c> has been
+ implemented. Others will follow. Feedback will be
+ appreciated.</p>
+ <p>
+ Own Id: OTP-16260 Aux Id: OTP-15403 </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>
+ Replace usage of deprecated function in the <c>group</c>
+ module.</p>
+ <p>
+ Own Id: OTP-16345</p>
+ </item>
+ <item>
+ <p>
+ Minor updates due to the new spawn improvements made.</p>
+ <p>
+ Own Id: OTP-16368 Aux Id: OTP-15251 </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><c>code:module_status/1</c> now accepts a list of
+ modules. <c>code:module_status/0</c>, which returns the
+ statuses for all loaded modules, has been added.</p>
+ <p>
+ Own Id: OTP-16402</p>
+ </item>
+ <item>
+ <p><c>filelib:wildcard/1,2</c> is now twice as fast when
+ a double star (<c>**</c>) is part of the pattern.</p>
+ <p>
+ Own Id: OTP-16419</p>
+ </item>
+ <item>
+ <p> A new implementation of distributed named process
+ groups has been introduced. It is available in the
+ <seeerl marker="kernel:pg"><c>pg</c></seeerl> module.
+ </p><p> Note that this <c>pg</c> module only has the name
+ in common with the experimental <c>pg</c> module that was
+ present in <c>stdlib</c> up until OTP 17. </p><p> Thanks
+ to Maxim Fedorov for the implementation. </p>
+ <p>
+ Own Id: OTP-16453 Aux Id: PR-2524 </p>
+ </item>
+ <item>
+ <p> The <seeerl marker="kernel:pg2"><c>pg2</c></seeerl>
+ module has been deprecated. It has also been scheduled
+ for removal in OTP 24. </p><p> You are advised to replace
+ the usage of <c>pg2</c> with the newly introduced <seeerl
+ marker="kernel:pg"><c>pg</c></seeerl> module. <c>pg</c>
+ has a similar API, but with a more scalable
+ implementation. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16455</p>
+ </item>
+ <item>
+ <p>Refactored the internal handling of deprecated and
+ removed functions.</p>
+ <p>
+ Own Id: OTP-16469</p>
+ </item>
+ <item>
+ <p>
+ The internal hosts file resolver cache <c>inet_hosts</c>
+ has been rewritten to behave better when the hosts file
+ changes. For example the cache is updated per entry
+ instead of cleared and reloaded so lookups do not
+ temporarily fail during reloading, and; when multiple
+ processes simultaneously request reload these are now
+ folded into one instead of all done in sequence. Reported
+ and first solution suggestion by Maxim Fedorov.</p>
+ <p>
+ Own Id: OTP-16487 Aux Id: PR-2516 </p>
+ </item>
+ <item>
+ <p>
+ Add <c>code:all_available/0</c> that can be used to get
+ all available modules.</p>
+ <p>
+ Own Id: OTP-16494</p>
+ </item>
+ <item>
+ <p>
+ As of OTP 23, the distributed <seeerl
+ marker="kernel:disk_log"><c>disk_log</c></seeerl> feature
+ has been deprecated. It has also been scheduled for
+ removal in OTP 24.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16495</p>
+ </item>
+ <item>
+ <p>
+ Add the function <c>code:fetch_docs/1</c> for fetching
+ embedded documentation for aa Erlang module.</p>
+ <p>
+ Own Id: OTP-16499</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>
+ 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>
+ Allow using custom IO devices in <c>logger_std_h</c>.</p>
+ <p>
+ Own Id: OTP-16563 Aux Id: PR-2523 </p>
+ </item>
+ <item>
+ <p>Added <c>file:del_dir_r/1</c> which deletes a
+ directory together with all of its contents, similar to
+ <c>rm -rf</c> on Unix systems.</p>
+ <p>
+ Own Id: OTP-16570 Aux Id: PR-2565 </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 experimental gen_tcp compatibility code utilizing the
+ socket module could loose buffered data when receiving a
+ specified number of bytes. This bug has been fixed.
+ Reported by Maksim Lapshin on bugs.erlang.org ERL-1234</p>
+ <p>
+ Own Id: OTP-16632 Aux Id: ERL-1234 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Kernel 6.5.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/kernel/doc/src/socket.xml b/lib/kernel/doc/src/socket.xml
index 6ff7376727..5a9fdf98f7 100644
--- a/lib/kernel/doc/src/socket.xml
+++ b/lib/kernel/doc/src/socket.xml
@@ -505,8 +505,8 @@
</func>
<func>
- <name name="open" arity="1" since="OTP @OTP-16398@"/>
- <name name="open" arity="2" clause_i="1" since="OTP @OTP-16398@"/>
+ <name name="open" arity="1" since="OTP 23.0"/>
+ <name name="open" arity="2" clause_i="1" since="OTP 23.0"/>
<fsummary>Create an endpoint for communication.</fsummary>
<desc>
<p>Create an endpoint (socket) for communication based on an
diff --git a/lib/kernel/src/kernel.app.src b/lib/kernel/src/kernel.app.src
index e58151f295..e9f6049d5f 100644
--- a/lib/kernel/src/kernel.app.src
+++ b/lib/kernel/src/kernel.app.src
@@ -155,6 +155,6 @@
{shell_docs_ansi,auto}
]},
{mod, {kernel, []}},
- {runtime_dependencies, ["erts-@OTP-15251@", "stdlib-@OTP-15251@", "sasl-3.0"]}
+ {runtime_dependencies, ["erts-11.0", "stdlib-3.13", "sasl-3.0"]}
]
}.
diff --git a/lib/kernel/src/kernel.appup.src b/lib/kernel/src/kernel.appup.src
index f42dd8ca6e..09a55d6f0a 100644
--- a/lib/kernel/src/kernel.appup.src
+++ b/lib/kernel/src/kernel.appup.src
@@ -21,6 +21,7 @@
%% versions from the following OTP releases:
%% - OTP 21
%% - OTP 22
+%% - OTP 23
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
@@ -44,7 +45,8 @@
{<<"^6\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^6\\.5$">>,[restart_new_emulator]},
{<<"^6\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
+ {<<"^6\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^6\\.5\\.2(?:\\.[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]},
@@ -62,4 +64,5 @@
{<<"^6\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^6\\.5$">>,[restart_new_emulator]},
{<<"^6\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
+ {<<"^6\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^6\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk
index e578f3dde4..013cc28c40 100644
--- a/lib/kernel/vsn.mk
+++ b/lib/kernel/vsn.mk
@@ -1 +1 @@
-KERNEL_VSN = 6.5.2
+KERNEL_VSN = 7.0