diff options
85 files changed, 2449 insertions, 122 deletions
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index ce90c73a09..9c38eeb9a8 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 9ac4af69f9..87896436dc 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -31,6 +31,486 @@ </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><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> + </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 <seealso + marker="erts:erlang#spawn_monitor/4"><c>spawn_monitor()</c></seealso> + BIF.</p></item> <item><p>Support for <c>monitor</c> + option in the distributed <seealso + marker="erts:erlang#spawn_opt/5"><c>spawn_opt()</c></seealso> + BIF.</p></item> <item><p>New <seealso + marker="erts:erlang#spawn_request/5"><c>spawn_request()</c></seealso> + 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 + <seealso + marker="erts:driver_entry#outputv"><c>outputv</c></seealso> + 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 + <seealso + marker="erts:erlang#dist_ctrl_get_data/1"><c>erlang:dist_ctrl_get_data()</c></seealso>.</p> + <p>The return type for data returned by <seealso + marker="erts:erlang#dist_ctrl_get_data/1"><c>erlang:dist_ctrl_get_data()</c></seealso> + 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 <seealso + marker="erts:erlang#term_to_iovec/1"><c>term_to_iovec/1</c></seealso> + and <seealso + marker="erts:erlang#term_to_iovec/2"><c>term_to_iovec/2</c></seealso> + 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>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 <seealso + marker="erlang#decode_packet-3"><c>erlang:decode_packet/3</c></seealso>. + Example: </p> <pre> > + erlang:decode_packet(httph_bin,<<"HELLO: + hi\r\n\r\n">>,[]). + {ok,{http_header,0,<<"Hello">>,<<"HELLO">>,<<"hi">>},<<"\r\n">>} + </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 <seealso + marker="kernel:seq_trace#whatis">sequential + tracing</seealso> 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 <seealso + marker="erts:erl#async_thread_pool_size"><c>+A + 0</c></seealso> 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> + <seealso + marker="erts:init#restart/1"><c>init:restart/1</c></seealso> + 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>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> + </list> + </section> + +</section> + <section><title>Erts 10.7</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/erts/doc/src/socket.xml b/erts/doc/src/socket.xml index 0dae52b6e0..dea7e44a70 100644 --- a/erts/doc/src/socket.xml +++ b/erts/doc/src/socket.xml @@ -513,8 +513,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 @@ -963,7 +963,7 @@ <name name="supports" arity="1" clause_i="4" since="OTP 22.0"/> <name name="supports" arity="1" clause_i="5" since="OTP 22.3"/> <name name="supports" arity="1" clause_i="6" since="OTP 22.3"/> - <name name="supports" arity="1" clause_i="7" since="OTP @OTP-16432@"/> + <name name="supports" arity="1" clause_i="7" since="OTP 23.0"/> <name name="supports" arity="1" clause_i="8" 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"/> diff --git a/erts/preloaded/src/erts.app.src b/erts/preloaded/src/erts.app.src index f8b2338c44..6728296a9a 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 1ba99ed266..75d621458e 100644 --- a/erts/vsn.mk +++ b/erts/vsn.mk @@ -18,7 +18,7 @@ # %CopyrightEnd% # -VSN = 10.7 +VSN = 11.0 # 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 f4e45ad3ec..40dbab3252 100644 --- a/lib/asn1/doc/src/notes.xml +++ b/lib/asn1/doc/src/notes.xml @@ -32,6 +32,41 @@ <p>This document describes the changes made to the asn1 application.</p> +<section><title>Asn1 5.0.11</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Adhere to the ASN.1 specification for hstring & + bstring lexical items. That is they may include white + space.</p> + <p> + Own Id: OTP-16490</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + <item> + <p> + Improve handling of ellipsis in a CHOICE</p> + <p> + Own Id: OTP-16554 Aux Id: ERL-1189 </p> + </item> + </list> + </section> + +</section> + <section><title>Asn1 5.0.10</title> <section><title>Improvements and New Features</title> diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk index 901c40d53f..e1d3b65da2 100644 --- a/lib/asn1/vsn.mk +++ b/lib/asn1/vsn.mk @@ -1 +1 @@ -ASN1_VSN = 5.0.10 +ASN1_VSN = 5.0.11 diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml index 70653c0711..a302f877bf 100644 --- a/lib/common_test/doc/src/notes.xml +++ b/lib/common_test/doc/src/notes.xml @@ -33,6 +33,44 @@ <file>notes.xml</file> </header> +<section><title>Common_Test 1.19</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + The function <c>ct_property_test:init_tool/1</c> is added + for the cases when the user does not want + ct_property_test to compile properties. init_tool/1 can + be used to set the property_test_tool config value.</p> + <p> + Own Id: OTP-16029 Aux Id: PR-2145 </p> + </item> + <item> + <p> + The built-in Common Test Hook, <c>cth_log_redirect</c>, + has been updated to use the system <c>default</c> Logger + handler's configuration instead of its own. See the + section on <seealso + marker="common_test:ct_hooks_chapter#built-in-cths">Built-in + Hooks</seealso> in the Common Test User's Guide.</p> + <p> + Own Id: OTP-16273</p> + </item> + <item> + <p> + Calls of deprecated functions in the <seealso + marker="crypto:new_api#the-old-api">Old Crypto + API</seealso> are replaced by calls of their <seealso + marker="crypto:new_api#the-new-api">substitutions</seealso>.</p> + <p> + Own Id: OTP-16346</p> + </item> + </list> + </section> + +</section> + <section><title>Common_Test 1.18.2</title> <section><title>Improvements and New Features</title> diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk index 1e6991d73a..b5fa287e1f 100644 --- a/lib/common_test/vsn.mk +++ b/lib/common_test/vsn.mk @@ -1 +1 @@ -COMMON_TEST_VSN = 1.18.2 +COMMON_TEST_VSN = 1.19 diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml index c3710fff36..ea64662049 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -32,6 +32,106 @@ <p>This document describes the changes made to the Compiler application.</p> +<section><title>Compiler 7.6</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <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> Initialization of record fields using <c>_</c> is no + longer allowed if the number of affected fields is zero. + </p> + <p> + Own Id: OTP-16516</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <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> Allow underscores in numeric literals to improve + readability. Examples: <c>123_456_789</c>, + <c>16#1234_ABCD</c>. </p> + <p> + Own Id: OTP-16007 Aux Id: PR-2324 </p> + </item> + <item> + <p>Improved the type optimization pass' inference of + types that depend on themselves, giving us more accurate + types and letting us track the content types of + lists.</p> + <p> + Own Id: OTP-16214 Aux Id: PR-2460 </p> + </item> + <item> + <p> + Support message queue optimization also for references + returned from the new <seealso + marker="erts:erlang#spawn_request/5"><c>spawn_request()</c></seealso> + BIFs.</p> + <p> + Own Id: OTP-16367 Aux Id: OTP-15251 </p> + </item> + <item> + <p>The compiler will now raise a warning when inlining is + used in modules that load NIFs.</p> + <p> + Own Id: OTP-16429 Aux Id: ERL-303 </p> + </item> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + <item> + <p>Line information was sometimes incorrect for + floating-point math exceptions.</p> + <p> + Own Id: OTP-16505 Aux Id: ERL-1178 </p> + </item> + <item> + <p>The <c>debug_info</c> option can now be specified in + <c>-compile()</c> attributes.</p> + <p> + Own Id: OTP-16523 Aux Id: ERL-1058 </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> + </list> + </section> + +</section> + <section><title>Compiler 7.5.3</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/compiler/src/compiler.app.src b/lib/compiler/src/compiler.app.src index 234f0b7780..92e9fa74e5 100644 --- a/lib/compiler/src/compiler.app.src +++ b/lib/compiler/src/compiler.app.src @@ -80,5 +80,5 @@ {registered, []}, {applications, [kernel, stdlib]}, {env, []}, - {runtime_dependencies, ["stdlib-@OTP-15251@","kernel-@OTP-15251@","hipe-3.12","erts-@OTP-15251@", + {runtime_dependencies, ["stdlib-3.13","kernel-7.0","hipe-3.12","erts-11.0", "crypto-3.6"]}]}. diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk index 7f498d164d..9a2f1d1919 100644 --- a/lib/compiler/vsn.mk +++ b/lib/compiler/vsn.mk @@ -1 +1 @@ -COMPILER_VSN = 7.5.3 +COMPILER_VSN = 7.6 diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml index b22b46d5e5..6589bba0dc 100644 --- a/lib/crypto/doc/src/notes.xml +++ b/lib/crypto/doc/src/notes.xml @@ -31,6 +31,66 @@ </header> <p>This document describes the changes made to the Crypto application.</p> +<section><title>Crypto 4.7</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Support for ed25519 and ed448 added to + <c>crypto:generate_key</c>.</p> + <p> + Own Id: OTP-15967 Aux Id: PR-2329 </p> + </item> + <item> + <p> + The <seealso marker="crypto:new_api#the-new-api">new + crypto functions api</seealso> (crypto_init, + crypto_update and crypto_one_time) has been updated.</p> + <p> + There is now a function <seealso + marker="crypto:crypto#crypto_final/1"><c>crypto_final/1</c></seealso> + and a possibility to set options in <seealso + marker="crypto:crypto#crypto_init/3"><c>crypto_init/3</c></seealso> + and <seealso + marker="crypto:crypto#crypto_init/4"><c>crypto_init/4</c></seealso>. + See the manual for details.</p> + <p> + Own Id: OTP-16160</p> + </item> + <item> + <p> + As <seealso + marker="crypto:notes#crypto-4.5">announced</seealso> in + OTP 22.0, a New API was introduced in CRYPTO. See the + <seealso marker="crypto:new_api"><i>New and Old + API</i></seealso> chapter in the CRYPTO User's Guide for + more information and suggested replacement functions.</p> + <p> + <seealso marker="crypto:new_api#the-old-api">The Old + API</seealso> is now deprecated in OTP-23.0 and will be + removed in OTP-24.0.</p> + <p> + Own Id: OTP-16232</p> + </item> + <item> + <p> + Fix C-compilation without deprecated OpenSSL cryptolib + APIs</p> + <p> + Own Id: OTP-16369 Aux Id: PR-2474 </p> + </item> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + </list> + </section> + +</section> + <section><title>Crypto 4.6.5</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk index 72f3b9b792..477280d84b 100644 --- a/lib/crypto/vsn.mk +++ b/lib/crypto/vsn.mk @@ -1 +1 @@ -CRYPTO_VSN = 4.6.5 +CRYPTO_VSN = 4.7 diff --git a/lib/debugger/doc/src/notes.xml b/lib/debugger/doc/src/notes.xml index 64af47a4fb..5e3f2ce878 100644 --- a/lib/debugger/doc/src/notes.xml +++ b/lib/debugger/doc/src/notes.xml @@ -33,6 +33,43 @@ <p>This document describes the changes made to the Debugger application.</p> +<section><title>Debugger 5.0</title> + + <section><title>Improvements and New Features</title> + <list> + <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>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> + </list> + </section> + +</section> + <section><title>Debugger 4.2.8</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/debugger/vsn.mk b/lib/debugger/vsn.mk index 06fc743270..8e334a00f5 100644 --- a/lib/debugger/vsn.mk +++ b/lib/debugger/vsn.mk @@ -1 +1 @@ -DEBUGGER_VSN = 4.2.8 +DEBUGGER_VSN = 5.0 diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml index c2e8875635..6ae94ebdda 100644 --- a/lib/dialyzer/doc/src/notes.xml +++ b/lib/dialyzer/doc/src/notes.xml @@ -32,6 +32,20 @@ <p>This document describes the changes made to the Dialyzer application.</p> +<section><title>Dialyzer 4.2</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> Improve handling of <c>maps:remove/2</c>. </p> + <p> + Own Id: OTP-16055 Aux Id: ERL-1002 </p> + </item> + </list> + </section> + +</section> + <section><title>Dialyzer 4.1.1</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk index ee680f3bcf..b5a3bbf2b4 100644 --- a/lib/dialyzer/vsn.mk +++ b/lib/dialyzer/vsn.mk @@ -1 +1 @@ -DIALYZER_VSN = 4.1.1 +DIALYZER_VSN = 4.2 diff --git a/lib/edoc/doc/src/notes.xml b/lib/edoc/doc/src/notes.xml index 48bc5d9c74..4e3c6866da 100644 --- a/lib/edoc/doc/src/notes.xml +++ b/lib/edoc/doc/src/notes.xml @@ -32,6 +32,26 @@ <p>This document describes the changes made to the EDoc application.</p> +<section><title>Edoc 0.12</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> Remove Inets dependency from EDoc. </p> + <p> + Own Id: OTP-15999 Aux Id: PR-2317 </p> + </item> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + </list> + </section> + +</section> + <section><title>Edoc 0.11</title> <section><title>Improvements and New Features</title> diff --git a/lib/edoc/vsn.mk b/lib/edoc/vsn.mk index 3510fdfccf..5d2bbe769d 100644 --- a/lib/edoc/vsn.mk +++ b/lib/edoc/vsn.mk @@ -1 +1 @@ -EDOC_VSN = 0.11 +EDOC_VSN = 0.12 diff --git a/lib/erl_docgen/doc/src/notes.xml b/lib/erl_docgen/doc/src/notes.xml index e5076a4790..dbcfa2b0f8 100644 --- a/lib/erl_docgen/doc/src/notes.xml +++ b/lib/erl_docgen/doc/src/notes.xml @@ -31,7 +31,46 @@ </header> <p>This document describes the changes made to the <em>erl_docgen</em> application.</p> - <section><title>Erl_Docgen 0.11</title> + <section><title>Erl_Docgen 1.0</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Embedded documentation (also known as Documentation + Chunks) is now also available in the form of files + according to <url + href="https://www.erlang.org/erlang-enhancement-proposals/eep-0048.html">EEP-48</url>. + The Documentation Chunks are produced by default when + building the other Erlang/OTP documentation. If you want + to only build the embedded documentation you can pass the + <c>DOC_TARGETS=chunks</c> environment variable to make.</p> + <p> + Own Id: OTP-16406</p> + </item> + <item> + <p> + Minor DTD additions.</p> + <p> + Own Id: OTP-16497</p> + </item> + <item> + <p> + The <c>dtd</c>s of all documentation files have been + trimmed from all unused or rarely-used tags.</p> + <p> + Unused <c>dtd</c>s have been removed.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-16503</p> + </item> + </list> + </section> + +</section> + +<section><title>Erl_Docgen 0.11</title> <section><title>Fixed Bugs and Malfunctions</title> <list> diff --git a/lib/erl_docgen/vsn.mk b/lib/erl_docgen/vsn.mk index ebc9516da3..57b2fd10f4 100644 --- a/lib/erl_docgen/vsn.mk +++ b/lib/erl_docgen/vsn.mk @@ -1 +1 @@ -ERL_DOCGEN_VSN = 0.11 +ERL_DOCGEN_VSN = 1.0 diff --git a/lib/erl_interface/doc/src/ei_connect.xml b/lib/erl_interface/doc/src/ei_connect.xml index 143bea0a70..5d210cbb0e 100644 --- a/lib/erl_interface/doc/src/ei_connect.xml +++ b/lib/erl_interface/doc/src/ei_connect.xml @@ -422,8 +422,8 @@ typedef struct { <func> <name since=""><ret>int</ret><nametext>ei_connect(ei_cnode* ec, char *nodename)</nametext></name> <name since=""><ret>int</ret><nametext>ei_xconnect(ei_cnode* ec, Erl_IpAddr adr, char *alivename)</nametext></name> - <name since="OTP @OTP-16251@"><ret>int</ret><nametext>ei_connect_host_port(ei_cnode* ec, char *hostname, int port)</nametext></name> - <name since="OTP @OTP-16251@"><ret>int</ret><nametext>ei_xconnect_host_port(ei_cnode* ec, Erl_IpAddr adr, int port)</nametext></name> + <name since="OTP 23.0"><ret>int</ret><nametext>ei_connect_host_port(ei_cnode* ec, char *hostname, int port)</nametext></name> + <name since="OTP 23.0"><ret>int</ret><nametext>ei_xconnect_host_port(ei_cnode* ec, Erl_IpAddr adr, int port)</nametext></name> <fsummary>Establish a connection to an Erlang node.</fsummary> <desc> <p>Sets up a connection to an Erlang node.</p> @@ -583,8 +583,8 @@ if (ei_connect_init(&ec, "madonna", "cookie...", n++) < 0) { <func> <name since=""><ret>int</ret><nametext>ei_connect_tmo(ei_cnode* ec, char *nodename, unsigned timeout_ms)</nametext></name> <name since=""><ret>int</ret><nametext>ei_xconnect_tmo(ei_cnode* ec, Erl_IpAddr adr, char *alivename, unsigned timeout_ms)</nametext></name> - <name since="OTP @OTP-16251@"><ret>int</ret><nametext>ei_connect_host_port_tmo(ei_cnode* ec, char *hostname, int port, unsigned ms)</nametext></name> - <name since="OTP @OTP-16251@"><ret>int</ret><nametext>ei_xconnect_host_port_tmo(ei_cnode* ec, Erl_IpAddr adr, int port, unsigned ms)</nametext></name> + <name since="OTP 23.0"><ret>int</ret><nametext>ei_connect_host_port_tmo(ei_cnode* ec, char *hostname, int port, unsigned ms)</nametext></name> + <name since="OTP 23.0"><ret>int</ret><nametext>ei_xconnect_host_port_tmo(ei_cnode* ec, Erl_IpAddr adr, int port, unsigned ms)</nametext></name> <fsummary>Establish a connection to an Erlang node with optional time-out.</fsummary> <desc> diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml index c1782320b2..222319de46 100644 --- a/lib/erl_interface/doc/src/notes.xml +++ b/lib/erl_interface/doc/src/notes.xml @@ -31,6 +31,88 @@ </header> <p>This document describes the changes made to the Erl_interface application.</p> +<section><title>Erl_Interface 4.0</title> + + <section><title>Improvements and New Features</title> + <list> + <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 + -dist_listen false -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> + 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> + 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> + 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> + New <c>erl_call</c> option <c>-address [Host]:Port</c> to + connect directly to a node without being dependent on + <c>epmd</c> to resolve the node name.</p> + <p> + Own Id: OTP-16251</p> + </item> + <item> + <p> + As announced in OTP 22.0, the deprecated parts of + <c>erl_interface</c> have now been removed (essentially + all C functions with prefix <c>erl_</c>).</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-16328</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> + New function <c>ei_connect_host_port</c> and friends to + allow node connection without being dependent on + <c>epmd</c> for node name resolution.</p> + <p> + Own Id: OTP-16496 Aux Id: OTP-16251 </p> + </item> + </list> + </section> + +</section> + <section><title>Erl_Interface 3.13.2</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk index 31e3d1c0a0..67aac42e4e 100644 --- a/lib/erl_interface/vsn.mk +++ b/lib/erl_interface/vsn.mk @@ -1,2 +1,2 @@ -EI_VSN = 3.13.2 +EI_VSN = 4.0 ERL_INTERFACE_VSN = $(EI_VSN) diff --git a/lib/eunit/doc/src/notes.xml b/lib/eunit/doc/src/notes.xml index 200ffc3714..b015fe1f89 100644 --- a/lib/eunit/doc/src/notes.xml +++ b/lib/eunit/doc/src/notes.xml @@ -33,6 +33,35 @@ </header> <p>This document describes the changes made to the EUnit application.</p> +<section><title>Eunit 2.5</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> Let <c>eunit_surefire</c> skip invalid XML 1.0 + characters. </p> + <p> + Own Id: OTP-15950 Aux Id: PR-2316, ERL-991 </p> + </item> + <item> + <p> + Add new macro ?capturedOutput for enabling to write test + cases that verify data printed to standard out</p> + <p> + Own Id: OTP-16275 Aux Id: PR-2424 </p> + </item> + <item> + <p> + Add option to limit print depth of exceptions generated + by eunit test suites.</p> + <p> + Own Id: OTP-16549 Aux Id: PR-2532 </p> + </item> + </list> + </section> + +</section> + <section><title>Eunit 2.4.1</title> <section><title>Improvements and New Features</title> diff --git a/lib/eunit/vsn.mk b/lib/eunit/vsn.mk index f96db657cf..b8410e4071 100644 --- a/lib/eunit/vsn.mk +++ b/lib/eunit/vsn.mk @@ -1 +1 @@ -EUNIT_VSN = 2.4.1 +EUNIT_VSN = 2.5 diff --git a/lib/hipe/doc/src/notes.xml b/lib/hipe/doc/src/notes.xml index 8e1f5b35cd..3ded8059bd 100644 --- a/lib/hipe/doc/src/notes.xml +++ b/lib/hipe/doc/src/notes.xml @@ -31,6 +31,38 @@ </header> <p>This document describes the changes made to HiPE.</p> +<section><title>Hipe 4.0</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p>Fixed a rare miss-compilation of tuple matching.</p> + <p> + Own Id: OTP-16470</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <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> + </list> + </section> + +</section> + <section><title>Hipe 3.19.3</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/hipe/vsn.mk b/lib/hipe/vsn.mk index 5d34c61169..9a612e9063 100644 --- a/lib/hipe/vsn.mk +++ b/lib/hipe/vsn.mk @@ -1 +1 @@ -HIPE_VSN = 3.19.3 +HIPE_VSN = 4.0 diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml index 677fb33b87..0be5d18646 100644 --- a/lib/inets/doc/src/notes.xml +++ b/lib/inets/doc/src/notes.xml @@ -33,7 +33,31 @@ <file>notes.xml</file> </header> - <section><title>Inets 7.1.2</title> + <section><title>Inets 7.2</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Remove support for deprecated functionality. Support for + mod_esi eval scheme, mod_htacess, mod_browser, apache + config files and deprecated httpd_conf functions are + dropped. Module http_uri is deprecated.</p> + <p> + Own Id: OTP-16252</p> + </item> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + </list> + </section> + +</section> + +<section><title>Inets 7.1.2</title> <section><title>Fixed Bugs and Malfunctions</title> <list> diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk index a30b437a37..2eaef40a7a 100644 --- a/lib/inets/vsn.mk +++ b/lib/inets/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = inets -INETS_VSN = 7.1.2 +INETS_VSN = 7.2 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 433534207a..1c83d36580 100644 --- a/lib/jinterface/doc/src/notes.xml +++ b/lib/jinterface/doc/src/notes.xml @@ -31,6 +31,35 @@ </header> <p>This document describes the changes made to the Jinterface application.</p> +<section><title>Jinterface 1.11</title> + + <section><title>Improvements and New Features</title> + <list> + <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> + 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> + </list> + </section> + +</section> + <section><title>Jinterface 1.10.1</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/jinterface/vsn.mk b/lib/jinterface/vsn.mk index f15a3f323b..f253cf7431 100644 --- a/lib/jinterface/vsn.mk +++ b/lib/jinterface/vsn.mk @@ -1 +1 @@ -JINTERFACE_VSN = 1.10.1 +JINTERFACE_VSN = 1.11 diff --git a/lib/kernel/doc/src/code.xml b/lib/kernel/doc/src/code.xml index 45538d3239..3dbe501120 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 a documentation chunk diff --git a/lib/kernel/doc/src/erl_epmd.xml b/lib/kernel/doc/src/erl_epmd.xml index 872cf6727a..285c2288e9 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 9fd9633961..05f2476e18 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 56656d0909..d9661aa66f 100644 --- a/lib/kernel/doc/src/notes.xml +++ b/lib/kernel/doc/src/notes.xml @@ -31,6 +31,334 @@ </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> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>A new module <seealso + marker="kernel:erpc"><c>erpc</c></seealso> has been + introduced in the <c>kernel</c> application. The + <c>erpc</c> module implements an enhanced subset of the + operations provided by the <seealso + marker="kernel:rpc"><c>rpc</c></seealso> 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 <seealso + marker="erts:erlang#spawn_request/5"><c>spawn_request()</c></seealso> + 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 <seealso + marker="kernel:rpc#block_call/5"><c>rpc:block_call()</c></seealso> + 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 + -dist_listen false -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 <seealso + marker="kernel:logger_formatter#chars_limit"><c>chars_limit</c></seealso> + and <seealso + marker="kernel:logger_formatter#depth"><c>depth</c></seealso> + 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> + 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 <seealso + marker="kernel:seq_trace#whatis">sequential + tracing</seealso> 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 + <seealso marker="kernel:pg"><c>pg</c></seealso> 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 <seealso marker="kernel:pg2"><c>pg2</c></seealso> + 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 + <seealso marker="kernel:pg"><c>pg</c></seealso> 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 <seealso + marker="kernel:disk_log"><c>disk_log</c></seealso> + 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> + Allow using custom IO devices in <c>logger_std_h</c>.</p> + <p> + Own Id: OTP-16563 Aux Id: PR-2523 </p> + </item> + </list> + </section> + +</section> + <section><title>Kernel 6.5.2</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/kernel/src/kernel.app.src b/lib/kernel/src/kernel.app.src index 48c77c49a9..56d071b93f 100644 --- a/lib/kernel/src/kernel.app.src +++ b/lib/kernel/src/kernel.app.src @@ -154,6 +154,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 diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml index 4d43adba71..b942939a23 100644 --- a/lib/megaco/doc/src/notes.xml +++ b/lib/megaco/doc/src/notes.xml @@ -37,7 +37,31 @@ section is the version number of Megaco.</p> - <section><title>Megaco 3.18.8</title> + <section><title>Megaco 3.19</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + <item> + <p> + The preliminary version 3 codec(s) prev3a, prev3b and + prev3c has been deprecated and will be *removed* in OTP + 24. The encoding config option 'version3' will continue + to work until OTP 24.</p> + <p> + Own Id: OTP-16531</p> + </item> + </list> + </section> + +</section> + +<section><title>Megaco 3.18.8</title> <section><title>Fixed Bugs and Malfunctions</title> <list> diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk index e9c21389bc..3a35c5d125 100644 --- a/lib/megaco/vsn.mk +++ b/lib/megaco/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = megaco -MEGACO_VSN = 3.18.8 +MEGACO_VSN = 3.19 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 5cda5ed72e..8dfa182293 100644 --- a/lib/mnesia/doc/src/notes.xml +++ b/lib/mnesia/doc/src/notes.xml @@ -39,7 +39,44 @@ thus constitutes one section in this document. The title of each section is the version number of Mnesia.</p> - <section><title>Mnesia 4.16.3</title> + <section><title>Mnesia 4.17</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Make <c>mnesia:create_table/2</c> return correct badarg + value.</p> + <p> + Own Id: OTP-16072 Aux Id: PR-2320 </p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Remove usage and documentation of old requests of the + I/O-protocol.</p> + <p> + Own Id: OTP-15695</p> + </item> + <item> + <p> + Avoid using <c>rpc</c> calls to do table reads, which + will reduce the load on rpc server and improve + performance.</p> + <p> + Own Id: OTP-16189</p> + </item> + </list> + </section> + +</section> + +<section><title>Mnesia 4.16.3</title> <section><title>Fixed Bugs and Malfunctions</title> <list> diff --git a/lib/mnesia/vsn.mk b/lib/mnesia/vsn.mk index ae849f2771..ba006208cd 100644 --- a/lib/mnesia/vsn.mk +++ b/lib/mnesia/vsn.mk @@ -1 +1 @@ -MNESIA_VSN = 4.16.3 +MNESIA_VSN = 4.17 diff --git a/lib/observer/doc/src/notes.xml b/lib/observer/doc/src/notes.xml index b27de66984..2533f99bd5 100644 --- a/lib/observer/doc/src/notes.xml +++ b/lib/observer/doc/src/notes.xml @@ -32,6 +32,21 @@ <p>This document describes the changes made to the Observer application.</p> +<section><title>Observer 2.9.4</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Minor updates due to the new spawn improvements made.</p> + <p> + Own Id: OTP-16368 Aux Id: OTP-15251 </p> + </item> + </list> + </section> + +</section> + <section><title>Observer 2.9.3</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/observer/src/observer.app.src b/lib/observer/src/observer.app.src index 55de6de0c6..ca65ee703e 100644 --- a/lib/observer/src/observer.app.src +++ b/lib/observer/src/observer.app.src @@ -66,7 +66,7 @@ {registered, []}, {applications, [kernel, stdlib]}, {env, []}, - {runtime_dependencies, ["wx-1.2","stdlib-@OTP-15251@","runtime_tools-1.8.14", - "kernel-@OTP-15251@","et-1.5","erts-@OTP-15251@"]}]}. + {runtime_dependencies, ["wx-1.2","stdlib-3.13","runtime_tools-1.8.14", + "kernel-7.0","et-1.5","erts-11.0"]}]}. diff --git a/lib/observer/vsn.mk b/lib/observer/vsn.mk index 6b733687b8..4de0cc113f 100644 --- a/lib/observer/vsn.mk +++ b/lib/observer/vsn.mk @@ -1 +1 @@ -OBSERVER_VSN = 2.9.3 +OBSERVER_VSN = 2.9.4 diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml index 8d708162e4..4de4ec5cea 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.4</title> + <section><title>ODBC 2.13</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Rewrite due to the removal of <c>erl_interface</c> legacy + functions.</p> + <p> + Own Id: OTP-16544 Aux Id: OTP-16328 </p> + </item> + </list> + </section> + +</section> + +<section><title>ODBC 2.12.4</title> <section><title>Improvements and New Features</title> <list> diff --git a/lib/odbc/vsn.mk b/lib/odbc/vsn.mk index df6db09f2f..cf271f3505 100644 --- a/lib/odbc/vsn.mk +++ b/lib/odbc/vsn.mk @@ -1 +1 @@ -ODBC_VSN = 2.12.4 +ODBC_VSN = 2.13 diff --git a/lib/os_mon/doc/src/notes.xml b/lib/os_mon/doc/src/notes.xml index 63efa96e2f..c55a0d5928 100644 --- a/lib/os_mon/doc/src/notes.xml +++ b/lib/os_mon/doc/src/notes.xml @@ -31,6 +31,21 @@ </header> <p>This document describes the changes made to the OS_Mon application.</p> +<section><title>Os_Mon 2.5.2</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + </list> + </section> + +</section> + <section><title>Os_Mon 2.5.1</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/os_mon/vsn.mk b/lib/os_mon/vsn.mk index 6081e181ff..e4b7574e02 100644 --- a/lib/os_mon/vsn.mk +++ b/lib/os_mon/vsn.mk @@ -1 +1 @@ -OS_MON_VSN = 2.5.1 +OS_MON_VSN = 2.5.2 diff --git a/lib/parsetools/doc/src/notes.xml b/lib/parsetools/doc/src/notes.xml index f8cd9b972d..3975c55c6c 100644 --- a/lib/parsetools/doc/src/notes.xml +++ b/lib/parsetools/doc/src/notes.xml @@ -31,6 +31,22 @@ </header> <p>This document describes the changes made to the Parsetools application.</p> +<section><title>Parsetools 2.2</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Remove usage and documentation of old requests of the + I/O-protocol.</p> + <p> + Own Id: OTP-15695</p> + </item> + </list> + </section> + +</section> + <section><title>Parsetools 2.1.8</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/parsetools/vsn.mk b/lib/parsetools/vsn.mk index 1a5201ce5d..c18fcbe762 100644 --- a/lib/parsetools/vsn.mk +++ b/lib/parsetools/vsn.mk @@ -1 +1 @@ -PARSETOOLS_VSN = 2.1.8 +PARSETOOLS_VSN = 2.2 diff --git a/lib/public_key/doc/src/notes.xml b/lib/public_key/doc/src/notes.xml index c182a28c53..f6abe574f8 100644 --- a/lib/public_key/doc/src/notes.xml +++ b/lib/public_key/doc/src/notes.xml @@ -35,6 +35,24 @@ <file>notes.xml</file> </header> +<section><title>Public_Key 1.7.3</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Calls of deprecated functions in the <seealso + marker="crypto:new_api#the-old-api">Old Crypto + API</seealso> are replaced by calls of their <seealso + marker="crypto:new_api#the-new-api">substitutions</seealso>.</p> + <p> + Own Id: OTP-16346</p> + </item> + </list> + </section> + +</section> + <section><title>Public_Key 1.7.2</title> <section><title>Improvements and New Features</title> diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk index 0008cf7a16..f8c3f42e16 100644 --- a/lib/public_key/vsn.mk +++ b/lib/public_key/vsn.mk @@ -1 +1 @@ -PUBLIC_KEY_VSN = 1.7.2 +PUBLIC_KEY_VSN = 1.7.3 diff --git a/lib/runtime_tools/doc/src/notes.xml b/lib/runtime_tools/doc/src/notes.xml index 210d63687c..88b78a931c 100644 --- a/lib/runtime_tools/doc/src/notes.xml +++ b/lib/runtime_tools/doc/src/notes.xml @@ -32,6 +32,27 @@ <p>This document describes the changes made to the Runtime_Tools application.</p> +<section><title>Runtime_Tools 1.15</title> + + <section><title>Improvements and New Features</title> + <list> + <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> + Minor updates due to the new spawn improvements made.</p> + <p> + Own Id: OTP-16368 Aux Id: OTP-15251 </p> + </item> + </list> + </section> + +</section> + <section><title>Runtime_Tools 1.14</title> <section><title>Improvements and New Features</title> diff --git a/lib/runtime_tools/src/runtime_tools.app.src b/lib/runtime_tools/src/runtime_tools.app.src index b55d50d040..d7c2975a5b 100644 --- a/lib/runtime_tools/src/runtime_tools.app.src +++ b/lib/runtime_tools/src/runtime_tools.app.src @@ -29,5 +29,5 @@ {applications, [kernel, stdlib]}, {env, []}, {mod, {runtime_tools, []}}, - {runtime_dependencies, ["stdlib-@OTP-15251@","mnesia-4.12","kernel-@OTP-15251@", - "erts-@OTP-15251:OTP-16327@"]}]}. + {runtime_dependencies, ["stdlib-3.13","mnesia-4.12","kernel-7.0", + "erts-11.0"]}]}. diff --git a/lib/runtime_tools/vsn.mk b/lib/runtime_tools/vsn.mk index c01dd60009..4bacd1f571 100644 --- a/lib/runtime_tools/vsn.mk +++ b/lib/runtime_tools/vsn.mk @@ -1 +1 @@ -RUNTIME_TOOLS_VSN = 1.14 +RUNTIME_TOOLS_VSN = 1.15 diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml index 18dbfb375b..1e1f75b9e7 100644 --- a/lib/sasl/doc/src/notes.xml +++ b/lib/sasl/doc/src/notes.xml @@ -31,6 +31,34 @@ </header> <p>This document describes the changes made to the SASL application.</p> +<section><title>SASL 3.5</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Remove usage and documentation of old requests of the + I/O-protocol.</p> + <p> + Own Id: OTP-15695</p> + </item> + <item> + <p> + <c>systools:make_script/2</c> now accepts the name of the + boot file to create, it is not restricted to only + <c>RelName.boot</c> or <c>start.boot</c>.</p> + <p> + <c>systools:make_tar/2</c> now accepts the option + <c>extra_files</c> to add any extra non release related + files to the tar file.</p> + <p> + Own Id: OTP-16561 Aux Id: PR-2420 </p> + </item> + </list> + </section> + +</section> + <section><title>SASL 3.4.2</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 b795123645..621454d6a4 100644 --- a/lib/sasl/src/sasl.appup.src +++ b/lib/sasl/src/sasl.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 @@ -34,7 +35,8 @@ {<<"^3\\.3\\.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\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.4\\.2(?:\\.[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]}, @@ -42,4 +44,5 @@ {<<"^3\\.3\\.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\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk index fd045e49d5..b5c28cd83b 100644 --- a/lib/sasl/vsn.mk +++ b/lib/sasl/vsn.mk @@ -1 +1 @@ -SASL_VSN = 3.4.2 +SASL_VSN = 3.5 diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml index 6f333bc4bf..34c6467f43 100644 --- a/lib/snmp/doc/src/notes.xml +++ b/lib/snmp/doc/src/notes.xml @@ -34,7 +34,69 @@ </header> - <section><title>SNMP 5.5</title> + <section><title>SNMP 5.6</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + For manager, fix PrivParams for SNMPv3 USM with AES + privacy; * In `snmp_usm:do_decrypt/3`, pass full + UsmSecParams to `snmp_usm:try_decrypt/5` as expected by + AES clause. * Change `snmpm_usm:aes_encrypt/3` to use + EngineBoots and EngineTime as cached by + `snmpm_config:get_usm_eboots/1` and + `snmpm_config:get_usm_etime/1` instead of + `snmpm_config:get_engine_boots/0` and + `snmpm_config:get_engine_time/0`. This ensures correct + msgPrivacyParameters are sent when AES is used. * Add + test `snmp.snmp_manager_SUITE.usm_priv_aes/1` to avoid + regression.</p> + <p> + Own Id: OTP-16541 Aux Id: #2544 </p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Remove usage and documentation of old requests of the + I/O-protocol.</p> + <p> + Own Id: OTP-15695</p> + </item> + <item> + <p> + Calls of deprecated functions in the <seealso + marker="crypto:new_api#the-old-api">Old Crypto + API</seealso> are replaced by calls of their <seealso + marker="crypto:new_api#the-new-api">substitutions</seealso>.</p> + <p> + Own Id: OTP-16346</p> + </item> + <item> + <p> + Finalize deprecation. Already deprecated functions has a + "remove version 24" set and "new" functions added to list + of deprecated functions.</p> + <p> + Own Id: OTP-16463</p> + </item> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + </list> + </section> + +</section> + +<section><title>SNMP 5.5</title> <section><title>Improvements and New Features</title> <list> diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk index 84299ec250..39da86b2e1 100644 --- a/lib/snmp/vsn.mk +++ b/lib/snmp/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = snmp -SNMP_VSN = 5.5 +SNMP_VSN = 5.6 PRE_VSN = APP_VSN = "$(APPLICATION)-$(SNMP_VSN)$(PRE_VSN)" diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml index 503df6a82c..31947e1052 100644 --- a/lib/ssh/doc/src/notes.xml +++ b/lib/ssh/doc/src/notes.xml @@ -30,6 +30,201 @@ <file>notes.xml</file> </header> +<section><title>Ssh 4.10</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Fix error in ssh_sftpd typespec.</p> + <p> + Own Id: OTP-16363</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + The plug-in file ssh_file.erl, that is responsible for + default file handling, is re-factored, optimized and + re-written.</p> + <p> + Own Id: OTP-11688 Aux Id: OTP-12699 </p> + </item> + <item> + <p> + OpenSSH 6.5 introduced a new file representation of keys + called <url + href="https://cvsweb.openbsd.org/src/usr.bin/ssh/PROTOCOL.key?annotate=1.1">openssh-key-v1</url>.</p> + <p> + OTP/SSH had an experimental implementation of this + format. That implementation is now improved and supported + with the exception of handling encrypted keys.</p> + <p> + Own Id: OTP-15434</p> + </item> + <item> + <p> + TCP/IP port forwarding, a.k.a tunneling a.k.a + tcp-forward/direct-tcp is implemented. In the OpenSSH + client, this corresponds to the options -L and -R.</p> + <p> + The client or server listens to a specified socket, and + when something connects to it with TCP/IP, that + connection is forwarded in an encrypted tunnel to the + peer. The peer then connects to a predefined IP/port pair + and then acts as a proxy.</p> + <p> + See the manual, <seealso + marker="ssh:ssh#tcpip_tunnel_to_server/6"><c>ssh:tcpip_tunnel_to_server/6</c></seealso> + and <seealso + marker="ssh:ssh#tcpip_tunnel_from_server/6"><c>ssh:tcpip_tunnel_from_server/6</c></seealso>.</p> + <p> + The functionality is disabled per default but can be + enabled when starting a daemon.</p> + <p> + Own Id: OTP-15998 Aux Id: PR-2376, PR-2368 </p> + </item> + <item> + <p> + The client-side of the supervisor tree (under sshc_sup) + was previously not complete; the channel handling + processes were handled with links but had no supervisors.</p> + <p> + This is now corrected with a client-side supervisor tree + under <c>sshc_sup</c>, similar to the server-side + supervisor tree under <c>sshd_sup</c>.</p> + <p> + Own Id: OTP-16026 Aux Id: PR-2368, (OTP-15998) </p> + </item> + <item> + <p> + The extension <url + href="https://cvsweb.openbsd.org/src/usr.bin/ssh/PROTOCOL?annotate=HEAD">posix-rename@openssh.com</url> + is added to the <seealso + marker="ssh:ssh_sftp#rename/3">ssh/sftp rename</seealso> + operation.</p> + <p> + Own Id: OTP-16289 Aux Id: PR-2448 </p> + </item> + <item> + <p> + Calls of deprecated functions in the <seealso + marker="crypto:new_api#the-old-api">Old Crypto + API</seealso> are replaced by calls of their <seealso + marker="crypto:new_api#the-new-api">substitutions</seealso>.</p> + <p> + Own Id: OTP-16346</p> + </item> + <item> + <p> + The default known_hosts file handling is improved to + include ports.</p> + <p> + The handling of the contents in that file is updated to + support the <url + href="https://man.openbsd.org/sshd#SSH_KNOWN_HOSTS_FILE_FORMAT">full + syntax</url>, with exception of 1) the wildcard '?', 2) + wildcards in canonical names and 3) the option + '@cert-authority'</p> + <p> + Own Id: OTP-16506</p> + </item> + <item> + <p> + The key-exchange algorithms + <c>'diffie-hellman-group14-sha1'</c> and + <c>'diffie-hellman-group-exchange-sha1'</c> are disabled + per default. The reason is that SHA1 now is considered + insecure.</p> + <p> + They can be enabled if needed, see <seealso + marker="ssh:SSH_app#algorithms">SSH (App)</seealso>.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-16509</p> + </item> + <item> + <p> + The public key algorithm <c>'ssh-dss'</c> is disabled per + default. The reason is that it is now considered as + insecure.</p> + <p> + It can be enabled if needed, see <seealso + marker="ssh:SSH_app#algorithms">SSH (App)</seealso>.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-16510</p> + </item> + <item> + <p> + The public key <c>'ssh-rsa'</c> is now considered as + insecure because of its usage of SHA1.</p> + <p> + It is therefore deprecated and will be removed in + OTP-24.0.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-16511</p> + </item> + <item> + <p> + An option <seealso + marker="ssh:ssh_file#type-optimize_key_lookup">optimize + (optimize_key_lookup)</seealso> is introduced for the + file interface ssh_file.erl</p> + <p> + The option enables the user to select between the default + handling which is fast but memory consuming vs memory + efficient but not as fast. The effect might be observable + only for large files.</p> + <p> + See the manual for <seealso + marker="ssh:ssh_file#is_host_key/5">ssh_file:is_host_key/5</seealso> + and <seealso + marker="ssh:ssh_file#is_auth_key/3">ssh_file:is_auth_key/3</seealso>.</p> + <p> + Own Id: OTP-16512</p> + </item> + <item> + <p> + The ssh agent is now implemented in the ssh_agent key + callback module. </p> + <p> + Enable with the the option <c> {key_cb, {ssh_agent, + []}}</c> in for example ssh:connect/3.</p> + <p> + See the <seealso marker="ssh:ssh_agent">ssh_agent + manual</seealso> for details.</p> + <p> + Own Id: OTP-16513</p> + </item> + <item> + <p> + Algorithm configuration could now be done in a .config + file.</p> + <p> + This is useful for example to enable an algorithm that is + disabled by default. It could now be enabled in an + .config-file without changing the code,</p> + <p> + See the SSH User's Guide chapter <seealso + marker="ssh:configurations">"Configuration in + SSH"</seealso>.</p> + <p> + Own Id: OTP-16540</p> + </item> + </list> + </section> + +</section> + <section><title>Ssh 4.9</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk index 70307d6039..732c3f8766 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.9 +SSH_VSN = 4.10 APP_VSN = "ssh-$(SSH_VSN)" diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml index c3b6d59929..2f60e1206a 100644 --- a/lib/ssl/doc/src/notes.xml +++ b/lib/ssl/doc/src/notes.xml @@ -27,6 +27,112 @@ </header> <p>This document describes the changes made to the SSL application.</p> +<section><title>SSL 10.0</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Fix a bug that causes cross-build failure.</p> + <p> + This change excludes the ssh.d dependency file from the + source tar balls.</p> + <p> + Own Id: OTP-16562 Aux Id: ERL-1168 </p> + </item> + <item> + <p> + Correct error handling when the partial_chain fun claims + a certificate to be the trusted cert that is not part of + the chain. This bug would hide the appropriate alert + generating an "INTERNAL_ERROR" alert instead.</p> + <p> + Own Id: OTP-16567 Aux Id: ERIERL-481 </p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Drop support for SSL-3.0. Support for this legacy TLS + version has not been enabled by default since OTP 19. Now + all code to support it has been removed, that is SSL-3.0 + protocol version can not be used and is considered + invalid.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-14790</p> + </item> + <item> + <p> + Improve interoperability by implementing the middlebox + compatiblity mode.</p> + <p> + The middlebox compatibility mode makes the TLS 1.3 + handshake look more like a TLS 1.2 handshake and + increases the chance of successfully establishing TLS 1.3 + connections through legacy middleboxes.</p> + <p> + Own Id: OTP-15589</p> + </item> + <item> + <p> + Utilize new properties of <seealso + marker="erts:erlang#dist_ctrl_get_data/1"><c>erlang:dist_ctrl_get_data()</c></seealso> + for performance improvement of Erlang distribution over + TLS.</p> + <p> + Own Id: OTP-16127 Aux Id: OTP-15618 </p> + </item> + <item> + <p> + Calls of deprecated functions in the <seealso + marker="crypto:new_api#the-old-api">Old Crypto + API</seealso> are replaced by calls of their <seealso + marker="crypto:new_api#the-new-api">substitutions</seealso>.</p> + <p> + Own Id: OTP-16346</p> + </item> + <item> + <p> + Implement cipher suite TLS_AES_128_CCM_8_SHA256.</p> + <p> + Own Id: OTP-16391</p> + </item> + <item> + <p> + This change adds TLS-1.3 to the list of default supported + versions. That is, TLS-1.3 and TLS-1.2 are configured + when ssl option 'versions' is not explicitly set.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-16400</p> + </item> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + <item> + <p> + Extended ssl:versions to include information about + TLS/DTLS versions that have sufficient crypto lib + support. Renamed information tag supported to + default_supported, to clarify.</p> + <p> + Own Id: OTP-16519</p> + </item> + </list> + </section> + +</section> + <section><title>SSL 9.6</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/ssl/vsn.mk b/lib/ssl/vsn.mk index 980b02d490..14ba8ed31c 100644 --- a/lib/ssl/vsn.mk +++ b/lib/ssl/vsn.mk @@ -1 +1 @@ -SSL_VSN = 9.6 +SSL_VSN = 10.0 diff --git a/lib/stdlib/doc/src/c.xml b/lib/stdlib/doc/src/c.xml index 04dad1a472..977c819114 100644 --- a/lib/stdlib/doc/src/c.xml +++ b/lib/stdlib/doc/src/c.xml @@ -120,7 +120,7 @@ </func> <func> - <name name="h" arity="1" since="OTP @OTP-16222@"/> + <name name="h" arity="1" since="OTP 23.0"/> <fsummary>Module help information</fsummary> <type name="h_return"/> <desc> @@ -129,7 +129,7 @@ </func> <func> - <name name="h" arity="2" since="OTP @OTP-16222@"/> + <name name="h" arity="2" since="OTP 23.0"/> <fsummary>Function help information</fsummary> <type name="h_return"/> <type name="hf_return"/> @@ -139,7 +139,7 @@ </func> <func> - <name name="h" arity="3" since="OTP @OTP-16222@"/> + <name name="h" arity="3" since="OTP 23.0"/> <fsummary>Function help information</fsummary> <type name="h_return"/> <type name="hf_return"/> @@ -149,7 +149,7 @@ </func> <func> - <name name="ht" arity="1" since="OTP @OTP-16222@"/> + <name name="ht" arity="1" since="OTP 23.0"/> <fsummary>Type help information</fsummary> <type name="h_return"/> <desc> @@ -158,7 +158,7 @@ </func> <func> - <name name="ht" arity="2" since="OTP @OTP-16222@"/> + <name name="ht" arity="2" since="OTP 23.0"/> <fsummary>Type help information</fsummary> <type name="h_return"/> <type name="ht_return"/> @@ -168,7 +168,7 @@ </func> <func> - <name name="ht" arity="3" since="OTP @OTP-16222@"/> + <name name="ht" arity="3" since="OTP 23.0"/> <fsummary>Type help information</fsummary> <type name="h_return"/> <type name="ht_return"/> diff --git a/lib/stdlib/doc/src/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml index f9db5ba2a8..eabce3057b 100644 --- a/lib/stdlib/doc/src/gen_event.xml +++ b/lib/stdlib/doc/src/gen_event.xml @@ -524,9 +524,9 @@ gen_event:stop -----> Module:terminate/2 </func> <func> - <name since="OTP @OTP-16120@">start_monitor() -> Result</name> - <name since="OTP @OTP-16120@">start_monitor(EventMgrName | Options) -> Result</name> - <name since="OTP @OTP-16120@">start_monitor(EventMgrName, Options) -> Result</name> + <name since="OTP 23.0">start_monitor() -> Result</name> + <name since="OTP 23.0">start_monitor(EventMgrName | Options) -> Result</name> + <name since="OTP 23.0">start_monitor(EventMgrName, Options) -> Result</name> <fsummary>Create a stand-alone event manager process.</fsummary> <type> <v>EventMgrName = {local,Name} | {global,GlobalName} | {via,Module,ViaName}</v> diff --git a/lib/stdlib/doc/src/gen_server.xml b/lib/stdlib/doc/src/gen_server.xml index 0221319dcc..0ac6715bb0 100644 --- a/lib/stdlib/doc/src/gen_server.xml +++ b/lib/stdlib/doc/src/gen_server.xml @@ -551,8 +551,8 @@ gen_server:abcast -----> Module:handle_cast/2 </func> <func> - <name since="OTP @OTP-16120@">start_monitor(Module, Args, Options) -> Result</name> - <name since="OTP @OTP-16120@">start_monitor(ServerName, Module, Args, Options) -> Result</name> + <name since="OTP 23.0">start_monitor(Module, Args, Options) -> Result</name> + <name since="OTP 23.0">start_monitor(ServerName, Module, Args, Options) -> Result</name> <fsummary>Create a standalone <c>gen_server</c> process.</fsummary> <type> <v>ServerName = {local,Name} | {global,GlobalName}</v> diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml index 80c84dc180..8142e3fed9 100644 --- a/lib/stdlib/doc/src/gen_statem.xml +++ b/lib/stdlib/doc/src/gen_statem.xml @@ -2049,8 +2049,8 @@ handle_event(_, _, State, Data) -> </func> <func> - <name name="start_monitor" arity="3" since="OTP @OTP-16120@"/> - <name name="start_monitor" arity="4" since="OTP @OTP-16120@"/> + <name name="start_monitor" arity="3" since="OTP 23.0"/> + <name name="start_monitor" arity="4" since="OTP 23.0"/> <fsummary>Create a standalone <c>gen_statem</c> process.</fsummary> <desc> <p> diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 252f74708d..3fb0bc267c 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,203 @@ </header> <p>This document describes the changes made to the STDLIB application.</p> +<section><title>STDLIB 3.13</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <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> Initialization of record fields using <c>_</c> is no + longer allowed if the number of affected fields is zero. + </p> + <p> + Own Id: OTP-16516</p> + </item> + <item> + <p> Fix bugs in <c>eval_bits</c>. </p> + <p> + Own Id: OTP-16545</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <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 <seealso + marker="kernel:logger_formatter#chars_limit"><c>chars_limit</c></seealso> + and <seealso + marker="kernel:logger_formatter#depth"><c>depth</c></seealso> + 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>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> Handle Unicode filenames in the <c>zip</c> module. + </p> + <p> + Own Id: OTP-16005 Aux Id: ERL-1003, ERL-1150 </p> + </item> + <item> + <p> + Unicode support was updated to the Unicode 12.1 standard.</p> + <p> + Own Id: OTP-16073 Aux Id: PR-2339 </p> + </item> + <item> + <p> + All of the modules <seealso + marker="stdlib:proc_lib#start_monitor/3"><c>proc_lib</c></seealso>, + <seealso + marker="stdlib:gen_server#start_monitor/3"><c>gen_server</c></seealso>, + <seealso + marker="stdlib:gen_statem#start_monitor/3"><c>gen_statem</c></seealso>, + and <seealso + marker="stdlib:gen_event#start_monitor/0"><c>gen_event</c></seealso> + have been extended with a <c>start_monitor()</c> + function. For more information, see the documentation of + <c>start_monitor()</c> for these modules.</p> + <p> + Own Id: OTP-16120 Aux Id: ERIERL-402, PR-2427 </p> + </item> + <item> + <p> + Updates for new <c>erlang:term_to_iovec()</c> BIF.</p> + <p> + Own Id: OTP-16128 Aux Id: OTP-15618 </p> + </item> + <item> + <p>Documented a quirk regarding extraction from file + descriptors in <c>erl_tar</c>.</p> + <p> + Own Id: OTP-16171 Aux Id: ERL-1057 </p> + </item> + <item> + <p> + Added <c>ok</c> as return value to + <c>gen_server:reply/2</c></p> + <p> + Own Id: OTP-16210 Aux Id: PR-2411 </p> + </item> + <item> + <p>New functions have been added to <seealso + marker="c"><c>c(3)</c></seealso> for printing embedded + documentation for Erlang modules. The functions are:</p> + <taglist> <tag>h/1,2,3</tag> <item>Print the + documentation for a Module:Function/Arity.</item> + <tag>ht/1,2,3</tag> <item>Print the type documentation + for a Module:Type/Arity.</item> </taglist> <p>The + embedded documentation is created when building the + Erlang/OTP documentation.</p> + <p> + Own Id: OTP-16222</p> + </item> + <item> + <p> Add <c>indent</c> and <c>linewidth</c> to the options + of the <c>erl_pp</c> module's functions. </p> + <p> + Own Id: OTP-16276 Aux Id: PR-2443 </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>The compiler will now raise a warning when inlining is + used in modules that load NIFs.</p> + <p> + Own Id: OTP-16429 Aux Id: ERL-303 </p> + </item> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + <item> + <p> Extend <c>erl_parse:abstract/1,2</c> to handle + external fun expressions (<c>fun M:F/A</c>). </p> + <p> + Own Id: OTP-16480</p> + </item> + <item> + <p>Added <c>filelib:safe_relative_path/2</c> to replace + <c>filename:safe_relative_path/1</c>, which did not + safely handle symbolic links.</p> + <p><c>filename:safe_relative_path/1</c> has been + deprecated.</p> + <p> + Own Id: OTP-16483 Aux Id: PR-2542 </p> + </item> + <item> + <p> + The module <c>shell_docs</c> has been added. The module + contains functions for rendering, validating and + normalizing embedded documentation.</p> + <p> + Own Id: OTP-16500</p> + </item> + <item> + <p> + Module and function auto-completion in the shell now + looks at all available modules instead of only those + loaded. A module is considered available if it either is + loaded already or would be loaded if called.</p> + <p> + The auto-completion has also been expanded to work in the + new <c>h/1,2,3</c> function in <c>c(3)</c>.</p> + <p> + Own Id: OTP-16501 Aux Id: OTP-16494, OTP-16222, + OTP-16406, OTP-16499, OTP-16500, PR-2545, ERL-708 </p> + </item> + </list> + </section> + +</section> + <section><title>STDLIB 3.12</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/stdlib/doc/src/proc_lib.xml b/lib/stdlib/doc/src/proc_lib.xml index 32605118d1..17bb68e2cb 100644 --- a/lib/stdlib/doc/src/proc_lib.xml +++ b/lib/stdlib/doc/src/proc_lib.xml @@ -360,9 +360,9 @@ init(Parent) -> </func> <func> - <name name="start_monitor" arity="3" since="OTP @OTP-16120@"/> - <name name="start_monitor" arity="4" since="OTP @OTP-16120@"/> - <name name="start_monitor" arity="5" since="OTP @OTP-16120@"/> + <name name="start_monitor" arity="3" since="OTP 23.0"/> + <name name="start_monitor" arity="4" since="OTP 23.0"/> + <name name="start_monitor" arity="5" since="OTP 23.0"/> <fsummary>Start a new process synchronously.</fsummary> <desc> <p> diff --git a/lib/stdlib/doc/src/shell_docs.xml b/lib/stdlib/doc/src/shell_docs.xml index a3b6f128c3..894f8a5d06 100644 --- a/lib/stdlib/doc/src/shell_docs.xml +++ b/lib/stdlib/doc/src/shell_docs.xml @@ -32,7 +32,7 @@ <rev>A</rev> <file>shell_docs.xml</file> </header> - <module since="OTP @OTP-16222@">shell_docs</module> + <module since="OTP 23.0">shell_docs</module> <modulesummary>Functions used to render documentation for a shell.</modulesummary> <description> <p>This module can be used to render function and type documentation @@ -68,30 +68,30 @@ <funcs> <func> - <name name="render" arity="2" since="OTP @OTP-16222@"/> + <name name="render" arity="2" since="OTP 23.0"/> <fsummary>Render the documentation for a module.</fsummary> <desc> <p>Render the documentation for a module.</p> </desc> </func> <func> - <name name="render" arity="3" since="OTP @OTP-16222@"/> - <name name="render" arity="4" since="OTP @OTP-16222@"/> + <name name="render" arity="3" since="OTP 23.0"/> + <name name="render" arity="4" since="OTP 23.0"/> <fsummary>Render the documentation for a function.</fsummary> <desc> <p>Render the documentation for a function.</p> </desc> </func> <func> - <name name="render_type" arity="2" since="OTP @OTP-16222@"/> + <name name="render_type" arity="2" since="OTP 23.0"/> <fsummary>Render a list of all available types in a module.</fsummary> <desc> <p>Render a list of all available types in a module.</p> </desc> </func> <func> - <name name="render_type" arity="3" since="OTP @OTP-16222@"/> - <name name="render_type" arity="4" since="OTP @OTP-16222@"/> + <name name="render_type" arity="3" since="OTP 23.0"/> + <name name="render_type" arity="4" since="OTP 23.0"/> <fsummary>Render the documentation of a type in a module.</fsummary> <desc> <p>Render the documentation of a type in a module.</p> @@ -99,7 +99,7 @@ </func> <func> - <name name="validate" arity="1" since="OTP @OTP-16222@"/> + <name name="validate" arity="1" since="OTP 23.0"/> <fsummary>Validate the documentation</fsummary> <desc> <p>This function can be used to do a basic validation of @@ -108,7 +108,7 @@ </func> <func> - <name name="normalize" arity="1" since="OTP @OTP-16222@"/> + <name name="normalize" arity="1" since="OTP 23.0"/> <fsummary>Normalize the documentation</fsummary> <desc> <p>This function can be used to do whitespace normalization diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src index 8978e88d13..b59e3b28c0 100644 --- a/lib/stdlib/src/stdlib.app.src +++ b/lib/stdlib/src/stdlib.app.src @@ -109,6 +109,6 @@ dets]}, {applications, [kernel]}, {env, []}, - {runtime_dependencies, ["sasl-3.0","kernel-@OTP-15251@","erts-@OTP-15251:OTP-16431:OTP-16553@","crypto-3.3", + {runtime_dependencies, ["sasl-3.0","kernel-7.0","erts-11.0","crypto-3.3", "compiler-5.0"]} ]}. diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src index 462a4c83d3..c49997a2a0 100644 --- a/lib/stdlib/src/stdlib.appup.src +++ b/lib/stdlib/src/stdlib.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 @@ -33,6 +34,8 @@ {<<"^3\\.11\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^3\\.11\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.11\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.12$">>,[restart_new_emulator]}, + {<<"^3\\.12\\.0(?:\\.[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]}, @@ -55,6 +58,8 @@ {<<"^3\\.11\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^3\\.11\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.11\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.12$">>,[restart_new_emulator]}, + {<<"^3\\.12\\.0(?:\\.[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]}, diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk index 8eb1abb32c..3aa3690d12 100644 --- a/lib/stdlib/vsn.mk +++ b/lib/stdlib/vsn.mk @@ -1 +1 @@ -STDLIB_VSN = 3.12 +STDLIB_VSN = 3.13 diff --git a/lib/syntax_tools/doc/src/notes.xml b/lib/syntax_tools/doc/src/notes.xml index 9963ac41ae..52f085bf0c 100644 --- a/lib/syntax_tools/doc/src/notes.xml +++ b/lib/syntax_tools/doc/src/notes.xml @@ -32,6 +32,28 @@ <p>This document describes the changes made to the Syntax_Tools application.</p> +<section><title>Syntax_Tools 2.3</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> Remove incomplete support for <c>cond</c> + expressions. </p> + <p> + Own Id: OTP-15925 Aux Id: PR-2304 </p> + </item> + <item> + <p> + Improved indentation for code generated with + <c>erl_prettypr</c> and <c>tidier</c>.</p> + <p> + Own Id: OTP-16386 Aux Id: PR-2451 </p> + </item> + </list> + </section> + +</section> + <section><title>Syntax_Tools 2.2.1</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/syntax_tools/vsn.mk b/lib/syntax_tools/vsn.mk index 9e6967d45d..87167529c3 100644 --- a/lib/syntax_tools/vsn.mk +++ b/lib/syntax_tools/vsn.mk @@ -1 +1 @@ -SYNTAX_TOOLS_VSN = 2.2.1 +SYNTAX_TOOLS_VSN = 2.3 diff --git a/lib/tools/doc/src/notes.xml b/lib/tools/doc/src/notes.xml index 01314cf953..10bcea2a22 100644 --- a/lib/tools/doc/src/notes.xml +++ b/lib/tools/doc/src/notes.xml @@ -31,6 +31,33 @@ </header> <p>This document describes the changes made to the Tools application.</p> +<section><title>Tools 3.4</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Updates for new <c>erlang:term_to_iovec()</c> BIF.</p> + <p> + Own Id: OTP-16128 Aux Id: OTP-15618 </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> + Minor updates due to the new spawn improvements made.</p> + <p> + Own Id: OTP-16368 Aux Id: OTP-15251 </p> + </item> + </list> + </section> + +</section> + <section><title>Tools 3.3.1</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/tools/src/tools.app.src b/lib/tools/src/tools.app.src index beb5b98e15..f0c7ec1ead 100644 --- a/lib/tools/src/tools.app.src +++ b/lib/tools/src/tools.app.src @@ -43,6 +43,6 @@ ] }, {runtime_dependencies, ["stdlib-3.4","runtime_tools-1.8.14", - "kernel-5.4","erts-9.1","compiler-5.0", "erts-@OTP-16327@"]} + "kernel-5.4","erts-9.1","compiler-5.0", "erts-11.0"]} ] }. diff --git a/lib/tools/vsn.mk b/lib/tools/vsn.mk index 66f2c03149..b9f4811392 100644 --- a/lib/tools/vsn.mk +++ b/lib/tools/vsn.mk @@ -1 +1 @@ -TOOLS_VSN = 3.3.1 +TOOLS_VSN = 3.4 diff --git a/lib/wx/doc/src/notes.xml b/lib/wx/doc/src/notes.xml index 7dcfbb1588..2ee28554c4 100644 --- a/lib/wx/doc/src/notes.xml +++ b/lib/wx/doc/src/notes.xml @@ -32,6 +32,21 @@ <p>This document describes the changes made to the wxErlang application.</p> +<section><title>Wx 1.9.1</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Refactored the internal handling of deprecated and + removed functions.</p> + <p> + Own Id: OTP-16469</p> + </item> + </list> + </section> + +</section> + <section><title>Wx 1.9</title> <section><title>Improvements and New Features</title> diff --git a/lib/wx/vsn.mk b/lib/wx/vsn.mk index b498d21f3f..552e09ee2a 100644 --- a/lib/wx/vsn.mk +++ b/lib/wx/vsn.mk @@ -1 +1 @@ -WX_VSN = 1.9 +WX_VSN = 1.9.1 diff --git a/make/otp_version_tickets b/make/otp_version_tickets index b8220e1a87..67ef060cfa 100644 --- a/make/otp_version_tickets +++ b/make/otp_version_tickets @@ -1 +1,156 @@ -DEVELOPMENT +OTP-10278 +OTP-11688 +OTP-13450 +OTP-13812 +OTP-14708 +OTP-14734 +OTP-14790 +OTP-15077 +OTP-15232 +OTP-15251 +OTP-15299 +OTP-15434 +OTP-15517 +OTP-15589 +OTP-15603 +OTP-15618 +OTP-15695 +OTP-15744 +OTP-15792 +OTP-15812 +OTP-15835 +OTP-15837 +OTP-15840 +OTP-15842 +OTP-15866 +OTP-15868 +OTP-15892 +OTP-15896 +OTP-15914 +OTP-15915 +OTP-15925 +OTP-15948 +OTP-15950 +OTP-15956 +OTP-15967 +OTP-15995 +OTP-15998 +OTP-15999 +OTP-16005 +OTP-16007 +OTP-16008 +OTP-16014 +OTP-16026 +OTP-16029 +OTP-16055 +OTP-16072 +OTP-16073 +OTP-16105 +OTP-16110 +OTP-16112 +OTP-16120 +OTP-16127 +OTP-16128 +OTP-16148 +OTP-16155 +OTP-16160 +OTP-16168 +OTP-16171 +OTP-16189 +OTP-16210 +OTP-16214 +OTP-16215 +OTP-16222 +OTP-16229 +OTP-16232 +OTP-16237 +OTP-16244 +OTP-16250 +OTP-16251 +OTP-16252 +OTP-16260 +OTP-16264 +OTP-16270 +OTP-16273 +OTP-16275 +OTP-16276 +OTP-16283 +OTP-16284 +OTP-16289 +OTP-16327 +OTP-16328 +OTP-16329 +OTP-16345 +OTP-16346 +OTP-16347 +OTP-16362 +OTP-16363 +OTP-16367 +OTP-16368 +OTP-16369 +OTP-16370 +OTP-16386 +OTP-16389 +OTP-16391 +OTP-16394 +OTP-16395 +OTP-16398 +OTP-16400 +OTP-16402 +OTP-16406 +OTP-16408 +OTP-16419 +OTP-16429 +OTP-16431 +OTP-16432 +OTP-16453 +OTP-16454 +OTP-16455 +OTP-16463 +OTP-16469 +OTP-16470 +OTP-16474 +OTP-16478 +OTP-16480 +OTP-16482 +OTP-16483 +OTP-16484 +OTP-16487 +OTP-16489 +OTP-16490 +OTP-16492 +OTP-16494 +OTP-16495 +OTP-16496 +OTP-16497 +OTP-16499 +OTP-16500 +OTP-16501 +OTP-16502 +OTP-16503 +OTP-16504 +OTP-16505 +OTP-16506 +OTP-16509 +OTP-16510 +OTP-16511 +OTP-16512 +OTP-16513 +OTP-16516 +OTP-16519 +OTP-16523 +OTP-16530 +OTP-16531 +OTP-16534 +OTP-16540 +OTP-16541 +OTP-16543 +OTP-16544 +OTP-16545 +OTP-16549 +OTP-16551 +OTP-16554 +OTP-16561 +OTP-16562 +OTP-16563 +OTP-16567 |