summaryrefslogtreecommitdiff
path: root/lib/stdlib/doc
diff options
context:
space:
mode:
authorErlang/OTP <otp@erlang.org>2022-02-15 19:44:19 +0100
committerErlang/OTP <otp@erlang.org>2022-02-15 19:44:19 +0100
commit95f5a792610ed4c87457863cb03b047414ad4a14 (patch)
tree0d9c35ad1645d1b8a1295c4c7414a9ce9a30e2cd /lib/stdlib/doc
parent7e702ac4b321c4870bdbbfc4c24ac3a5d5d572b5 (diff)
downloaderlang-95f5a792610ed4c87457863cb03b047414ad4a14.tar.gz
Prepare release
Diffstat (limited to 'lib/stdlib/doc')
-rw-r--r--lib/stdlib/doc/src/erl_pp.xml2
-rw-r--r--lib/stdlib/doc/src/gen_event.xml2
-rw-r--r--lib/stdlib/doc/src/gen_server.xml2
-rw-r--r--lib/stdlib/doc/src/gen_statem.xml2
-rw-r--r--lib/stdlib/doc/src/lists.xml4
-rw-r--r--lib/stdlib/doc/src/notes.xml243
-rw-r--r--lib/stdlib/doc/src/peer.xml24
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,