From 95f5a792610ed4c87457863cb03b047414ad4a14 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Tue, 15 Feb 2022 19:44:19 +0100 Subject: Prepare release --- lib/stdlib/doc/src/erl_pp.xml | 2 +- lib/stdlib/doc/src/gen_event.xml | 2 +- lib/stdlib/doc/src/gen_server.xml | 2 +- lib/stdlib/doc/src/gen_statem.xml | 2 +- lib/stdlib/doc/src/lists.xml | 4 +- lib/stdlib/doc/src/notes.xml | 243 ++++++++++++++++++++++++++++++++++++++ lib/stdlib/doc/src/peer.xml | 24 ++-- 7 files changed, 261 insertions(+), 18 deletions(-) (limited to 'lib/stdlib/doc') diff --git a/lib/stdlib/doc/src/erl_pp.xml b/lib/stdlib/doc/src/erl_pp.xml index c1a9230b6e..5195054aaa 100644 --- a/lib/stdlib/doc/src/erl_pp.xml +++ b/lib/stdlib/doc/src/erl_pp.xml @@ -156,7 +156,7 @@ - + Ensure all variable names are valid.

The Erlang compiler will, when expanding records to tuples, diff --git a/lib/stdlib/doc/src/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml index 636b749ace..1de8b651cf 100644 --- a/lib/stdlib/doc/src/gen_event.xml +++ b/lib/stdlib/doc/src/gen_event.xml @@ -838,7 +838,7 @@ gen_event:stop -----> Module:terminate/2 - Module:format_status(Status) -> NewStatus + Module:format_status(Status) -> NewStatus Optional function for providing a term describing the current event handler state. diff --git a/lib/stdlib/doc/src/gen_server.xml b/lib/stdlib/doc/src/gen_server.xml index dae31faf48..716fac06f5 100644 --- a/lib/stdlib/doc/src/gen_server.xml +++ b/lib/stdlib/doc/src/gen_server.xml @@ -788,7 +788,7 @@ gen_server:abcast -----> Module:handle_cast/2 - Module:format_status(Status) -> NewStatus + Module:format_status(Status) -> NewStatus Optional function for providing a term describing the current gen_server status. diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml index 3e88b19100..ce06db02de 100644 --- a/lib/stdlib/doc/src/gen_statem.xml +++ b/lib/stdlib/doc/src/gen_statem.xml @@ -2480,7 +2480,7 @@ init(Args) -> erlang:error(not_implemented, [Args]). - Module:format_status(Status) -> NewStatus + Module:format_status(Status) -> NewStatus Optional function for providing a term describing the current gen_statem status. diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml index 063c9d19a8..49f7b66dfe 100644 --- a/lib/stdlib/doc/src/lists.xml +++ b/lib/stdlib/doc/src/lists.xml @@ -175,7 +175,7 @@ - + Annotates elements with their index.

Returns List1 with each element @@ -196,7 +196,7 @@ enumerate(List) -> - + Annotates elements with their index.

Returns List1 with each element diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 57cbdcc925..e0eb91f629 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,249 @@

This document describes the changes made to the STDLIB application.

+
STDLIB 4.0 + +
Fixed Bugs and Malfunctions + + +

+ Improve the Erlang code linter's check of unused types.

+

+ Own Id: OTP-17370 Aux Id: GH-4784

+
+ +

+ Fix race condition in proc_lib:stop/3 + where the process is not stopped when the timeout given + is very short.

+

+ Own Id: OTP-17480 Aux Id: GH-4853 PR-4872

+
+ +

+ Fix gen_server:call with the first argument as self() to + throw an error instead of failing with a timeout.

+

+ The same fix has also been done for gen_statem:call/3, + gen_event:sync_notify/2 and any other functionality + relying on the internal gen:call/3 function.

+

+ A similar fix was also done when using io:format/2 and + the current group_leader was set to the current process.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-17544 Aux Id: PR-5008

+
+ +

+ erl_pp printed unary - and + operators with a space + between the operator and the operand. This is fixed by + not having any space in between.

+

+ Own Id: OTP-17566 Aux Id: PR-5095, GH-5093

+
+ +

+ Adjust uri_string:normalize behavior for URIs with + undefined port (URI string with a port colon but no port + value or URI map with port => undefined).

+

+ Remove redundant normalization from http_request module.

+

+ Before this change, normalize would not remove port + subcomponent in such cases and could for example return + "http://localhost:" URI.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-17627

+
+ +

+ Fix reduction counting bug in re:run that caused + the function to yield too frequently when doing + global matches.

+

+ Own Id: OTP-17661 Aux Id: PR-5165

+
+ +

+ Fix the memory value returned from + ets:info(Tid,memory) when the + read_concurrency option is used.

+

+ Before this fix the memory used by the scheduler specific + lock cache lines was not counted towards the total. This + caused the returned memory usage to be very incorrect on + systems with many schedulers for tables with man locks.

+

+ Own Id: OTP-17832 Aux Id: PR-5494

+
+ +

+ Avoid confusion by correcting the argument order in the + gen_event crash log printout.

+

+ Own Id: OTP-17878

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

