diff options
Diffstat (limited to 'lib/stdlib/doc')
-rw-r--r-- | lib/stdlib/doc/src/notes.xml | 412 |
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 < 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> |