aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stdlib/doc/src')
-rw-r--r--lib/stdlib/doc/src/notes.xml393
1 files changed, 0 insertions, 393 deletions
diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml
index b925fa3b02..e26c4aba74 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,399 +31,6 @@
</header>
<p>This document describes the changes made to the STDLIB application.</p>
-<section><title>STDLIB 3.5</title>
-
- <section><title>Fixed Bugs and Malfunctions</title>
- <list>
- <item>
- <p><c>gen_statem</c> improvements.</p> <p> When using an
- exception that is valid but not allowed in a state enter
- call, the reason has been changed from
- <c>{bad_action_from_state_function,Action}</c> to
- <c>{bad_state_enter_action_from_state_function,Action}</c>.
- </p><p> Timer parsing has been improved. Many erroneous
- timeout tuples was not handled correctly. </p><p> The
- documentation has been updated, in particular the User's
- Guide and the pointer to it from the Reference Manual is
- much more obvious. </p>
- <p>
- Own Id: OTP-14015</p>
- </item>
- <item>
- <p>
- The type specifications for <c>file:posix/0</c> and
- <c>inet:posix/0</c> have been updated according to which
- errors file and socket operations should be able to
- return.</p>
- <p>
- Own Id: OTP-14019 Aux Id: ERL-550 </p>
- </item>
- <item>
- <p> File operations used to accept <seealso
- marker="kernel:file#type-name_all">filenames</seealso>
- containing null characters (integer value zero). This
- caused the name to be truncated and in some cases
- arguments to primitive operations to be mixed up.
- Filenames containing null characters inside the filename
- are now <em>rejected</em> and will cause primitive file
- operations to fail. </p> <p> Also environment variable
- operations used to accept <seealso
- marker="kernel:os#type-env_var_name">names</seealso> and
- <seealso
- marker="kernel:os#type-env_var_value">values</seealso> of
- environment variables containing null characters (integer
- value zero). This caused operations to silently produce
- erroneous results. Environment variable names and values
- containing null characters inside the name or value are
- now <em>rejected</em> and will cause environment variable
- operations to fail. </p> <p>Primitive environment
- variable operations also used to accept the <c>$=</c>
- character in environment variable names causing various
- problems. <c>$=</c> characters in environment variable
- names are now also <em>rejected</em>. </p> <p>Also
- <seealso
- marker="kernel:os#cmd/1"><c>os:cmd/1</c></seealso> now
- reject null characters inside its <seealso
- marker="kernel:os#type-os_command">command</seealso>.
- </p> <p><seealso
- marker="erts:erlang#open_port/2"><c>erlang:open_port/2</c></seealso>
- will also reject null characters inside the port name
- from now on.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-14543 Aux Id: ERL-370 </p>
- </item>
- <item>
- <p> Make <c>io_lib:unscan_format/1</c> work with pad char
- and default precision. </p>
- <p>
- Own Id: OTP-14958 Aux Id: PR-1735 </p>
- </item>
- <item>
- <p> The control sequence modifiers <c>t</c> and <c>l</c>
- can be used together in the same control sequence which
- makes it possible to have Unicode atoms and no detection
- of printable character lists at the same time. </p>
- <p>
- Own Id: OTP-14971 Aux Id: PR-1743 </p>
- </item>
- <item>
- <p> Fix a bug in the Erlang code linter: the check of
- guard expressions no longer returns <c>false</c> if the
- map syntax is used. The bug affected the Erlang shell,
- the Debugger, and other modules evaluating abstract code.
- </p>
- <p>
- Own Id: OTP-15035 Aux Id: ERL-613 </p>
- </item>
- <item>
- <p>
- A sys debug fun of type {Fun,State} should not be
- possible to install twice. This was, however, possible if
- the current State was 'undefined', which was mistaken for
- non-existing fun. This has been corrected.</p>
- <p>
- Own Id: OTP-15049</p>
- </item>
- </list>
- </section>
-
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- The <c>gen_server</c> has gotten a new callback
- <c>handle_continue/2</c> for check pointing the state.
- This is useful at least when implementing behaviours on
- top of <c>gen_server</c> and for some start up scenarios.</p>
- <p>
- Own Id: OTP-13019 Aux Id: PR-1490 </p>
- </item>
- <item>
- <p> The semantics of timeout parameter
- <c>{clean_timeout,infinity}</c> to
- <c>gen_statem:call/3</c> has been changed to use a proxy
- process for the call. With this change
- <c>clean_timeout</c> implicates a proxy process with no
- exceptions. This may be a hard to observe
- incompatibility: in the presence of network problems a
- late reply could arrive in the caller's message queue
- when catching errors. That will not happen after this
- correction. </p><p> The semantics of timeout parameter
- <c>infinity</c> has not been changed. </p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-13073 Aux Id: PR-1595 </p>
- </item>
- <item>
- <p>A new logging API is added to Erlang/OTP, see the
- <seealso
- marker="kernel:logger"><c>logger(3)</c></seealso> manual
- page, and section <seealso
- marker="kernel:logger_chapter">Logging</seealso> in the
- Kernel User's Guide.</p>
- <p>Calls to <c>error_logger</c> are automatically
- redirected to the new API, and legacy error logger event
- handlers can still be used. It is, however, recommended
- to use the Logger API directly when writing new code.</p>
- <p>Notice the following potential incompatibilities:</p>
- <list> <item><p>Kernel configuration parameters
- <c>error_logger</c> still works, but is overruled if the
- default handler's output destination is configured with
- Kernel configuration parameter <c>logger</c>.</p> <p>In
- general, parameters for configuring error logger are
- overwritten by new parameters for configuring
- Logger.</p></item> <item><p>The concept of SASL error
- logging is deprecated, meaning that by default the SASL
- application does not affect which log events are
- logged.</p> <p>By default, supervisor reports and crash
- reports are logged by the default Logger handler started
- by Kernel, and end up at the same destination (terminal
- or file) as other standard log event from Erlang/OTP.</p>
- <p>Progress reports are not logged by default, but can be
- enabled with the Kernel configuration parameter
- <c>logger_progress_reports</c>.</p> <p>To obtain
- backwards compatibility with the SASL error logging
- functionality from earlier releases, set Kernel
- configuration parameter <c>logger_sasl_compatible</c> to
- <c>true</c>. This prevents the default Logger handler
- from logging any supervisor-, crash-, or progress
- reports. Instead, SASL adds a separate Logger handler
- during application start, which takes care of these log
- events. The SASL configuration parameters
- <c>sasl_error_logger</c> and <c>sasl_errlog_type</c>
- specify the destination (terminal or file) and severity
- level to log for these events.</p></item></list>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-13295</p>
- </item>
- <item>
- <p> Add functions
- <c>calendar:system_time_to_local_time/2</c> and
- <c>calendar:system_time_to_universal_time/2</c>. </p>
- <p>
- Own Id: OTP-13413</p>
- </item>
- <item>
- <p> Functions <c>rand:uniform_real/0</c> and
- <c>rand:uniform_real_s/1</c> have been added. They
- produce uniformly distributed numbers in the range <c>0.0
- =&lt; X &lt; 1.0</c> that are as close to random real
- numbers as Normalized IEEE 754 Double Precision allows.
- Because the random real number exactly <c>0.0</c> is
- infinitely improbable they will never return exactly
- <c>0.0</c>. </p><p> These properties are useful when you
- need to call for example <c>math:log(X)</c> or <c>1 /
- X</c> on a random value <c>X</c>, since that will never
- fail with a number from these new functions. </p>
- <p>
- Own Id: OTP-13764 Aux Id: PR-1574 </p>
- </item>
- <item>
- <p>
- Added maps:iterator/0 and maps:next/1 to be used for
- iterating over the key-value associations in a map.</p>
- <p>
- Own Id: OTP-14012</p>
- </item>
- <item>
- <p>Changed the default behaviour of <c>.erlang</c>
- loading: <c>.erlang</c> is no longer loaded from the
- current directory. <c>c:erlangrc(PathList)</c> can be
- used to search and load an <c>.erlang</c> file from user
- specified directories.</p> <p><c>escript</c>,
- <c>erlc</c>, <c>dialyzer</c> and <c>typer</c> no longer
- load an <c>.erlang</c> at all.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-14439</p>
- </item>
- <item>
- <p>
- Added new uri_string module to stdlib for handling URIs
- (RFC 3986).</p>
- <p>
- Own Id: OTP-14496</p>
- </item>
- <item>
- <p>
- Update Unicode specification to version 10.0.</p>
- <p>
- Own Id: OTP-14503</p>
- </item>
- <item>
- <p><c>filelib:wildcard()</c> now allows characters with a
- special meaning to be escaped using backslashes.</p>
- <p>This is an incompatible change, but note that the use
- of backslashes in wildcards would already work
- differently on Windows and Unix. Existing calls to
- <c>filelib:wildcard()</c> needs to be updated. On
- Windows, directory separators must always be written as a
- slash.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-14577</p>
- </item>
- <item>
- <p>
- The supervisor now stores its child specifications in a
- map instead of a list. This causes a significant
- improvement when starting many children under a
- non-simple_one_for_one supervisor.</p>
- <p>
- Own Id: OTP-14586</p>
- </item>
- <item>
- <p> The <c>base64</c> module is optimized. </p> <p> Note
- that the functions <c>encode/1</c>, <c>decode/1</c>, and
- <c>mime_decode/1</c> fail unless called with an argument
- of the documented type. They used to accept any
- <c>iodata()</c>. </p>
- <p>
- Own Id: OTP-14624 Aux Id: PR-1565 </p>
- </item>
- <item>
- <p> Add function <c>lists:search/2</c>. </p>
- <p>
- Own Id: OTP-14675 Aux Id: PR-102 </p>
- </item>
- <item>
- <p>
- uri_string module extended with functions for handling
- application/x-www-form-urlencoded query strings based on
- the HTML5 specification.</p>
- <p>
- Own Id: OTP-14747</p>
- </item>
- <item>
- <p> Add functions
- <c>calendar:rfc3339_to_system_time/1,2</c> and
- <c>calendar:system_time_to_rfc3339/1,2</c>. </p>
- <p>
- Own Id: OTP-14764</p>
- </item>
- <item>
- <p> The stack traces returned by the functions of the
- <c>erl_eval</c> module more accurately reflect where the
- exception occurred. </p>
- <p>
- Own Id: OTP-14826 Aux Id: PR 1540 </p>
- </item>
- <item>
- <p> Add options <c>atime</c>, <c>mtime</c>, <c>ctime</c>,
- <c>uid</c>, and <c>gid</c> to the <c>erl_tar:add/3,4</c>
- functions. </p>
- <p>
- Own Id: OTP-14834 Aux Id: PR 1608 </p>
- </item>
- <item>
- <p>Added <c>ets:whereis/1</c> for retrieving the table
- identifier of a named table.</p>
- <p>
- Own Id: OTP-14884</p>
- </item>
- <item>
- <p>
- Improved URI normalization functions in the uri_string
- module.</p>
- <p>
- Own Id: OTP-14910</p>
- </item>
- <item>
- <p> The new functions <c>io_lib:fwrite/3</c> and
- <c>io_lib:format/3</c> take a third argument, an option
- list. The only option is <c>chars_limit</c>, which is
- used for limiting the number of returned characters. The
- limit is soft, which means that the number of returned
- characters exceeds the limit with at most a smallish
- amount. If the limit is set, the functions
- <c>format/3</c> and <c>fwrite/3</c> try to distribute the
- number of characters evenly over the control sequences
- <c>pPswW</c>. Furthermore, the control sequences
- <c>pPwP</c> try to distribute the number of characters
- evenly over substructures. </p> <p> A modification of the
- control sequences <c>pPwW</c> is that even if there is no
- limit on the number of returned characters, all
- associations of a map are printed to the same depth. The
- aim is to give a more consistent output as the order of
- map keys is not defined. As before, if the depth is less
- than the number of associations of a map, the selection
- of associations to print is arbitrary. </p>
- <p>
- Own Id: OTP-14983</p>
- </item>
- <item>
- <p> Add functions <c>ordsets:is_empty/1</c> and
- <c>sets:is_empty/1</c>. </p>
- <p>
- Own Id: OTP-14996 Aux Id: ERL-557, PR-1703 </p>
- </item>
- <item>
- <p>
- Improve performance of <c>string:uppercase/1</c>,
- <c>string:lowercase/1</c> and <c>string:casefold/1</c>
- when handling ASCII characters.</p>
- <p>
- Own Id: OTP-14998</p>
- </item>
- <item>
- <p>External funs with literal values for module, name,
- and arity (e.g. <c>erlang:abs/1</c>) are now treated as
- literals. That means more efficient code that produces
- less garbage on the heap.</p>
- <p>
- Own Id: OTP-15003</p>
- </item>
- <item>
- <p>
- sys:statistics(Pid,get) did not report 'out' messages
- from gen_server. This is now corrected.</p>
- <p>
- Own Id: OTP-15047</p>
- </item>
- <item>
- <p>
- A sys debug function can now have the format
- {Id,Fun,State} in addition to the old {Fun,State}. This
- allows installing multiple instances of a debug fun.</p>
- <p>
- Own Id: OTP-15048</p>
- </item>
- <item>
- <p> The <c>lib</c> module is removed:</p> <list
- type="bulleted"> <item><c>lib:error_message/2</c> is
- removed.</item> <item><c>lib:flush_receive/0</c> is
- removed.</item> <item><c>lib:nonl/1</c> is
- removed.</item> <item><c>lib:progname/0</c> is replaced
- by <c>ct:get_progname/0</c>.</item>
- <item><c>lib:send/2</c> is removed.</item>
- <item><c>lib:sendw/2</c> is removed.</item> </list>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-15072 Aux Id: PR 1786 </p>
- </item>
- <item>
- <p>
- Function <c>ets:delete_all_objects/1</c> now yields the
- scheduler thread for large tables that take significant
- time to clear. This to improve real time characteristics
- of other runnable processes.</p>
- <p>
- Own Id: OTP-15078</p>
- </item>
- </list>
- </section>
-
-</section>
-
<section><title>STDLIB 3.4.5</title>
<section><title>Fixed Bugs and Malfunctions</title>