+ Users can now configure ETS tables with the + {write_concurrency, auto} option. This option + forces tables to automatically change the number of locks + that are used at run-time depending on how much + concurrency is detected. The {decentralized_counters, + true} option is enabled by default when + {write_concurrency, auto} is active.

+

+ Benchmark results comparing this option with the other + ETS optimization options are available here:

+

+ https://erlang.org/bench/ets_bench_result_lock_config.html

+

+ Own Id: OTP-15991 Aux Id: PR-5208

+
+ +

+ The format_status/2 callback for + gen_server, gen_statem and gen_event + has been deprecated in favor of the new + format_status/1 callback.

+

+ The new callback adds the possibility to limit and change + many more things than the just the state, such as the + last received message, the reason for terminating and + more events specific to each type of behavior. See the + respective modules documentation for more details.

+

+ Own Id: OTP-17351 Aux Id: GH-4673 PR-4952

+
+ +

The timer module has been modernized and made + more efficient, which makes the timer server less + susceptible to being overloaded. The timer:sleep/1 + function now accepts an arbitrarily large integer.

+

+ Own Id: OTP-17481 Aux Id: PR-4811

+
+ +

+ Add lists:enumerate/[1,2].

+

+ Own Id: OTP-17523 Aux Id: PR-4928

+
+ +

+ The configuration files .erlang, .erlang.cookie + and .erlang.crypt + can now be located in the XDG Config Home directory.

+

+ See the documentation for each file and + filename:basedir/2 for more details.

+

+ Own Id: OTP-17554 Aux Id: GH-5016 PR-5408 OTP-17821

+
+ +

+ Support native time unit in calendar + functions system_time_to_rfc3339/2 and + rfc3339_to_system_time.

+

+ Own Id: OTP-17592 Aux Id: ERIERL-663, PR-5243

+
+ +

+ The tagged tuple tests and fun-calls have been optimized + and are now a little bit cheaper than previously.

+

+ These optimizations become possible after making sure + that all boxed terms have at least one word allocated + after the arity word. This has been accomplished by + letting all empty tuples refer to the same empty tuple + literal which also reduces memory usage for empty tuples.

+

+ Own Id: OTP-17608

+
+ +

+ The signal queue benchmark in parallel_messages_SUITE and + the ETS benchmark in ets_SUITE have benchmark result + visualization HTML pages with "fill-screen" buttons to + make the graphs bigger. This button did not work as + intended before. When pressing the button for a graph, + the last graph got replaced with a bigger version and not + the one over the button. This is now fixed.

+

+ Own Id: OTP-17630

+
+ +

+ The new module peer supersedes the slave + module. The slave module is now deprecated and + will be removed in OTP 27.

+

+ peer contains an extended and more robust API for + starting erlang nodes.

+

+ Own Id: OTP-17720 Aux Id: PR-5162

+
+ +

+ This change introduces quote and unquote functions in + uri_string module - a replacement for deprecated encode + and decode functions from http_uri.

+

+ Own Id: OTP-17778 Aux Id: GH-5368

+
+ +

+ Update to the Unicode 14.0 specification.

+

+ Own Id: OTP-17869 Aux Id: PR-5595

+
+ +

+ The following ets types have been renamed to a clearer + name: tab/0 to table/0 and + comp_match_spec/0 to compiled_match_spec/0.

+

+ The types table_access/0 and table_type/0 + have been exported.

+

+ Own Id: OTP-17901 Aux Id: GH-4968 PR-5649

+
+ +

The non-local function handler for the erl_eval + can now be called with either two or three arguments. + When called with three arguments, the first argument is + the annotation for the node in the abstract format.

+

All errors during evaluation will now be passed + through erlang:raise/3. If the restricted shell is + active and it does not let erlang:raise/3 through, + evaluation errors will be printed in less clear way. See + the documentation for restricted shell in + shell.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-17925 Aux Id: PR-5631

+
+
+
+ +
+
STDLIB 3.17
Fixed Bugs and Malfunctions diff --git a/lib/stdlib/doc/src/peer.xml b/lib/stdlib/doc/src/peer.xml index a5b513d810..d67385157f 100644 --- a/lib/stdlib/doc/src/peer.xml +++ b/lib/stdlib/doc/src/peer.xml @@ -31,7 +31,7 @@ peer.xml - peer + peer Start and control linked Erlang nodes. @@ -384,8 +384,8 @@ - - + + Evaluates a function call on a peer node.

@@ -407,7 +407,7 @@ - + Evaluates a function call on a peer node ignoring the result.

@@ -425,7 +425,7 @@ - + Sends a message to a process on the peer node.

@@ -437,7 +437,7 @@ - + Returns peer node state.

Returns the peer node state. Th initial state is booting; the node stays in that @@ -448,7 +448,7 @@ - + Creates a sufficiently unique node name.

@@ -458,7 +458,7 @@ - + Creates a sufficiently unique node name given a prefix.

@@ -478,7 +478,7 @@ - + Starts a peer node.

@@ -491,7 +491,7 @@ - + Starts a peer node, and links controlling process to caller process.

@@ -502,7 +502,7 @@ - + Starts a peer node, and links controlling process to caller process.

Starts a peer node in the same way as start/1, @@ -523,7 +523,7 @@ - + Stop controlling process and terminate peer node.

Depending on the shutdown option used to start the peer, -- cgit v1.2.1