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.xml412
1 files changed, 0 insertions, 412 deletions
diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml
index fad0896d9b..a8a252cb35 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,418 +31,6 @@
</header>
<p>This document describes the changes made to the STDLIB application.</p>
-<section><title>STDLIB 3.4</title>
-
- <section><title>Fixed Bugs and Malfunctions</title>
- <list>
- <item>
- <p>For many releases, it has been legal to override a BIF
- with a local function having the same name. However,
- calling a local function with the same name as guard BIF
- as filter in a list comprehension was not allowed.</p>
- <p>
- Own Id: OTP-13690</p>
- </item>
- <item>
- <p> A new (default) pseudo-random number generator
- algorithm Xoroshiro116+ has been implemented in the
- <c>rand</c> module. </p><p> The old algorithm
- implementations had a number of flaws so they are all
- deprecated, but corrected versions of two of them have
- been added. See the documentation. </p>
- <p>
- Own Id: OTP-14295 Aux Id: PR-1372 </p>
- </item>
- <item>
- <p> The Erlang shell, <c>qlc:string_to_handle()</c>, and
- the Debugger (the Evaluator area and Edit variable window
- of the Bindings area) can parse pids, ports, references,
- and external funs, as long as they can be created in the
- running system. </p>
- <p>
- Own Id: OTP-14296</p>
- </item>
- <item>
- <p>Internal code change: Calls to <c>catch</c> followed
- by a call to <c>erlang:get_stacktrace/0</c> has been
- rewritten to use <c>try</c> instead of <c>catch</c> to
- make the code future-proof.</p>
- <p>
- Own Id: OTP-14400</p>
- </item>
- <item>
- <p> The state machine engine <c>gen_statem</c> can now
- handle generic time-outs (multiple named) as well as
- absolute time-out time. See the documentation. </p><p>
- The <c>gen_statem</c> callback <c>Module:init/1</c> has
- become mandatory to harmonize with other <c>gen_*</c>
- modules. This may be an incompatibility for
- <c>gen_statem</c> callback modules that use
- <c>gen_statem:enter_loop/4-6</c>. </p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-14531</p>
- </item>
- </list>
- </section>
-
-
- <section><title>Improvements and New Features</title>
- <list>
- <item>
- <p>
- Improved unicode support for strings. Added normalization
- functions in the <c>unicode</c> module. Extended the
- <c>string</c> module API with new functions with improved
- unicode handling and that works on grapheme clusters. The
- new functions operates on the <c>unicode:chardata()</c>
- type, thus they also accept <c>UTF-8 binaries</c> as
- input. </p>
- <p>
- The old string API have been marked as obsolete. The
- return values have been changed for some error cases.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-10289 Aux Id: OTP-10309 </p>
- </item>
- <item>
- <p>There are two new guard BIFs '<c>floor/1</c>' and
- '<c>ceil/1</c>'. They both return integers. In the
- '<c>math</c>' module, there are two new BIFs with the
- same names that return floating point values.</p>
- <p>
- Own Id: OTP-13692</p>
- </item>
- <item>
- <p>
- Making code_change, terminate and handle_info callbacks
- optional in the OTP behaviours.</p>
- <p>
- Own Id: OTP-13801</p>
- </item>
- <item>
- <p> The support for Dets files created with Erlang/OTP R7
- and earlier is removed. </p>
- <p>
- Own Id: OTP-13830</p>
- </item>
- <item>
- <p>Replaced usage of deprecated symbolic <seealso
- marker="erts:erlang#type-time_unit"><c>time
- unit</c></seealso> representations.</p>
- <p>
- Own Id: OTP-13831 Aux Id: OTP-13735 </p>
- </item>
- <item>
- <p>The function <c>fmod/2</c> has been added to the
- <c>math</c> module.</p>
- <p>
- Own Id: OTP-14000</p>
- </item>
- <item>
- <p>The EXIT signals received from processes using
- <c>proc_lib</c> now looks like EXIT signals from
- processes that were spawned using <c>spawn_link</c>. In
- particular, that means that the stack trace is now
- included in the EXIT signal so that it can see where the
- process crashed.</p>
- <p>
- Own Id: OTP-14001</p>
- </item>
- <item>
- <p><c>sets:add_element/2</c> is faster when adding an
- element that is already present, and
- <c>sets:del_element/2</c> is faster when the element to
- be deleted is not present. This optimization can make
- certain operations, such as sets:union/2 with many
- overlapping elements, up to two orders of magnitude
- faster.</p>
- <p>
- Own Id: OTP-14035</p>
- </item>
- <item>
- <p>
- Add information in doc about supervisor shutdown reason
- when maximum restart frequency is reached.</p>
- <p>
- Own Id: OTP-14037 Aux Id: PR-1233 </p>
- </item>
- <item>
- <p>
- Added <c>rand:jump/[0|1]</c> functions.</p>
- <p>
- Own Id: OTP-14038 Aux Id: PR-1235 </p>
- </item>
- <item>
- <p>Functions for detecting changed code has been added.
- <c>code:modified_modules/0</c> returns all currently
- loaded modules that have changed on disk.
- <c>code:module_status/1</c> returns the status for a
- module. In the shell and in <c>c</c> module, <c>mm/0</c>
- is short for <c>code:modified_modules/0</c>, and
- <c>lm/0</c> reloads all currently loaded modules that
- have changed on disk.</p>
- <p>
- Own Id: OTP-14059</p>
- </item>
- <item>
- <p>Each assert macro in <c>assert.hrl</c> now has a
- corresponding version with an extra argument, for adding
- comments to assertions. These can for example be printed
- as part of error reports, to clarify the meaning of the
- check that failed.</p>
- <p>
- Own Id: OTP-14066</p>
- </item>
- <item>
- <p><c>error_logger_tty_h</c> and
- <c>error_logger_file_h</c> now inserts the node
- information for nonlocal messages before the message
- itself instead of after, both for readability and so as
- not to change the line termination property at the end of
- the message.</p>
- <p>
- Own Id: OTP-14068</p>
- </item>
- <item>
- <p>The Erlang code linter checks for badly formed type
- constraints. </p>
- <p>
- Own Id: OTP-14070 Aux Id: PR-1214 </p>
- </item>
- <item>
- <p>By default, there will now be a warning when
- <c>export_all</c> is used. The warning can be disabled
- using <c>nowarn_export_all</c>.</p>
- <p>
- Own Id: OTP-14071</p>
- </item>
- <item>
- <p>When a <c>gen_server</c> process crashes, the
- stacktrace for the client will be printed to facilitate
- debugging.</p>
- <p>
- Own Id: OTP-14089</p>
- </item>
- <item>
- <p>
- Optimized ETS operations by changing table identifier
- type from integer to reference. The reference enables a
- more direct mapping to the table with less potential lock
- contention and makes especially creation and deletion of
- tables scale much better.</p>
- <p>
- The change of the opaque type for the ETS table
- identifiers may cause failure in code that make faulty
- assumptions about this opaque type.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-14094</p>
- </item>
- <item>
- <p><c>take/2</c> has been added to <c>dict</c>,
- <c>orddict</c>, and <c>gb_trees</c>. <c>take_any/2</c>
- has been added to <c>gb_trees</c>.</p>
- <p>
- Own Id: OTP-14102</p>
- </item>
- <item>
- <p>
- Extend gen_event API to handle options as well.</p>
- <p>
- Own Id: OTP-14123</p>
- </item>
- <item>
- <p>
- Advice on how to tune the supervisor restart frequency
- (intensity and period) is added to System Documentation -
- Design Principles - Supervisor Behaviour.</p>
- <p>
- Own Id: OTP-14168 Aux Id: PR-1289 </p>
- </item>
- <item>
- <p>
- gen_fsm is deprecated and is replaced by gen_statem,
- however for backwards compatibility reasons gen_fsm may
- continue to exist as an undocumented feature for quite
- some time.</p>
- <p>
- Own Id: OTP-14183</p>
- </item>
- <item>
- <p>The shell functions <c>c/1</c> and <c>c/2</c> have
- been extended so that if the argument is a module name
- instead of a file name, it automatically locates the
- .beam file and the corresponding source file, and then
- recompiles the module using the same compiler options
- (plus any options passed to c/2). If compilation fails,
- the old beam file is preserved. Also adds <c>c(Mod, Opts,
- Filter)</c>, where the Filter argument allows you to
- remove old compiler options before the new options are
- added.</p> <p>New utility functions <c>file_find/2/3</c>
- and <c>find_source/1/2/3</c> have been added to
- <c>filelib</c>.</p>
- <p>
- Own Id: OTP-14190</p>
- </item>
- <item>
- <p><c>erl_tar</c> in previous versions of OTP only
- supports the USTAR format. That limited path names to at
- most 255 bytes, and did not support Unicode characters in
- names in a portable way.</p>
- <p><c>erl_tar</c> now has support for reading tar
- archives in the formats currently in common use, such as
- v7, STAR, USTAR, PAX, and GNU tar's extensions to the
- STAR/USTAR format. When writing tar archives,
- <c>erl_tar</c> can now write them in the <c>PAX</c>
- format if necessary (for example, to support very long
- filenames or filenames with Unicode characters). If
- possible, <c>erl_tar</c> will still write tar archives in
- the USTAR for maximum portability.</p>
- <p>
- Own Id: OTP-14226</p>
- </item>
- <item>
- <p><c>base64:mime_decode/1</c> has been optimized so that
- it is now almost as fast as<c>base64:decode/1</c>; it
- used be noticably slower.</p>
- <p>
- Own Id: OTP-14245</p>
- </item>
- <item>
- <p><c>erl_tar</c> will now strip any leading '<c>/</c>'
- from pathnames when extracting files from a tar archive
- and write a message to the error logger. There is also
- new check for directory traversal attacks; if a relative
- path points above the current working directory the
- extraction will be aborted.</p>
- <p>
- Own Id: OTP-14278</p>
- </item>
- <item>
- <p> Miscellaneous updates due to atoms containing
- arbitrary Unicode characters. </p>
- <p>
- Own Id: OTP-14285</p>
- </item>
- <item>
- <p>
- The Crypto application now supports generation of
- cryptographically strong random numbers (floats &lt; 1.0
- and integer arbitrary ranges) as a plugin to the 'rand'
- module.</p>
- <p>
- Own Id: OTP-14317 Aux Id: PR-1372 </p>
- </item>
- <item>
- <p>
- Add new function <c>ets:select_replace/2</c> which
- performs atomic "compare-and-swap" operations for ETS
- objects using match specifications.</p>
- <p>
- Own Id: OTP-14319 Aux Id: PR-1076 </p>
- </item>
- <item>
- <p> The Erlang code linter checks for bad <c>dialyzer</c>
- attributes. It also checks for bad type variables in type
- declarations. </p>
- <p>
- Own Id: OTP-14323</p>
- </item>
- <item>
- <p> Two new functions has been implemented in the
- <c>rand</c> module; <c>normal/2</c> and
- <c>normal_s/3</c>, that both produce normal distribution
- (pseudo) random numbers with mean value and variance
- according to arguments. </p>
- <p>
- Own Id: OTP-14328 Aux Id: PR-1382 </p>
- </item>
- <item>
- <p>
- Upgraded the OTP internal PCRE library from version 8.33
- to version 8.40. This library is used for implementation
- of the <seealso marker="stdlib:re"><c>re</c></seealso>
- regular expressions module.</p>
- <p>
- Besides various bug fixes, the new version allows for
- better stack protection. In order to utilize this
- feature, the stack size of normal scheduler threads is
- now by default set to 128 kilo words on all platforms.
- The stack size of normal scheduler threads can be set
- upon system start by passing the <seealso
- marker="erts:erl#sched_thread_stack_size"><c>+sss</c></seealso>
- command line argument to the <seealso
- marker="erts:erl"><c>erl</c></seealso> command.</p>
- <p>
- See <url
- href="http://pcre.org/original/changelog.txt"><c>http://pcre.org/original/changelog.txt</c></url>
- for information about changes made to PCRE between the
- versions 8.33 and 8.40.</p>
- <p>
- *** POTENTIAL INCOMPATIBILITY ***</p>
- <p>
- Own Id: OTP-14331 Aux Id: ERL-208 </p>
- </item>
- <item>
- <p>
- Added function <c>re:version/0</c> which returns
- information about the OTP internal PCRE version used for
- implementation of the <c>re</c> module.</p>
- <p>
- Own Id: OTP-14347 Aux Id: PR-1412 </p>
- </item>
- <item>
- <p>The format of debug information that is stored in BEAM
- files (when <c>debug_info</c> is used) has been changed.
- The purpose of the change is to better support other
- BEAM-based languages such as Elixir or LFE.</p>
- <p>All tools included in OTP (dialyzer, debugger, cover,
- and so on) will handle both the new format and the
- previous format. Tools that retrieve the debug
- information using <c>beam_lib:chunk(Beam,
- [abstract_code])</c> will continue to work with both the
- new and old format. Tools that call
- <c>beam_lib:chunk(Beam, ["Abst"])</c> will not work with
- the new format.</p>
- <p>For more information, see the description of
- <c>debug_info</c> in the documentation for
- <c>beam_lib</c> and the description of the
- <c>{debug_info,{Backend,Data}}</c> option in the
- documentation for <c>compile</c>.</p>
- <p>
- Own Id: OTP-14369 Aux Id: PR-1367 </p>
- </item>
- <item>
- <p>
- Add option hibernate_after to gen_server, gen_statem and
- gen_event. Also added to the deprecated gen_fsm
- behaviour.</p>
- <p>
- Own Id: OTP-14405</p>
- </item>
- <item>
- <p> The size of crash reports created by
- <c>gen_server</c>, <c>gen_statem</c> and <c>proc_lib</c>
- is limited with aid of the Kernel application variable
- <c>error_logger_format_depth</c>. The purpose is to limit
- the size of the <c>error_logger</c> process when
- processes with huge message queues or states crash. </p>
- <p> The new function
- <c>error_logger:get_format_depth/0</c> can be used to
- retrieve the value of the Kernel application variable
- <c>error_logger_format_depth</c>. </p>
- <p>
- Own Id: OTP-14417</p>
- </item>
- </list>
- </section>
-
-</section>
-
<section><title>STDLIB 3.3</title>
<section><title>Fixed Bugs and Malfunctions</title>