summaryrefslogtreecommitdiff
path: root/lib/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stdlib')
-rw-r--r--lib/stdlib/doc/src/binary.xml4
-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.xml4
-rw-r--r--lib/stdlib/doc/src/maps.xml8
-rw-r--r--lib/stdlib/doc/src/notes.xml452
-rw-r--r--lib/stdlib/doc/src/rand.xml12
-rw-r--r--lib/stdlib/doc/src/shell_docs.xml2
-rw-r--r--lib/stdlib/src/stdlib.app.src2
-rw-r--r--lib/stdlib/src/stdlib.appup.src28
-rw-r--r--lib/stdlib/vsn.mk2
11 files changed, 474 insertions, 44 deletions
diff --git a/lib/stdlib/doc/src/binary.xml b/lib/stdlib/doc/src/binary.xml
index d6118b937a..bdd1000dde 100644
--- a/lib/stdlib/doc/src/binary.xml
+++ b/lib/stdlib/doc/src/binary.xml
@@ -243,7 +243,7 @@
</func>
<func>
- <name name="encode_hex" arity="1" since="OTP @OTP-17236@"/>
+ <name name="encode_hex" arity="1" since="OTP 24.0"/>
<fsummary>Encodes a binary into a hex encoded binary.</fsummary>
<desc>
<p>Encodes a binary into a hex encoded binary.</p>
@@ -257,7 +257,7 @@
</func>
<func>
- <name name="decode_hex" arity="1" since="OTP @OTP-17236@"/>
+ <name name="decode_hex" arity="1" since="OTP 24.0"/>
<fsummary>Decodes a hex encoded binary into a binary.</fsummary>
<desc>
<p>Decodes a hex encoded binary into a binary.</p>
diff --git a/lib/stdlib/doc/src/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml
index 74ae2674ee..aaff07f0b1 100644
--- a/lib/stdlib/doc/src/gen_event.xml
+++ b/lib/stdlib/doc/src/gen_event.xml
@@ -394,7 +394,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name since="OTP @OTP-16718@">receive_response(RequestId, Timeout) -> Result</name>
+ <name since="OTP 24.0">receive_response(RequestId, Timeout) -> Result</name>
<fsummary>Receive for a reply from a server.</fsummary>
<type>
<v>RequestId = request_id()</v>
diff --git a/lib/stdlib/doc/src/gen_server.xml b/lib/stdlib/doc/src/gen_server.xml
index 226fcdaf60..645d612fce 100644
--- a/lib/stdlib/doc/src/gen_server.xml
+++ b/lib/stdlib/doc/src/gen_server.xml
@@ -354,7 +354,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name since="OTP @OTP-16718@">receive_response(RequestId, Timeout) -> Result</name>
+ <name since="OTP 24.0">receive_response(RequestId, Timeout) -> Result</name>
<fsummary>Receive for a reply from a server.</fsummary>
<type>
<v>RequestId = term()</v>
diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml
index 167d7052f2..1fcc104013 100644
--- a/lib/stdlib/doc/src/gen_statem.xml
+++ b/lib/stdlib/doc/src/gen_statem.xml
@@ -1844,8 +1844,8 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="receive_response" arity="1" since="OTP @OTP-16718@"/>
- <name name="receive_response" arity="2" since="OTP @OTP-16718@"/>
+ <name name="receive_response" arity="1" since="OTP 24.0"/>
+ <name name="receive_response" arity="2" since="OTP 24.0"/>
<fsummary>Receive for a reply from a server.</fsummary>
<desc>
<p>
diff --git a/lib/stdlib/doc/src/maps.xml b/lib/stdlib/doc/src/maps.xml
index e596d60aa3..e082ad971b 100644
--- a/lib/stdlib/doc/src/maps.xml
+++ b/lib/stdlib/doc/src/maps.xml
@@ -143,7 +143,7 @@
</func>
<func>
- <name name="foreach" arity="2" since="OTP @OTP-17179@"/>
+ <name name="foreach" arity="2" since="OTP 24.0"/>
<fsummary>Apply a function to each element of a map.</fsummary>
<desc>
<p>Calls <c>fun F(Key, Value)</c> for every <c><anno>Key</anno></c>
@@ -228,7 +228,7 @@ val1
</func>
<func>
- <name name="intersect" arity="2" since="OTP @OTP-16936@"/>
+ <name name="intersect" arity="2" since="OTP 24.0"/>
<fsummary></fsummary>
<desc>
<p>Intersects two maps into a single map
@@ -248,7 +248,7 @@ val1
</func>
<func>
- <name name="intersect_with" arity="3" since="OTP @OTP-16936@"/>
+ <name name="intersect_with" arity="3" since="OTP 24.0"/>
<fsummary></fsummary>
<desc>
<p>Intersects two maps into a single map
@@ -379,7 +379,7 @@ none</code>
</func>
<func>
- <name name="merge_with" arity="3" since="OTP @OTP-16936@"/>
+ <name name="merge_with" arity="3" since="OTP 24.0"/>
<fsummary></fsummary>
<desc>
<p>Merges two maps into a single map
diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml
index 9c60fb860f..82d1e01ff7 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,6 +31,458 @@
</header>
<p>This document describes the changes made to the STDLIB application.</p>
+<section><title>STDLIB 3.15</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>Time-outs in <c>gen_statem</c> with relative time
+ <c>0</c> did not behave quite according to the intended
+ model. This has now been corrected.</p> <p>The correction
+ introduces a small potential incompatibility e.g when
+ combining a state time-out with inserted events, and the
+ inserted event does a state change in the state with the
+ time-out. Before this correction the state time-out could
+ be delivered even after the second state change, but now
+ it is guaranteed that a state time-out is only delivered
+ in the state it was started for, even in this corner
+ case.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-15107 Aux Id: ERL-1381, PR-2813 </p>
+ </item>
+ <item>
+ <p>
+ Fix bugs in <c>erl_eval</c> concerning bitstring
+ comprehensions.</p>
+ <p>
+ Own Id: OTP-16865</p>
+ </item>
+ <item>
+ <p>File names that start with a dot (such as
+ "<c>.gitignore</c>" are now treated as file names and not
+ extensions by <c>filename:extension/1</c> and
+ <c>filename:rootname/1</c>.</p>
+ <p>
+ Own Id: OTP-16905</p>
+ </item>
+ <item>
+ <p>Fixed a bug where <c>beam_lib:chunks/3</c> with the
+ <c>allow_missing_chunks</c> option would crash if a named
+ chunk was missing.</p>
+ <p>
+ Own Id: OTP-16950 Aux Id: ERL-1378 </p>
+ </item>
+ <item>
+ <p>
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure that
+ the minus sign on 0.0 is not lost.</p>
+ <p>
+ Own Id: OTP-17077 Aux Id: ERL-1431, PR-2903, PR-2905,
+ PR-2906 </p>
+ </item>
+ <item>
+ <p>Eliminated a Dialyzer crashed when the <c>-MMD</c>
+ option is used to generate a dependency file and a BEAM
+ file a the same time.</p>
+ <p>
+ Own Id: OTP-17118 Aux Id: PR-2825 </p>
+ </item>
+ <item>
+ <p>
+ Fixed bug in <seeerl
+ marker="stdlib:shell_docs"><c>shell_docs</c></seeerl> and
+ <c>erl_docgen</c> that interpreted <c>em</c> tags as
+ <c>strong</c>.</p>
+ <p>
+ Own Id: OTP-17122</p>
+ </item>
+ <item>
+ <p>On Solaris, the <c>math:acos/1</c> and
+ <c>math:asin/1</c> functions would not fail for arguments
+ outside the valid domain.</p>
+ <p>
+ Own Id: OTP-17133</p>
+ </item>
+ <item>
+ <p>
+ Silence <c>unused_record</c> warnings when using
+ <c>ms_transform</c>. The parse transform
+ <c>ms_transform</c> replaces records with tuples, which
+ can cause the Erlang code linter to emit warnings about
+ unused records.</p>
+ <p>
+ Own Id: OTP-17186</p>
+ </item>
+ <item>
+ <p>Documented a deficiency in the <c>re</c> module
+ regarding the <c>[:ascii:]</c> character class matching
+ Latin-1 characters.</p>
+ <p>
+ Own Id: OTP-17222 Aux Id: GH-4544 </p>
+ </item>
+ <item>
+ <p>
+ Fixed <c>spec</c> of start functions in generic
+ behaviors.</p>
+ <p>
+ Own Id: OTP-17342 Aux Id: GH-4725 PR-4726 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>In the <c>rand</c> module it is now possible to seed
+ the default algorithm using an algorithm alias:
+ <c>default</c>. </p> <p> Generating pseudo random
+ binaries has been implemented with <c>rand:bytes/1</c>
+ and <c>rand:bytes_s/2</c>. </p>
+ <p>
+ Own Id: OTP-14646 Aux Id: PR-2920 </p>
+ </item>
+ <item>
+ <p>
+ New functions have been added to the <c>proplists</c>
+ module: <c>to_map/1,2</c> and <c>from_map/1</c>.</p>
+ <p>
+ Own Id: OTP-14647 Aux Id: PR-2910 </p>
+ </item>
+ <item>
+ <p>
+ New functions have been added to the <c>queue</c> module:
+ <c>all/2</c>, <c>any/2</c>, <c>delete/2</c>,
+ <c>delete_r/2</c>, <c>delete_with/2</c>, and
+ <c>delete_with_r/2</c>.</p>
+ <p>
+ Own Id: OTP-14650 Aux Id: PR-2850 </p>
+ </item>
+ <item>
+ <p>
+ New function have been added to the <c>queue</c> module:
+ <c>fold/2</c> and <c>filtermap/2</c>.</p>
+ <p>
+ Own Id: OTP-14793 Aux Id: PR-2791 </p>
+ </item>
+ <item>
+ <p>
+ Support for handling abstract code created before OTP R15
+ has been dropped.</p>
+ <p>
+ Own Id: OTP-16678 Aux Id: PR-2627 </p>
+ </item>
+ <item>
+ <p>
+ Extended error information for failing BIF calls as
+ proposed in <url
+ href="https://github.com/erlang/eep/blob/master/eeps/eep-0054.md">EEP
+ 54</url> has been implemented.</p>
+ <p>
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by <c>proc_lib</c>, <c>common_test</c>,
+ and <c>qlc</c> when BIF calls fail.</p>
+ <p>
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ <c>erl_error:format_exception/3</c> and
+ <c>erl_error:format_exception/4</c>.</p>
+ <p>
+ There is a new <c>error/3</c> BIF that allows
+ applications or libraries to provide extended error
+ information in the same way for their own exceptions.</p>
+ <p>
+ Own Id: OTP-16686</p>
+ </item>
+ <item>
+ <p>
+ Process aliases as outlined by <url
+ href="https://github.com/erlang/eep/blob/master/eeps/eep-0053.md">EEP
+ 53</url> has been introduced. Process aliases is
+ introduced in order to provide a lightweight mechanism
+ that can prevent late replies after timeout or connection
+ loss. For more information, see EEP 53 and the
+ documentation of the new <seemfa
+ marker="erts:erlang#alias/1"><c>alias/1</c></seemfa> BIF
+ and the new options to the <seemfa
+ marker="erts:erlang#monitor/3"><c>monitor/3</c></seemfa>
+ BIF.</p>
+ <p>
+ The <c>call</c> operation in the framework used by
+ <c>gen_server</c>, <c>gen_statem</c>, and
+ <c>gen_event</c> has been updated to utilize alias in
+ order to prevent late responses. The <c>gen_statem</c>
+ behavior still use a proxy process in the distributed
+ case, since it has always prevented late replies and
+ aliases wont work against pre OTP 24 nodes. The proxy
+ process can be removed in OTP 26.</p>
+ <p>
+ The alias feature also made it possible to introduce new
+ functions similar to the <seemfa
+ marker="kernel:erpc#receive_response/2"><c>erpc:receive_response()</c></seemfa>
+ function in the gen behaviors, so the new functions
+ <seemfa
+ marker="stdlib:gen_server#receive_response/2"><c>gen_server:receive_response()</c></seemfa>,
+ <seemfa
+ marker="stdlib:gen_statem#receive_response/2"><c>gen_statem:receive_response()</c></seemfa>,
+ <seemfa
+ marker="stdlib:gen_event#receive_response/2"><c>gen_event:receive_response()</c></seemfa>
+ have also been introduced.</p>
+ <p>
+ Own Id: OTP-16718 Aux Id: PR-2735 </p>
+ </item>
+ <item>
+ <p>
+ Improved documentation about exit signals emitted when a
+ <c>gen_server</c> terminates.</p>
+ <p>
+ Own Id: OTP-16910 Aux Id: PR-2771 </p>
+ </item>
+ <item>
+ <p>
+ New functions have been added to the <c>maps</c> module:
+ <c>merge_with/3</c>, <c>intersect/2</c>,
+ <c>intersect_with/3</c>, <c>filtermap/2</c>,
+ <c>from_keys/2</c>, and <c>maps:foreach/2</c>.</p>
+ <p>
+ <c>maps:merge_with/3</c> is the same as <c>merge/2</c>
+ but takes an extra fun that is used to combine items with
+ the same key.</p>
+ <p>
+ <c>maps:intersect/2</c> computes the intersection of two
+ maps.</p>
+ <p>
+ <c>maps:intersect_with/3</c> is the same as
+ <c>intersect/2</c> but takes an extra fun that is used to
+ combine intersecting items.</p>
+ <p>
+ <c>maps:filtermap/2</c> allows filtering and mapping of a
+ map in a single pass.</p>
+ <p>
+ <c>maps:from_keys/2</c> constructs a map from a list of
+ keys and a single value and can be used to to optimize
+ sets operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.</p>
+ <p>
+ <c>maps:foreach/2</c> allows iteration over a map without
+ returning any value.</p>
+ <p>
+ Own Id: OTP-16936 Aux Id: ERL-1367 </p>
+ </item>
+ <item>
+ <p>The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16963</p>
+ </item>
+ <item>
+ <p>
+ The <c>filename:src/1</c> function which was deprecated
+ in OTP 20 has been removed. Use
+ <c>filelib:find_source/1,3</c> instead.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-16971</p>
+ </item>
+ <item>
+ <p>
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.</p>
+ <p>
+ Own Id: OTP-16980 Aux Id: ERL-1308 </p>
+ </item>
+ <item>
+ <p>
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP release.</p>
+ <p>
+ Own Id: OTP-17005 Aux Id: OTP-16718 </p>
+ </item>
+ <item>
+ <p>
+ Add option <c>location</c> to
+ <c>erl_parse:abstract/2</c>.</p>
+ <p>
+ Own Id: OTP-17024</p>
+ </item>
+ <item>
+ <p>
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ <c>maps:from_list/1</c>, <c>maps:keys/1</c> and
+ <c>maps:values/1</c> did not yield. This could cause
+ unfair scheduling of processes.</p>
+ <p>
+ Own Id: OTP-17057</p>
+ </item>
+ <item>
+ <p>The <c>sets</c> module now has an optional map-based
+ implementation, as described in <c>EEP 50</c>.</p>
+ <p>To use this implementation, pass the
+ <c>{version,2}</c> option to <c>sets:new/1</c> or
+ <c>sets:from_list/2</c>.</p>
+ <p>
+ Own Id: OTP-17059 Aux Id: PR-2864 </p>
+ </item>
+ <item>
+ <p>
+ Added <seemfa
+ marker="shell_docs#supported_tags/0"><c>shell_docs:supported_tags/0</c></seemfa>.
+ This function can be used to retrieve the tags currently
+ supported by <c>shell_docs</c>.</p>
+ <p>
+ Own Id: OTP-17120</p>
+ </item>
+ <item>
+ <p>
+ The <c>application/erlang+html</c> documentation storage
+ format used by <seeerl
+ marker="shell_docs"><c>shell_docs</c></seeerl> has been
+ updated to include the tags <c>b</c>, <c>strong</c>,
+ <c>h4</c>, <c>h5</c> and <c>h6</c>.</p>
+ <p>
+ Own Id: OTP-17121</p>
+ </item>
+ <item>
+ <p>
+ Do not pretty-print <c>catch</c> expressions with
+ unnecessary parentheses. The re-write of the Erlang
+ parser grammar in PR-2584 implies that parentheses around
+ <c>catch</c> expressions are in many cases no longer
+ required.</p>
+ <p>
+ Own Id: OTP-17169 Aux Id: PR-2584 </p>
+ </item>
+ <item>
+ <p>
+ Improved explanation of <c>{continue,Continue}</c> in
+ <c>Module:init/1</c> of the <c>gen_server</c>
+ documentation.</p>
+ <p>
+ Own Id: OTP-17171 Aux Id: PR-3011 </p>
+ </item>
+ <item>
+ <p>The <c>erl_eval</c> module now accepts a map for
+ keeping track of bindings. Using an <c>orddict</c> for
+ bindings will still work.</p>
+ <p>
+ Own Id: OTP-17175</p>
+ </item>
+ <item>
+ <p>Documented <c>epp:scan_erl_form/1</c> and added
+ <c>epp:scan_file/2</c>.</p>
+ <p>
+ Own Id: OTP-17199 Aux Id: PR-2658 </p>
+ </item>
+ <item>
+ <p>
+ The standard floating point printing algorithm used by
+ the <c>io</c> and <c>io_lib</c> modules has been changed
+ from the algorithm described in [1] to the Ryu algorithm
+ [2]. This gives a significant speed improvement for the
+ printing of most floating point numbers and a small
+ memory consumption improvement.</p>
+ <p>
+ [1]: Robert G. Burger and R. Kent Dybvig. 1996. Printing
+ floating-point numbers quickly and accurately. In
+ Proceedings of the ACM SIGPLAN 1996 conference on
+ Programming language design and implementation (PLDI
+ '96). Association for Computing Machinery, New York, NY,
+ USA, 108–116. DOI:https://doi.org/10.1145/231379.231397</p>
+ <p>
+ [2]: Ulf Adams. 2018. Ryū: fast float-to-string
+ conversion. In Proceedings of the 39th ACM SIGPLAN
+ Conference on Programming Language Design and
+ Implementation (PLDI 2018). Association for Computing
+ Machinery, New York, NY, USA, 270–282.
+ DOI:https://doi.org/10.1145/3192366.3192369</p>
+ <p>
+ Thanks to Thomas Depierre</p>
+ <p>
+ Own Id: OTP-17210</p>
+ </item>
+ <item>
+ <p>
+ Add hex encoding and decoding functions in the binary
+ module.</p>
+ <p>
+ Own Id: OTP-17236 Aux Id: PR-3014 </p>
+ </item>
+ <item>
+ <p>The undocumented and partially broken
+ <c>ets:filter/3</c> function has been removed.</p>
+ <p>
+ Own Id: OTP-17263</p>
+ </item>
+ <item>
+ <p>
+ Add support in <seeerl
+ marker="shell_docs"><c>shell_docs</c></seeerl> to display
+ any <c>"text"</c> documentation format. This means that
+ <c>h(Module)</c> in the shell now can display the
+ <c>"text/markdown"</c> of Elixir documentation.</p>
+ <p>
+ Own Id: OTP-17267</p>
+ </item>
+ <item>
+ <p>
+ The internal hashing of keys within ETS tables of types
+ <c>set</c>, <c>bag</c>, <c>duplicate_bag</c> has been
+ salted to diverge from <c>erlang:phash2</c>. This to
+ avoid bad hashing if <c>phash2</c> is used to distribute
+ the keys over separate tables/nodes.</p>
+ <p>
+ Own Id: OTP-17276 Aux Id: PR-2979 </p>
+ </item>
+ <item>
+ <p>
+ Updated to the Unicode 13.0 specification.</p>
+ <p>
+ Own Id: OTP-17327 Aux Id: PR-4707 </p>
+ </item>
+ <item>
+ <p>
+ Add compiler option <c>{nowarn_unused_record,
+ RecordNames}</c>. Document compiler option
+ <c>nowarn_unused_type</c>.</p>
+ <p>
+ Own Id: OTP-17330</p>
+ </item>
+ <item>
+ <p>
+ Implementation of <url
+ href="https://github.com/erlang/eep/blob/master/eeps/eep-0056.md">EEP
+ 56</url> in supervisor. It adds the concept of
+ <c>significant</c> children as well as the
+ <c>auto_shutdown</c> supervisor flag.</p>
+ <p>
+ See the <seeerl marker="stdlib:supervisor">supervisor
+ manual page</seeerl> for more information.</p>
+ <p>
+ Own Id: OTP-17334 Aux Id: PR-4638, EEP-56 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>STDLIB 3.14.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/stdlib/doc/src/rand.xml b/lib/stdlib/doc/src/rand.xml
index bae50d2582..3e811d2d4e 100644
--- a/lib/stdlib/doc/src/rand.xml
+++ b/lib/stdlib/doc/src/rand.xml
@@ -380,7 +380,7 @@ tests. We suggest to use a sign test to extract a random Boolean value.</pre>
<funcs>
<func>
- <name name="bytes" arity="1" since="OTP @OTP-14646@"/>
+ <name name="bytes" arity="1" since="OTP 24.0"/>
<fsummary>Return a random binary.</fsummary>
<desc><marker id="bytes-1"/>
<p>
@@ -394,7 +394,7 @@ tests. We suggest to use a sign test to extract a random Boolean value.</pre>
</func>
<func>
- <name name="bytes_s" arity="2" since="OTP @OTP-14646@"/>
+ <name name="bytes_s" arity="2" since="OTP 24.0"/>
<fsummary>Return a random binary.</fsummary>
<desc><marker id="bytes-1"/>
<p>
@@ -493,7 +493,7 @@ tests. We suggest to use a sign test to extract a random Boolean value.</pre>
<func>
<name name="seed" arity="1" clause_i="1" since="OTP 18.0"/>
- <name name="seed" arity="1" clause_i="2" since="OTP @OTP-14646@"/>
+ <name name="seed" arity="1" clause_i="2" since="OTP 24.0"/>
<fsummary>Seed random number generator.</fsummary>
<desc>
<marker id="seed-1"/>
@@ -515,7 +515,7 @@ tests. We suggest to use a sign test to extract a random Boolean value.</pre>
<func>
<name name="seed" arity="2" clause_i="1" since="OTP 18.0"/>
- <name name="seed" arity="2" clause_i="2" since="OTP @OTP-14646@"/>
+ <name name="seed" arity="2" clause_i="2" since="OTP 24.0"/>
<fsummary>Seed the random number generation.</fsummary>
<desc>
<p>
@@ -532,7 +532,7 @@ tests. We suggest to use a sign test to extract a random Boolean value.</pre>
<func>
<name name="seed_s" arity="1" clause_i="1" since="OTP 18.0"/>
- <name name="seed_s" arity="1" clause_i="2" since="OTP @OTP-14646@"/>
+ <name name="seed_s" arity="1" clause_i="2" since="OTP 24.0"/>
<fsummary>Seed random number generator.</fsummary>
<desc>
<p>
@@ -553,7 +553,7 @@ tests. We suggest to use a sign test to extract a random Boolean value.</pre>
<func>
<name name="seed_s" arity="2" clause_i="1" since="OTP 18.0"/>
- <name name="seed_s" arity="2" clause_i="2" since="OTP @OTP-14646@"/>
+ <name name="seed_s" arity="2" clause_i="2" since="OTP 24.0"/>
<fsummary>Seed the random number generation.</fsummary>
<desc>
<p>
diff --git a/lib/stdlib/doc/src/shell_docs.xml b/lib/stdlib/doc/src/shell_docs.xml
index ed250f7b03..0b64c01d72 100644
--- a/lib/stdlib/doc/src/shell_docs.xml
+++ b/lib/stdlib/doc/src/shell_docs.xml
@@ -182,7 +182,7 @@ Since:
</func>
<func>
- <name name="supported_tags" arity="0" since="OTP @OTP-17120@"/>
+ <name name="supported_tags" arity="0" since="OTP 24.0"/>
<fsummary>Which tags are supported</fsummary>
<desc>
<p>This function can be used to find out which tags are
diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src
index a906349463..f03aab50b6 100644
--- a/lib/stdlib/src/stdlib.app.src
+++ b/lib/stdlib/src/stdlib.app.src
@@ -111,6 +111,6 @@
dets]},
{applications, [kernel]},
{env, []},
- {runtime_dependencies, ["sasl-3.0","kernel-7.0","erts-@OTP-16718@","crypto-3.3",
+ {runtime_dependencies, ["sasl-3.0","kernel-7.0","erts-12.0","crypto-3.3",
"compiler-5.0"]}
]}.
diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src
index bba0d1ceee..64bce598d1 100644
--- a/lib/stdlib/src/stdlib.appup.src
+++ b/lib/stdlib/src/stdlib.appup.src
@@ -19,9 +19,9 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 21
%% - OTP 22
%% - OTP 23
+%% - OTP 24
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
@@ -43,18 +43,7 @@
{<<"^3\\.13\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.14$">>,[restart_new_emulator]},
{<<"^3\\.14\\.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]},
- {<<"^3\\.6$">>,[restart_new_emulator]},
- {<<"^3\\.6\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.7$">>,[restart_new_emulator]},
- {<<"^3\\.7\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.7\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.8$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^3\\.14\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.9$">>,[restart_new_emulator]},
{<<"^3\\.9\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.9\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
@@ -74,18 +63,7 @@
{<<"^3\\.13\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.14$">>,[restart_new_emulator]},
{<<"^3\\.14\\.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]},
- {<<"^3\\.6$">>,[restart_new_emulator]},
- {<<"^3\\.6\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.7$">>,[restart_new_emulator]},
- {<<"^3\\.7\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.7\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.8$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.8\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^3\\.14\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.9$">>,[restart_new_emulator]},
{<<"^3\\.9\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.9\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk
index e234b0cd58..67431a45ed 100644
--- a/lib/stdlib/vsn.mk
+++ b/lib/stdlib/vsn.mk
@@ -1 +1 @@
-STDLIB_VSN = 3.14.1
+STDLIB_VSN = 3.15