From 2955ddebc32837b66d9bacb4e925ad0ed0033168 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Tue, 23 Jun 2015 10:24:26 +0200 Subject: Prepare release --- lib/stdlib/doc/src/notes.xml | 323 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 323 insertions(+) (limited to 'lib/stdlib/doc') diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 39b01c9f1d..514ac37d90 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,329 @@

This document describes the changes made to the STDLIB application.

+
STDLIB 2.5 + +
Fixed Bugs and Malfunctions + + +

+ Fix handling of single dot in filename:join/2

+

+ The reference manual says that filename:join(A,B) is + equivalent to filename:join([A,B]). In some rare cases + this turns out not to be true. For example:

+

+ filename:join("/a/.","b") -> "/a/./b" vs + filename:join(["/a/.","b"]) -> "/a/b".

+

+ This has been corrected. A single dot is now only kept if + it occurs at the very beginning or the very end of the + resulting path.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-12158

+
+ +

+ The undocumented option generic_debug for + gen_server has been removed.

+

+ Own Id: OTP-12183

+
+ +

+ erl_lint:icrt_export/4 has been rewritten to make the + code really follow the scoping rules of Erlang, and not + just in most situations by accident.

+

+ Own Id: OTP-12186

+
+ +

+ Add 'trim_all' option to binary:split/3

+

+ This option can be set to remove _ALL_ empty parts of the + result of a call to binary:split/3.

+

+ Own Id: OTP-12301

+
+ +

Correct orddict(3) regarding evaluation order of + fold() and map().

+

+ Own Id: OTP-12651 Aux Id: seq12832

+
+ +

+ Correct maps module error exceptions

+

+ Bad input to maps module function will now yield the + following exceptions: {badmap,NotMap} + or, badarg

+

+ Own Id: OTP-12657

+
+ +

+ It is now possible to paste text in JCL mode (using + Ctrl-Y) that has been copied in the previous shell + session. Also a bug that caused the JCL mode to crash + when pasting text has been fixed.

+

+ Own Id: OTP-12673

+
+ +

+ Add uptime() shell command.

+

+ Own Id: OTP-12752

+
+ +

+ Cache nowarn_bif_clash functions in erl_lint.

+

+ This patch stores nowarn_bif_clash in the lint record. By + using erlc +'{eprof,lint_module}' when compiling the + erlang parser, we noticed the time spent on + nowarn_function/2 reduced from 30% to 0.01%.

+

+ Own Id: OTP-12754

+
+ +

+ Optimize the Erlang Code Linter by using the cached + filename information.

+

+ Own Id: OTP-12772

+
+ +

+ If a child of a simple_one_for_one returns ignore from + its start function no longer store the child for any + restart type. It is not possible to restart or delete the + child because the supervisor is a simple_one_for_one.

+

+ Own Id: OTP-12793

+
+ +

+ Make ets:file2tab preserve enabled + read_concurrency and write_concurrency + options for tables.

+

+ Own Id: OTP-12814

+
+ +

+ There are many cases where user code needs to be able to + distinguish between a socket that was closed normally and + one that was aborted. Setting the option + {show_econnreset, true} enables the user to receive + ECONNRESET errors on both active and passive sockets.

+

+ Own Id: OTP-12841

+
+
+
+ + +
Improvements and New Features + + +

+ Allow maps for supervisor flags and child specs

+

+ Earlier, supervisor flags and child specs were given as + tuples. While this is kept for backwards compatibility, + it is now also allowed to give these parameters as maps, + see sup_flags + and child_spec.

+

+ Own Id: OTP-11043

+
+ +

+ A new system message, terminate, is added. This + can be sent with sys:terminate/2,3. If the + receiving process handles system messages properly it + will terminate shortly after receiving this message.

+

+ The new function proc_lib:stop/1,3 utilizes this + new system message and monitors the receiving process in + order to facilitate a synchronous stop mechanism for + 'special processes'.

+

+ proc_lib:stop/1,3 is used by the following + functions:

+

