diff options
author | Erlang/OTP <otp@erlang.org> | 2022-02-15 19:44:19 +0100 |
---|---|---|
committer | Erlang/OTP <otp@erlang.org> | 2022-02-15 19:44:19 +0100 |
commit | 95f5a792610ed4c87457863cb03b047414ad4a14 (patch) | |
tree | 0d9c35ad1645d1b8a1295c4c7414a9ce9a30e2cd /lib/stdlib/doc | |
parent | 7e702ac4b321c4870bdbbfc4c24ac3a5d5d572b5 (diff) | |
download | erlang-95f5a792610ed4c87457863cb03b047414ad4a14.tar.gz |
Prepare release
Diffstat (limited to 'lib/stdlib/doc')
-rw-r--r-- | lib/stdlib/doc/src/erl_pp.xml | 2 | ||||
-rw-r--r-- | lib/stdlib/doc/src/gen_event.xml | 2 | ||||
-rw-r--r-- | lib/stdlib/doc/src/gen_server.xml | 2 | ||||
-rw-r--r-- | lib/stdlib/doc/src/gen_statem.xml | 2 | ||||
-rw-r--r-- | lib/stdlib/doc/src/lists.xml | 4 | ||||
-rw-r--r-- | lib/stdlib/doc/src/notes.xml | 243 | ||||
-rw-r--r-- | lib/stdlib/doc/src/peer.xml | 24 |
7 files changed, 261 insertions, 18 deletions
diff --git a/lib/stdlib/doc/src/erl_pp.xml b/lib/stdlib/doc/src/erl_pp.xml index c1a9230b6e..5195054aaa 100644 --- a/lib/stdlib/doc/src/erl_pp.xml +++ b/lib/stdlib/doc/src/erl_pp.xml @@ -156,7 +156,7 @@ </func> <func> - <name name="legalize_vars" arity="1" since="OTP @OTP-17742@"/> + <name name="legalize_vars" arity="1" since="OTP 25.0"/> <fsummary>Ensure all variable names are valid.</fsummary> <desc> <p>The Erlang compiler will, when expanding records to tuples, diff --git a/lib/stdlib/doc/src/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml index 636b749ace..1de8b651cf 100644 --- a/lib/stdlib/doc/src/gen_event.xml +++ b/lib/stdlib/doc/src/gen_event.xml @@ -838,7 +838,7 @@ gen_event:stop -----> Module:terminate/2 </func> <func> - <name since="OTP @OTP-17351@">Module:format_status(Status) -> NewStatus</name> + <name since="OTP 25.0">Module:format_status(Status) -> NewStatus</name> <fsummary>Optional function for providing a term describing the current event handler state.</fsummary> <type> diff --git a/lib/stdlib/doc/src/gen_server.xml b/lib/stdlib/doc/src/gen_server.xml index dae31faf48..716fac06f5 100644 --- a/lib/stdlib/doc/src/gen_server.xml +++ b/lib/stdlib/doc/src/gen_server.xml @@ -788,7 +788,7 @@ gen_server:abcast -----> Module:handle_cast/2 </func> <func> - <name since="OTP @OTP-17351@">Module:format_status(Status) -> NewStatus</name> + <name since="OTP 25.0">Module:format_status(Status) -> NewStatus</name> <fsummary>Optional function for providing a term describing the current <c>gen_server</c> status.</fsummary> <type> diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml index 3e88b19100..ce06db02de 100644 --- a/lib/stdlib/doc/src/gen_statem.xml +++ b/lib/stdlib/doc/src/gen_statem.xml @@ -2480,7 +2480,7 @@ init(Args) -> erlang:error(not_implemented, [Args]).</pre> </func> <func> - <name since="OTP @OTP-17351@">Module:format_status(Status) -> NewStatus</name> + <name since="OTP 25.0">Module:format_status(Status) -> NewStatus</name> <fsummary>Optional function for providing a term describing the current <c>gen_statem</c> status.</fsummary> <type> diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml index 063c9d19a8..49f7b66dfe 100644 --- a/lib/stdlib/doc/src/lists.xml +++ b/lib/stdlib/doc/src/lists.xml @@ -175,7 +175,7 @@ </func> <func> - <name name="enumerate" arity="1" since="OTP @OTP-17523@"/> + <name name="enumerate" arity="1" since="OTP 25.0"/> <fsummary>Annotates elements with their index.</fsummary> <desc> <p>Returns <c><anno>List1</anno></c> with each element @@ -196,7 +196,7 @@ enumerate(List) -> </func> <func> - <name name="enumerate" arity="2" since="OTP @OTP-17523@"/> + <name name="enumerate" arity="2" since="OTP 25.0"/> <fsummary>Annotates elements with their index.</fsummary> <desc> <p>Returns <c><anno>List1</anno></c> with each element diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 57cbdcc925..e0eb91f629 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,249 @@ </header> <p>This document describes the changes made to the STDLIB application.</p> +<section><title>STDLIB 4.0</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Improve the Erlang code linter's check of unused types.</p> + <p> + Own Id: OTP-17370 Aux Id: GH-4784 </p> + </item> + <item> + <p> + Fix race condition in <seemfa + marker="stdlib:proc_lib#stop/3"><c>proc_lib:stop/3</c></seemfa> + where the process is not stopped when the timeout given + is very short.</p> + <p> + Own Id: OTP-17480 Aux Id: GH-4853 PR-4872 </p> + </item> + <item> + <p> + Fix gen_server:call with the first argument as self() to + throw an error instead of failing with a timeout.</p> + <p> + The same fix has also been done for gen_statem:call/3, + gen_event:sync_notify/2 and any other functionality + relying on the internal gen:call/3 function.</p> + <p> + A similar fix was also done when using io:format/2 and + the current group_leader was set to the current process.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-17544 Aux Id: PR-5008 </p> + </item> + <item> + <p> + erl_pp printed unary - and + operators with a space + between the operator and the operand. This is fixed by + not having any space in between.</p> + <p> + Own Id: OTP-17566 Aux Id: PR-5095, GH-5093 </p> + </item> + <item> + <p> + Adjust uri_string:normalize behavior for URIs with + undefined port (URI string with a port colon but no port + value or URI map with port => undefined).</p> + <p> + Remove redundant normalization from http_request module.</p> + <p> + Before this change, normalize would not remove port + subcomponent in such cases and could for example return + "http://localhost:" URI.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-17627</p> + </item> + <item> + <p> + Fix reduction counting bug in <c>re:run</c> that caused + the function to yield too frequently when doing + <c>global</c> matches.</p> + <p> + Own Id: OTP-17661 Aux Id: PR-5165 </p> + </item> + <item> + <p> + Fix the memory value returned from + <c>ets:info(Tid,memory)</c> when the + <c>read_concurrency</c> option is used.</p> + <p> + Before this fix the memory used by the scheduler specific + lock cache lines was not counted towards the total. This + caused the returned memory usage to be very incorrect on + systems with many schedulers for tables with man locks.</p> + <p> + Own Id: OTP-17832 Aux Id: PR-5494 </p> + </item> + <item> + <p> + Avoid confusion by correcting the argument order in the + gen_event crash log printout.</p> + <p> + Own Id: OTP-17878</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Users can now configure ETS tables with the + <c>{write_concurrency, auto}</c> option. This option + forces tables to automatically change the number of locks + that are used at run-time depending on how much + concurrency is detected. The <c>{decentralized_counters, + true}</c> option is enabled by default when + <c>{write_concurrency, auto}</c> is active.</p> + <p> + Benchmark results comparing this option with the other + ETS optimization options are available here:</p> + <p> + https://erlang.org/bench/ets_bench_result_lock_config.html</p> + <p> + Own Id: OTP-15991 Aux Id: PR-5208 </p> + </item> + <item> + <p> + The <c>format_status/2</c> callback for + <c>gen_server</c>, <c>gen_statem</c> and <c>gen_event</c> + has been deprecated in favor of the new + <c>format_status/1</c> callback.</p> + <p> + The new callback adds the possibility to limit and change + many more things than the just the state, such as the + last received message, the reason for terminating and + more events specific to each type of behavior. See the + respective modules documentation for more details.</p> + <p> + Own Id: OTP-17351 Aux Id: GH-4673 PR-4952 </p> + </item> + <item> + <p>The <c>timer</c> module has been modernized and made + more efficient, which makes the timer server less + susceptible to being overloaded. The <c>timer:sleep/1</c> + function now accepts an arbitrarily large integer.</p> + <p> + Own Id: OTP-17481 Aux Id: PR-4811 </p> + </item> + <item> + <p> + Add <c>lists:enumerate/[1,2]</c>.</p> + <p> + Own Id: OTP-17523 Aux Id: PR-4928 </p> + </item> + <item> + <p> + The configuration files <seecom + marker="erts:erl"><c>.erlang</c></seecom>, <seeguide + marker="system/reference_manual:distributed"><c>.erlang.cookie</c></seeguide> + and <seeerl + marker="stdlib:beam_lib#.erlang.crypt"><c>.erlang.crypt</c></seeerl> + can now be located in the XDG Config Home directory.</p> + <p> + See the documentation for each file and + <c>filename:basedir/2</c> for more details.</p> + <p> + Own Id: OTP-17554 Aux Id: GH-5016 PR-5408 OTP-17821 </p> + </item> + <item> + <p> + Support <c>native</c> time unit in <c>calendar</c> + functions <c>system_time_to_rfc3339/2</c> and + <c>rfc3339_to_system_time</c>.</p> + <p> + Own Id: OTP-17592 Aux Id: ERIERL-663, PR-5243 </p> + </item> + <item> + <p> + The tagged tuple tests and fun-calls have been optimized + and are now a little bit cheaper than previously.</p> + <p> + These optimizations become possible after making sure + that all boxed terms have at least one word allocated + after the arity word. This has been accomplished by + letting all empty tuples refer to the same empty tuple + literal which also reduces memory usage for empty tuples.</p> + <p> + Own Id: OTP-17608</p> + </item> + <item> + <p> + The signal queue benchmark in parallel_messages_SUITE and + the ETS benchmark in ets_SUITE have benchmark result + visualization HTML pages with "fill-screen" buttons to + make the graphs bigger. This button did not work as + intended before. When pressing the button for a graph, + the last graph got replaced with a bigger version and not + the one over the button. This is now fixed.</p> + <p> + Own Id: OTP-17630</p> + </item> + <item> + <p> + The new module <c>peer</c> supersedes the <c>slave</c> + module. The <c>slave</c> module is now deprecated and + will be removed in OTP 27.</p> + <p> + <c>peer</c> contains an extended and more robust API for + starting erlang nodes.</p> + <p> + Own Id: OTP-17720 Aux Id: PR-5162 </p> + </item> + <item> + <p> + This change introduces quote and unquote functions in + uri_string module - a replacement for deprecated encode + and decode functions from http_uri.</p> + <p> + Own Id: OTP-17778 Aux Id: GH-5368 </p> + </item> + <item> + <p> + Update to the Unicode 14.0 specification.</p> + <p> + Own Id: OTP-17869 Aux Id: PR-5595 </p> + </item> + <item> + <p> + The following ets types have been renamed to a clearer + name: <c>tab/0</c> to <c>table/0</c> and + <c>comp_match_spec/0</c> to <c>compiled_match_spec/0</c>.</p> + <p> + The types <c>table_access/0</c> and <c>table_type/0</c> + have been exported.</p> + <p> + Own Id: OTP-17901 Aux Id: GH-4968 PR-5649 </p> + </item> + <item> + <p>The non-local function handler for the <c>erl_eval</c> + can now be called with either two or three arguments. + When called with three arguments, the first argument is + the annotation for the node in the abstract format.</p> + <p>All errors during evaluation will now be passed + through <c>erlang:raise/3</c>. If the restricted shell is + active and it does not let <c>erlang:raise/3</c> through, + evaluation errors will be printed in less clear way. See + the documentation for restricted shell in + <c>shell</c>.</p> + <p> + *** POTENTIAL INCOMPATIBILITY ***</p> + <p> + Own Id: OTP-17925 Aux Id: PR-5631 </p> + </item> + </list> + </section> + +</section> + <section><title>STDLIB 3.17</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/stdlib/doc/src/peer.xml b/lib/stdlib/doc/src/peer.xml index a5b513d810..d67385157f 100644 --- a/lib/stdlib/doc/src/peer.xml +++ b/lib/stdlib/doc/src/peer.xml @@ -31,7 +31,7 @@ <rev></rev> <file>peer.xml</file> </header> - <module since="OTP @OTP-17720@">peer</module> + <module since="OTP 25.0">peer</module> <modulesummary>Start and control linked Erlang nodes. </modulesummary> <description> @@ -384,8 +384,8 @@ <funcs> <func> - <name name="call" arity="4" since="OTP @OTP-17720@"/> - <name name="call" arity="5" since="OTP @OTP-17720@"/> + <name name="call" arity="4" since="OTP 25.0"/> + <name name="call" arity="5" since="OTP 25.0"/> <fsummary>Evaluates a function call on a peer node.</fsummary> <desc> <p> @@ -407,7 +407,7 @@ </func> <func> - <name name="cast" arity="4" since="OTP @OTP-17720@"/> + <name name="cast" arity="4" since="OTP 25.0"/> <fsummary>Evaluates a function call on a peer node ignoring the result.</fsummary> <desc> <p> @@ -425,7 +425,7 @@ </func> <func> - <name name="send" arity="3" since="OTP @OTP-17720@"/> + <name name="send" arity="3" since="OTP 25.0"/> <fsummary>Sends a message to a process on the peer node.</fsummary> <desc> <p> @@ -437,7 +437,7 @@ </func> <func> - <name name="get_state" arity="1" since="OTP @OTP-17720@"/> + <name name="get_state" arity="1" since="OTP 25.0"/> <fsummary>Returns peer node state.</fsummary> <desc> <p>Returns the peer node state. Th initial state is <c>booting</c>; the node stays in that @@ -448,7 +448,7 @@ </func> <func> - <name name="random_name" arity="0" since="OTP @OTP-17720@"/> + <name name="random_name" arity="0" since="OTP 25.0"/> <fsummary>Creates a sufficiently unique node name.</fsummary> <desc> <p> @@ -458,7 +458,7 @@ </func> <func> - <name name="random_name" arity="1" since="OTP @OTP-17720@"/> + <name name="random_name" arity="1" since="OTP 25.0"/> <fsummary>Creates a sufficiently unique node name given a prefix.</fsummary> <desc> <p> @@ -478,7 +478,7 @@ </func> <func> - <name name="start" arity="1" since="OTP @OTP-17720@"/> + <name name="start" arity="1" since="OTP 25.0"/> <fsummary>Starts a peer node.</fsummary> <desc> <p> @@ -491,7 +491,7 @@ </func> <func> - <name name="start_link" arity="0" since="OTP @OTP-17720@"/> + <name name="start_link" arity="0" since="OTP 25.0"/> <fsummary>Starts a peer node, and links controlling process to caller process.</fsummary> <desc> <p> @@ -502,7 +502,7 @@ </func> <func> - <name name="start_link" arity="1" since="OTP @OTP-17720@"/> + <name name="start_link" arity="1" since="OTP 25.0"/> <fsummary>Starts a peer node, and links controlling process to caller process.</fsummary> <desc> <p>Starts a peer node in the same way as <seemfa marker="#start/1"><c>start/1</c></seemfa>, @@ -523,7 +523,7 @@ </func> <func> - <name name="stop" arity="1" since="OTP @OTP-17720@"/> + <name name="stop" arity="1" since="OTP 25.0"/> <fsummary>Stop controlling process and terminate peer node.</fsummary> <desc> <p>Depending on the <c>shutdown</c> option used to start the peer, |