+ gen_server:stop/1,3 (new) + gen_fsm:stop/1,3 (new) + gen_event:stop/1,3 (modified to be + synchronous) wx_object:stop/1,3 + (new)

+

+ Own Id: OTP-11173 Aux Id: seq12353

+
+ +

+ Remove the pg module, which has been deprecated + through OTP-17, is now removed from the STDLIB + application. This module has been marked experimental for + more than 15 years, and has largely been superseded by + the pg2 module from the Kernel application.

+

+ Own Id: OTP-11907

+
+ +

+ New BIF: erlang:get_keys/0, lists all keys + associated with the process dictionary. Note: + erlang:get_keys/0 is auto-imported.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-12151 Aux Id: seq12521

+
+ +

Add three new functions to io_lib-- + scan_format/2, unscan_format/1, and + build_text/1-- which expose the parsed form of the + format control sequences to make it possible to easily + modify or filter the input to io_lib:format/2. + This can e.g. be used in order to replace unbounded-size + control sequences like ~w or ~p with + corresponding depth-limited ~W and ~P + before doing the actual formatting.

+

+ Own Id: OTP-12167

+
+ +

Introduce the erl_anno module, an abstraction + of the second element of tokens and tuples in the + abstract format.

+

+ Own Id: OTP-12195

+
+ +

+ Support variables as Map keys in expressions and patterns

+

Erlang will accept any expression as keys in Map + expressions and it will accept literals or bound + variables as keys in Map patterns.

+

+ Own Id: OTP-12218

+
+ +

The last traces of Mnemosyne Rules have been removed. +

+

+ Own Id: OTP-12257

+
+ +

+ Properly support maps in match_specs

+

+ Own Id: OTP-12270

+
+ +

+ New function ets:take/2. Works the same as + ets:delete/2 but also returns the deleted + object(s).

+

+ Own Id: OTP-12309

+
+ +

string:tokens/2 is somewhat faster, especially + if the list of separators only contains one separator + character.

+

+ Own Id: OTP-12422 Aux Id: seq12774

+
+ +

The documentation of the Abstract Format (in the ERTS + User's Guide) has been updated with types and + specification. (Thanks to Anthony Ramine.)

The + explicit representation of parentheses used in types of + the abstract format has been removed. Instead the new + functions erl_parse:type_inop_prec() and + erl_parse:type_preop_prec() can be used for + inserting parentheses where needed.

+

+ Own Id: OTP-12492

+
+ +

+ Prevent zip:zip_open/[12] from leaking file descriptors + if parent process dies.

+

+ Own Id: OTP-12566

+
+ +

+ Add a new random number generator, see rand + module. It have better characteristics and an improved + interface.

+

+ Own Id: OTP-12586 Aux Id: OTP-12501, OTP-12502

+
+ +

filename:split/1 when given an empty binary + will now return an empty list, to make it consistent with + return value when given an empty list.

+

+ Own Id: OTP-12716

+
+ +

+ Add sync option to ets:tab2file/3.

+

+ Own Id: OTP-12737 Aux Id: seq12805

+
+ +

Add functions gb_sets:iterator_from() and + gb_trees:iterator_from(). (Thanks to Kirill + Kinduk.)

+

+ Own Id: OTP-12742

+
+ +

+ Add maps:filter/2 to maps module.

+

+ Own Id: OTP-12745

+
+ +

+ Change some internal data structures to Maps in order to + speed up compilation time. Measured speed up is around + 10%-15%.

+

+ Own Id: OTP-12774

+
+ +

Update orddict to use parameterized types and + specs. (Thanks to UENISHI Kota.)

+

+ Own Id: OTP-12785

+
+ +

The assert macros in eunit has been moved out + to stdlib/include/assert.hrl. This files get + included by eunit.hrl. Thus, nothing changes for + eunit users, but the asserts can now also be included + separately.

+

+ Own Id: OTP-12808

+
+
+
+ +
+
STDLIB 2.4
Fixed Bugs and Malfunctions -- cgit v1.2.3