From 36719f9798f1f7c2de203091582083e8d8e5726b Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 10 May 2019 14:42:47 +0200 Subject: Prepare release --- erts/doc/src/erl_nif.xml | 10 +- erts/doc/src/erlang.xml | 4 +- erts/doc/src/net.xml | 20 +- erts/doc/src/notes.xml | 483 ++++++++++++++++++++++++++++++++++++ erts/doc/src/socket.xml | 158 ++++++------ erts/emulator/beam/erl_nif.h | 2 +- erts/vsn.mk | 2 +- lib/asn1/doc/src/notes.xml | 26 ++ lib/asn1/vsn.mk | 2 +- lib/common_test/doc/src/notes.xml | 29 +++ lib/common_test/vsn.mk | 2 +- lib/compiler/doc/src/notes.xml | 93 +++++++ lib/compiler/vsn.mk | 2 +- lib/crypto/doc/src/notes.xml | 131 ++++++++++ lib/crypto/vsn.mk | 2 +- lib/debugger/doc/src/notes.xml | 17 ++ lib/debugger/vsn.mk | 2 +- lib/dialyzer/doc/src/notes.xml | 46 ++++ lib/dialyzer/vsn.mk | 2 +- lib/edoc/doc/src/notes.xml | 14 ++ lib/edoc/vsn.mk | 2 +- lib/eldap/doc/src/notes.xml | 16 ++ lib/eldap/vsn.mk | 2 +- lib/erl_docgen/doc/src/notes.xml | 19 +- lib/erl_docgen/vsn.mk | 2 +- lib/erl_interface/doc/src/ei.xml | 6 +- lib/erl_interface/doc/src/notes.xml | 76 ++++++ lib/erl_interface/vsn.mk | 2 +- lib/hipe/doc/src/notes.xml | 46 ++++ lib/hipe/vsn.mk | 2 +- lib/inets/doc/src/notes.xml | 19 +- lib/inets/vsn.mk | 2 +- lib/jinterface/doc/src/notes.xml | 36 +++ lib/jinterface/vsn.mk | 2 +- lib/kernel/doc/src/notes.xml | 98 ++++++++ lib/kernel/src/kernel.appup.src | 28 +-- lib/kernel/vsn.mk | 2 +- lib/megaco/doc/src/notes.xml | 25 +- lib/megaco/vsn.mk | 2 +- lib/mnesia/doc/src/notes.xml | 46 +++- lib/mnesia/vsn.mk | 2 +- lib/observer/doc/src/notes.xml | 17 ++ lib/observer/vsn.mk | 2 +- lib/odbc/doc/src/notes.xml | 18 +- lib/odbc/vsn.mk | 2 +- lib/os_mon/doc/src/notes.xml | 29 +++ lib/os_mon/vsn.mk | 2 +- lib/public_key/doc/src/notes.xml | 52 ++++ lib/public_key/vsn.mk | 2 +- lib/reltool/doc/src/notes.xml | 35 ++- lib/reltool/vsn.mk | 2 +- lib/runtime_tools/doc/src/notes.xml | 16 ++ lib/runtime_tools/vsn.mk | 2 +- lib/sasl/doc/src/notes.xml | 17 ++ lib/sasl/src/sasl.appup.src | 24 +- lib/sasl/vsn.mk | 2 +- lib/snmp/doc/src/notes.xml | 27 +- lib/ssh/doc/src/notes.xml | 15 ++ lib/ssh/src/ssh.app.src | 2 +- lib/ssh/vsn.mk | 2 +- lib/ssl/doc/src/notes.xml | 75 ++++++ lib/ssl/vsn.mk | 2 +- lib/stdlib/doc/src/notes.xml | 241 ++++++++++++++++++ lib/stdlib/src/stdlib.app.src | 2 +- lib/stdlib/src/stdlib.appup.src | 26 +- lib/stdlib/vsn.mk | 2 +- lib/syntax_tools/doc/src/notes.xml | 28 +++ lib/syntax_tools/vsn.mk | 2 +- lib/tools/doc/src/notes.xml | 43 ++++ lib/tools/vsn.mk | 2 +- lib/wx/doc/src/notes.xml | 17 ++ lib/wx/vsn.mk | 2 +- lib/xmerl/doc/src/notes.xml | 15 ++ lib/xmerl/vsn.mk | 2 +- make/otp_version_tickets | 148 ++++++++++- 75 files changed, 2161 insertions(+), 196 deletions(-) diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml index c0be715678..f88d255296 100644 --- a/erts/doc/src/erl_nif.xml +++ b/erts/doc/src/erl_nif.xml @@ -1090,7 +1090,7 @@ typedef struct { - int + int enif_compare_pids(const ErlNifPid *pid1, const ErlNifPid *pid2) Compare two pids. @@ -1890,7 +1890,7 @@ enif_inspect_iovec(env, max_elements, term, &tail, &iovec); - int + int enif_is_pid_undefined(const ErlNifPid* pid) Determine if pid is undefined. @@ -2247,7 +2247,7 @@ enif_inspect_iovec(env, max_elements, term, &tail, &iovec); - ERL_NIF_TERM + ERL_NIF_TERM enif_make_monitor_term(ErlNifEnv* env, const ErlNifMonitor* mon) Make monitor term from the given monitor identifier. @@ -3306,7 +3306,7 @@ if (retval & ERL_NIF_SELECT_STOP_CALLED) { - void + void enif_set_pid_undefined(ErlNifPid* pid) Set pid as undefined. @@ -3369,7 +3369,7 @@ if (retval & ERL_NIF_SELECT_STOP_CALLED) { - ErlNifTermType + ErlNifTermType enif_term_type(ErlNifEnv *env, ERL_NIF_TERM term) Determine the type of a term. diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index 2b444ccf01..a879cce840 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -1297,7 +1297,7 @@ end - + Get value of the get_size option on a distribution channel

Returns the value of the get_size option on the distribution channel @@ -1428,7 +1428,7 @@ end - + Set value of the get_size option on a distribution channel

Sets the value of the get_size option on the distribution channel diff --git a/erts/doc/src/net.xml b/erts/doc/src/net.xml index b9e2cffce9..6fbc37076c 100644 --- a/erts/doc/src/net.xml +++ b/erts/doc/src/net.xml @@ -29,7 +29,7 @@ net.xml - net + net Network interface.

This module provides an API for the network interface.

@@ -72,8 +72,8 @@
- - + + Address-to-name transaltion.

Address-to-name translation in a protocol-independant manner.

@@ -84,10 +84,10 @@
- - - - + + + + Network address and service transation.

Network address and service translation.

@@ -100,7 +100,7 @@
- + Mappings between network interface names and indexes.

Mappings between network interface names and indexes.

@@ -108,7 +108,7 @@
- + Mappings between network interface index and names.

Mappings between network interface index and names.

@@ -116,7 +116,7 @@
- + Get network interface names and indexes.

Get network interface names and indexes.

diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index f0f97a6775..aad7e27f80 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -31,6 +31,489 @@

This document describes the changes made to the ERTS application.

+
Erts 10.4 + +
Fixed Bugs and Malfunctions + + +

+ Do not allocate new bitstring/binary when an empty binary + is appended.

+

+ Own Id: OTP-15535 Aux Id: PR-2055

+
+ +

+ Document that process_info(_, current_function) + can return {current_function, undefined} in case + of execution of native code.

+

+ Own Id: OTP-15543 Aux Id: PR-2089

+
+ +

+ Fixed bug in ets:select, ets:match and + friends which could cause the table to remain fixated (as + if ets:safe_fixtable had been called) after the + call returned. This could happen for protected + tables if another concurrent running process transferred + table ownership to the process during its + ets:select/match call. Ownership can be transferred using + either ets:give_away or the heir table + option.

+

+ Own Id: OTP-15672

+
+ +

Fixed a Windows-specific bug in file:list_dir/1 + that caused it to misbehave on network shares.

+

+ Own Id: OTP-15693

+
+ +

+ Fixed bug when calling enif_whereis_* from NIF + resource destructor. Symptoms could be emulator crash or + hanging scheduler threads.

+

+ Own Id: OTP-15694 Aux Id: ERL-863

+
+ +

Fixed a bug in the error case of apply/3, where + the exception would erroneously have an empty argument + list in some cases.

+

+ Own Id: OTP-15698

+
+ +

A bug has been fixed in the maps implementation + that could cause a crash or memory usage to grow until + the machine ran out of memory. This could happen when + inserting a new key-value pair with a key K1 + containing a binary B1 into a map M having + a key K2 with a binary B2 if the following + conditions were met:

B1 =/= + B2 size(B1) >= 4294967296 + size(B2) >= 4294967296 + size(M) >= 32 (size(B1) rem + 4294967296) == (size(B2) rem 4294967296) + the first (size(B1) rem 4294967296) bytes + are the same both in B1 and B2 + substituting B1 in K1 with B2 + would create a term with the same value as + K2

The root cause of the problem + is that the maps implementation only hashed the + first (X rem 4294967296) bytes of binaries so that + different binaries could get the same hash value + independently of the hash seed.

+

+ Own Id: OTP-15707

+
+ +

+ term_to_binary() and distributed sends will now + throw a system_limit exception instead of + producing erroneous results when trying to encode a + binary larger than 4 GB.

+

+ Own Id: OTP-15708

+
+ +

+ The vxworks configure has been updated to respect the + environment CFLAGS.

+

+ Own Id: OTP-15773

+
+ +

+ Fix configure to not enable PGO (profile guided + optimizations) when linking of the PGO binary fails. For + instance this happens when there is no gcov lib + installed.

+

+ Own Id: OTP-15788

+
+ +

+ Fix bug on OpenBSD where sockets using active, + true or active, N could cause the system to + live lock. The bug was introduced in erts-10.2 + (OTP-21.2).

+

+ Own Id: OTP-15791

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

+ Add support for Erlang Distribution protocol to split the + payload of large signals into several fragments. This + allows other processes to communicate uninterrupted + during the transmission of these signals.

+

+ Own Id: OTP-13397

+
+ +

+ A simple socket API is provided through the socket + module. This is a low level API that does *not* replace + gen_[tcp|udp|sctp]. It is intended to *eventually* + replace the inet driver, but not the high level + gen-modules (gen_tcp, gen_udp and gen_sctp). It also + provides a basic API that facilitates the implementation + of other protocols, that is TCP, UDP and SCTP.

+

+ Known issues are; No support for the Windows OS + (currently).

+

+ Own Id: OTP-14831

+
+ +

Added NIF functions enif_set_pid_undefined, + enif_is_pid_undefined + and enif_compare_pids.

+

+ Own Id: OTP-15011 Aux Id: PR-2147

+
+ +

Underutilized memory segments (carriers) can now move + between all allocator instances, rather than just between + instances of the same type, which greatly reduces memory + usage in some scenarios.

+

+ Own Id: OTP-15063

+
+ +

The emulator will now mark free blocks in pooled + carriers with madvise(2) + MADV_FREE (or similar), + letting the OS reclaim the associated physical memory if + necessary.

+

+ Own Id: OTP-15075

+
+ +

+ New ERL_NIF_SELECT_CANCEL feature added to + enif_select in order to cancel (or "deselect") a + read or write event on a previously selected file + descriptor.

+

+ Own Id: OTP-15095

+
+ +

+ ETS option write_concurrency now also affects and + improves the scalability of ordered_set tables. + The implementation is based on a data structure called + contention adapting search tree, where the lock + granularity adapts to the actual amount of concurrency + exploited by the applications in runtime.

+

+ Own Id: OTP-15128

+
+ +

+ Build configuration of the crypto application has + been moved from the erts application into the + crypto application.

+

+ Own Id: OTP-15129

+
+ +

Anonymous functions that don't capture environment are + now created at load-time instead of in run-time.

+

+ Own Id: OTP-15195 Aux Id: PR-1812

+
+ +

+ Optimize updates of maps with identical keys and values. + E.g. in the example below the original Map will be reused + as the return of the update.

+

+ 1> Map = #{ a => b }. #{ a => b } 2> Map#{ a := b }.

+

+ Own Id: OTP-15211 Aux Id: PR-1889

+
+ +

+ Optimize binary:match/2 and + binary:matches/2 to use memchr internally.

+

+ Own Id: OTP-15238 Aux Id: PR-1803

+
+ +

+ The runtime system used to terminate when a message + larger than 2 Gb was passed over the distribution. The + send operation will now instead throw a + system_limit exception.

+

+ Own Id: OTP-15261

+
+ +

+ Change the first module called by erts to be named + erl_init instead of otp_ring0. systools in sasl have been + updated to reflect this change.

+

+ Own Id: OTP-15336 Aux Id: PR-1825

+
+ +

+ Minor adjustments made to build system for parallel + configure.

+

+ Own Id: OTP-15340 Aux Id: OTP-14625

+
+ +

+ Two new NIF interface functions enif_select_read + and enif_select_write. They are similar to + existing enif_select but allow a custom event + message as an argument.

+

+ Own Id: OTP-15349 Aux Id: PR-2084

+
+ +

The embedded copy of zlib has been updated from + 1.2.8 to 1.2.11.

+

Note that this copy is only used as a fallback when + the target platform doesn't provide any zlib + development libraries. If your system provides + zlib then it will be used even if it is older than + 1.2.11.

+

+ Own Id: OTP-15351 Aux Id: ERL-749

+
+ +

+ New NIF function enif_make_monitor_term.

+

+ Own Id: OTP-15362 Aux Id: PR-2127

+
+ +

Appending lists (The ++ operator) will now yield + properly on large inputs.

+

+ Own Id: OTP-15427

+
+ +

The length/1 BIF used to calculate the length + of the list in one go without yielding, even if the list + was very long. In OTP 22, length/1 will yield when + called with long lists.

+

+ Own Id: OTP-15439

+
+ +

+ Processes sending messages are now punished with a + reduction cost based on message size. That is, a process + sending a large message will yield earlier than before.

+

+ Own Id: OTP-15513 Aux Id: ERL-773

+
+ +

The transitory emulator option +ztma true + (introduced in OTP 21.3) has been removed.

+

+ Own Id: OTP-15581 Aux Id: OTP-15580

+
+ +

In OTP 22, HiPE (the native code compiler) is not + fully functional. The reasons for this are:

+

There are new BEAM instructions for binary matching + that the HiPE native code compiler does not support.

+

The new optimizations in the Erlang compiler create + new combination of instructions that HiPE currently does + not handle correctly.

+

If erlc is invoked with the +native option, and + if any of the new binary matching instructions are used, + the compiler will issue a warning and produce a BEAM file + without native code.

+

+ Own Id: OTP-15596

+
+ +

+ The termination behaviour of processes has changed to + allow processes to yield while sending link exit/monitor + down signals.

+

+ The erl crash dump has been expanded to now also include + processes that are termeinating but have not yet + terminated.

+

+ Own Id: OTP-15610

+
+ +

+ The dist messages EXIT, EXIT2 and MONITOR_DOWN have been + updated with new versions that send the reason term as + part of the payload of the message instead of as part of + the control message.

+

+ The old versions are still present and can be used when + communicating with nodes that don't support the new + versions.

+

+ Own Id: OTP-15611

+
+ +

+ When sending messages, exit, exit2 and monitor down + distributed signals, the process sending will now yield + appropriately.

+

+ This means that a terminating process will yield and + possibly be suspended on busy distribution entries while + they are terminating. This means that any memory held by + such processes will not be released until after all + exit/monitor down signals have been sent.

+

+ Own Id: OTP-15612

+
+ +

+ All external pids/ports/refs created by + erlang:list_to_pid/port/ref debug functions now compare + equal to any other pid/port/ref with the same number from + that node.

+

+ Before this change they compared differently because the + node creation of the pid/port/ref did not compare equal + to any real pid/port/ref creation.

+

+ This will mostly effect pids/ports/refs typed in the + shell.

+

+ Own Id: OTP-15613

+
+ +

+ The persistent_term functions put/2 and + erase/1 are now yielding.

+

+ Own Id: OTP-15615

+
+ +

+ A new erlang:dist_ctrl_set_opt(DHandle, + get_size, Value) option has been added. + This option makes it possible to configure the + distribution channel identified by DHandle so that + erlang:dist_ctrl_get_data(DHandle) + also returns the size of the data to pass over the + channel.

+

+ Own Id: OTP-15617

+
+ +

Previously, all ETS tables used centralized counter + variables to keep track of the number of items stored and + the amount of memory consumed. These counters can cause + scalability problems (especially on big NUMA systems). + This change adds an implementation of a decentralized + counter and modifies the implementation of ETS so that + ETS tables of type ordered_set with + write_concurrency enabled use the decentralized + counter. Experiments indicate that this change + substantially improves the scalability of ETS + ordered_set tables with write_concurrency + enabled in scenarios with frequent ets:insert/2 + and ets:delete/2 calls.

+

+ Own Id: OTP-15623 Aux Id: PR-2190

+
+ +

The iolist_size/1 function is now yielding + which means that an Erlang/OTP system will be responsive + even if the applications running on the system frequently + call iolist_size/1 with large iolists.

+

+ Own Id: OTP-15631

+
+ +

+ A simple test suite for the net module has been added.

+

+ Own Id: OTP-15635

+
+ +

Added the NIF function enif_term_type, which + helps avoid long sequences of enif_is_xyz by + returning the type of the given term. This is especially + helpful for NIFs that serialize terms, such as JSON + encoders, where it can improve both performance and + readability.

+

+ Own Id: OTP-15640

+
+ +

The last call optimization is now applied to BIFs. + When calling a BIF in the tail position of a function, + the return address and stack frame will now be discarded + before calling the BIF. As a consequence of this change, + the immediate caller of a tail-called BIF will no longer + be available in stack backtraces.

+

+ Own Id: OTP-15674 Aux Id: PR-2177

+
+ +

+ Fix GC bug where distributed messages in a processes + mailbox would cause extra GCs. This can be very expensive + if there many messages in the mailbox.

+

+ Own Id: OTP-15703

+
+ +

Internal documentation has now been added to the + Erts and Compiler applications.

+

The internal documents for Erts describe + miscellaneous interesting implementation details. Those + details can change at any time.

+

The internal documentation for Compiler + documents the API for the Core Erlang modules. While we + will not change those APIs without good reason, we don't + give the same guarantees about backward compatibility as + for the rest of the APIs in OTP.

+

+ Own Id: OTP-15715

+
+ +

The performance of non-bignum integer arithmetic has + been improved.

+

+ Own Id: OTP-15740

+
+ +

+ The -remsh option to erl now automatically + adds the local systems hostname to the target node if no + nodename is given. e.g.

+

+ erl -name foo -remsh bar
erl -sname foo + -remsh bar

+

+ Own Id: OTP-15794 Aux Id: PR-2219

+
+
+
+ +
+
Erts 10.3.5
Fixed Bugs and Malfunctions diff --git a/erts/doc/src/socket.xml b/erts/doc/src/socket.xml index f6195a65b2..343b61d4aa 100644 --- a/erts/doc/src/socket.xml +++ b/erts/doc/src/socket.xml @@ -29,7 +29,7 @@ socket.xml - socket + socket Socket interface.

This module provides an API for the socket interface. @@ -256,8 +256,8 @@ - - + + Accept a connection on a socket.

Accept a connection on a socket.

@@ -269,7 +269,7 @@ - + Bind a name to a socket.

Bind a name to a socket.

@@ -282,7 +282,7 @@
- + Close a socket.

Closes the socket.

@@ -301,8 +301,8 @@
- - + + Initiate a connection on a socket.

This function connects the socket to the address @@ -311,13 +311,13 @@ - - - - - - - + + + + + + + Get an option on a socket.

Get an option on a socket.

@@ -337,7 +337,7 @@
- + Get an option on a socket.

Get an option on a socket.

@@ -359,8 +359,8 @@
- - + + Listen for connections on a socket.

Listen for connections on a socket.

@@ -368,9 +368,9 @@
- - - + + + Create an endpoint for communication.

Creates an endpoint (socket) for communication.

@@ -390,7 +390,7 @@
- + Get name of connected socket peer.

Returns the address of the peer connected to the socket.

@@ -398,11 +398,11 @@
- - - - - + + + + + Receive a message from a socket.

Receive a message from a socket.

@@ -413,12 +413,12 @@
- - - - - - + + + + + + Receive a message from a socket.

Receive a message from a socket.

@@ -437,12 +437,12 @@
- - - - - - + + + + + + Receive a message from a socket.

Receive a message from a socket.

@@ -473,10 +473,10 @@
- - - - + + + + Send a message on a socket.

Send a message on a connected socket.

@@ -484,10 +484,10 @@
- - - - + + + + Send a message on a socket.

Send a message on a socket. The destination, if needed @@ -508,10 +508,10 @@ - - - - + + + + Send a message on a socket.

Send a message on a socket, to the specified destination.

@@ -519,13 +519,13 @@
- - - - - - - + + + + + + + Set options on a socket.

Set options on a socket.

@@ -548,7 +548,7 @@
- + Set options on a socket.

Set options on a socket.

@@ -571,7 +571,7 @@
- + Shut down part of a full-duplex connection.

Shut down all or part of a full-duplex connection.

@@ -579,7 +579,7 @@
- + Get socket name.

Returns the current address to which the socket is bound.

@@ -587,25 +587,25 @@
- - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Report info about what the platform supports.

This function intends to retreive information about what the diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h index cc389a093f..c250e8f683 100644 --- a/erts/emulator/beam/erl_nif.h +++ b/erts/emulator/beam/erl_nif.h @@ -69,7 +69,7 @@ * If you're not on the OTP team, you should use a placeholder like * erts-@MyName@ instead. */ -#define ERL_NIF_MIN_ERTS_VERSION "erts-@OTP-15095:OTP-15640@" +#define ERL_NIF_MIN_ERTS_VERSION "erts-10.4" /* * The emulator will refuse to load a nif-lib with a major version diff --git a/erts/vsn.mk b/erts/vsn.mk index fafcdf3b28..224570fb09 100644 --- a/erts/vsn.mk +++ b/erts/vsn.mk @@ -18,7 +18,7 @@ # %CopyrightEnd% # -VSN = 10.3.4 +VSN = 10.4 # Port number 4365 in 4.2 # Port number 4366 in 4.3 diff --git a/lib/asn1/doc/src/notes.xml b/lib/asn1/doc/src/notes.xml index 22ca7840de..284a2b4ce5 100644 --- a/lib/asn1/doc/src/notes.xml +++ b/lib/asn1/doc/src/notes.xml @@ -32,6 +32,32 @@

This document describes the changes made to the asn1 application.

+
Asn1 5.0.9 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

+
+ +

Corrected problems with the following value + definitions:

value of SEQUENCE OF CHOICE + with extensions value of CHOICE with + extensions DEFAULT used with OCTET + STRING +

+ Own Id: OTP-15697 Aux Id: PR-2159

+
+
+
+ +
+
Asn1 5.0.8
Fixed Bugs and Malfunctions diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk index 69f1af28e8..018beda307 100644 --- a/lib/asn1/vsn.mk +++ b/lib/asn1/vsn.mk @@ -1 +1 @@ -ASN1_VSN = 5.0.8 +ASN1_VSN = 5.0.9 diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml index 9456b6dbba..a64818da7b 100644 --- a/lib/common_test/doc/src/notes.xml +++ b/lib/common_test/doc/src/notes.xml @@ -33,6 +33,35 @@ notes.xml +
Common_Test 1.17.3 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

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

Use ssh instead of rsh as the default + remote shell.

+

+ Own Id: OTP-15633 Aux Id: PR-1787

+
+
+
+ +
+
Common_Test 1.17.2
Fixed Bugs and Malfunctions diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk index 14a3622a00..8dcb69c1c6 100644 --- a/lib/common_test/vsn.mk +++ b/lib/common_test/vsn.mk @@ -1 +1 @@ -COMMON_TEST_VSN = 1.17.1 +COMMON_TEST_VSN = 1.17.3 diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml index d45dfef8f3..275c6268fa 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -32,6 +32,99 @@

This document describes the changes made to the Compiler application.

+
Compiler 7.4 + +
Fixed Bugs and Malfunctions + + +

record_info/2 is a pseudo-function that + requires literal arguments known at compile time. + Therefore, the following usage is illegal: fun + record/info/2. The compiler would crash when during + compilation of that kind of code. Corrected to issue a + compilation error.

+

+ Own Id: OTP-15760 Aux Id: ERL-907

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

+ The compiler has been rewritten to internally use an + intermediate representation based on Static Single + Assignment (SSA). The new intermediate representation + makes more optimizations possible.

+

+ Most noticeable is that the binary matching optimizations + are now applicable in many more circumstances than + before.

+

+ Another noticeable change is that type optimizations are + now applied across local function calls, and will remove + a lot more redundant type tests than before.

+

+ Own Id: OTP-14894 Aux Id: ERL-714

+
+ +

Funs are no longer created when they are only used + locally, greatly improving the performance of named funs + and "fun-wrapped" macros.

+

+ Own Id: OTP-15273 Aux Id: ERL-639

+
+ +

All compiler options that can be given in the source + file can now also be given in the option list or from the + command line for erlc.

+

Specifically, the option + {nowarn_deprecated_function,MFAs} was only + recognized when given in the file with the attribute + -compile(). The option + {nowarn_unused_function,FAs} was incorrectly + documented to only work in a file, but it also worked + when given in the option list.

+

+ Own Id: OTP-15456

+
+ +

Do not allow function specifications for functions + residing in other modules.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15563 Aux Id: ERL-845, OTP-15562

+
+ +

Internal documentation has now been added to the + Erts and Compiler applications.

+

The internal documents for Erts describe + miscellaneous interesting implementation details. Those + details can change at any time.

+

The internal documentation for Compiler + documents the API for the Core Erlang modules. While we + will not change those APIs without good reason, we don't + give the same guarantees about backward compatibility as + for the rest of the APIs in OTP.

+

+ Own Id: OTP-15715

+
+ +

There are new compiler options nowarn_removed + and {nowarn_removed,Items} to suppress warnings + for functions and modules that have been removed from + OTP.

+

+ Own Id: OTP-15749 Aux Id: ERL-904

+
+
+
+ +
+
Compiler 7.3.2
Fixed Bugs and Malfunctions diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk index a523627384..494de072ff 100644 --- a/lib/compiler/vsn.mk +++ b/lib/compiler/vsn.mk @@ -1 +1 @@ -COMPILER_VSN = 7.3.2 +COMPILER_VSN = 7.4 diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml index 195c9d029d..b69657bfa8 100644 --- a/lib/crypto/doc/src/notes.xml +++ b/lib/crypto/doc/src/notes.xml @@ -31,6 +31,137 @@

This document describes the changes made to the Crypto application.

+
Crypto 4.5 + +
Fixed Bugs and Malfunctions + + +

+ Fixed a bug in error return for crypto:poly1305/2. + It returned the atom notsup instead of the + exception notsup.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15677

+
+ +

+ The cipher chacha20 was introduced in OpenSSL 1.1.0. + However, it could in a very odd situation, fail for + versions less than OpenSSL 1.1.0d. It is therefore + disabled for those versions.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15678

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

A new rand module algorithm, exro928ss + (Xoroshiro928**), has been implemented. It has got a + really long period and good statistical quality for all + output bits, while still being only about 50% slower than + the default algorithm.

The same generator is also + used as a long period counter in a new crypto + plugin for the rand module, algorithm + crypto_aes. This plugin uses AES-256 to scramble + the counter which buries any detectable statistical + artifacts. Scrambling is done in chunks which are cached + to get good amortized speed (about half of the default + algorithm).

+

+ Own Id: OTP-14461 Aux Id: PR-1857

+
+ +

+ Crypto's single C-file is split into multiple files. The + different coding styles in the different parts are + unified into a single style.

+

+ Own Id: OTP-14732 Aux Id: PR-2068, PR-2095

+
+ +

+ Build configuration of the crypto application has + been moved from the erts application into the + crypto application.

+

+ Own Id: OTP-15129

+
+ +

+ Adds two hash functions blake2b and blake2s + (64 bit hash and 32 bit hash respectively). These are + modern and standard hash functions used in blockchains + and encrypted communication protocols. The hash functions + are available in OpenSSL since version 1.1.1.

+

+ Own Id: OTP-15564 Aux Id: PR-2129

+
+ +

+ A new API is implemented in crypto. See the CRYPTO user's + guide, chapter New and Old API for more + information.

+

+ The old api with the crypto:block_* and + crypto:stream_* interfaces are kept for + compatibility, but implemented with the new api. Please + note that since the error checking is more thorough, + there might be arguments with for example faulty + lengths that are no longer accepted.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15644 Aux Id: OTP-14732 , OTP-15451, PR-1857 + , PR-2068, PR-2095

+
+ +

+ The new hash_info/1 and cipher_info/1 functions returns + maps with information about the hash or cipher in the + argument.

+

+ Own Id: OTP-15655 Aux Id: PR-2173, ERL-864, PR-2186

+
+ +

+ Obey additional OpenSSL configure flags when compiling + the C-part of the CRYPTO application: no-bf, + no-blake2, no-chacha, no-cmac, + no-dh, no-dsa, no-md4, + no-poly1305, no-rc2, no-rc4 and + no-rmd160.

+

+ Own Id: OTP-15683

+
+ +

+ A new function crypto:supports/1 is introduced. + The single argument takes an atom as argument: + hashes, public_keys, ciphers, + macs, curves or rsa_opts. The return + value is a list of supported algorithms.

+

+ The difference with the existing crypto:supports/0 + is, apart from the argument and the return value, that + the old function reports what is supported by the old + api, and the new function reports algorithms in the new + api.

+

+ Own Id: OTP-15771

+
+
+
+ +
+
Crypto 4.4.2
Fixed Bugs and Malfunctions diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk index 0a3d9f45e4..72a51bfec9 100644 --- a/lib/crypto/vsn.mk +++ b/lib/crypto/vsn.mk @@ -1 +1 @@ -CRYPTO_VSN = 4.4.2 +CRYPTO_VSN = 4.5 diff --git a/lib/debugger/doc/src/notes.xml b/lib/debugger/doc/src/notes.xml index 395b69973d..795b46d467 100644 --- a/lib/debugger/doc/src/notes.xml +++ b/lib/debugger/doc/src/notes.xml @@ -33,6 +33,23 @@

This document describes the changes made to the Debugger application.

+
Debugger 4.2.7 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

+
+
+
+ +
+
Debugger 4.2.6
Fixed Bugs and Malfunctions diff --git a/lib/debugger/vsn.mk b/lib/debugger/vsn.mk index a3cbb497f8..daecc7594c 100644 --- a/lib/debugger/vsn.mk +++ b/lib/debugger/vsn.mk @@ -1 +1 @@ -DEBUGGER_VSN = 4.2.6 +DEBUGGER_VSN = 4.2.7 diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml index bc422c43a0..dd0a2bfd7d 100644 --- a/lib/dialyzer/doc/src/notes.xml +++ b/lib/dialyzer/doc/src/notes.xml @@ -32,6 +32,52 @@

This document describes the changes made to the Dialyzer application.

+
Dialyzer 4.0 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

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

By default Dialyzer inserts line breaks in types, + contracts, and Erlang Code when formatting results. Use + the new --no_indentation option to get the old + behavior of not inserting line breaks.

+

+ Own Id: OTP-15135

+
+ +

Use bit syntax in warnings instead of Core Erlang + syntax, for readability.

+

+ Own Id: OTP-15752

+
+ +

The format of the raw analysis result tagged with + fun_app_args is changed to {fun_app_args, + [ArgNs, Args, Type]}.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15779

+
+
+
+ +
+
Dialyzer 3.3.2
Fixed Bugs and Malfunctions diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk index 7221993963..95984c7c85 100644 --- a/lib/dialyzer/vsn.mk +++ b/lib/dialyzer/vsn.mk @@ -1 +1 @@ -DIALYZER_VSN = 3.3.2 +DIALYZER_VSN = 4.0 diff --git a/lib/edoc/doc/src/notes.xml b/lib/edoc/doc/src/notes.xml index 145856bcaa..48bc5d9c74 100644 --- a/lib/edoc/doc/src/notes.xml +++ b/lib/edoc/doc/src/notes.xml @@ -32,6 +32,20 @@

This document describes the changes made to the EDoc application.

+
Edoc 0.11 + +
Improvements and New Features + + +

Correct links in the documentation.

+

+ Own Id: OTP-15761

+
+
+
+ +
+
Edoc 0.10
Improvements and New Features diff --git a/lib/edoc/vsn.mk b/lib/edoc/vsn.mk index b6e1422623..3510fdfccf 100644 --- a/lib/edoc/vsn.mk +++ b/lib/edoc/vsn.mk @@ -1 +1 @@ -EDOC_VSN = 0.10 +EDOC_VSN = 0.11 diff --git a/lib/eldap/doc/src/notes.xml b/lib/eldap/doc/src/notes.xml index 975a25d7a8..946db5b93d 100644 --- a/lib/eldap/doc/src/notes.xml +++ b/lib/eldap/doc/src/notes.xml @@ -31,6 +31,22 @@

This document describes the changes made to the Eldap application.

+
Eldap 1.2.8 + +
Fixed Bugs and Malfunctions + + +

+ Fix dialyzer warnings in eldap when not matching the + return value of ssl:close/1.

+

+ Own Id: OTP-15775

+
+
+
+ +
+
Eldap 1.2.7
Improvements and New Features diff --git a/lib/eldap/vsn.mk b/lib/eldap/vsn.mk index 7f03fbd1b2..8f969e6945 100644 --- a/lib/eldap/vsn.mk +++ b/lib/eldap/vsn.mk @@ -1 +1 @@ -ELDAP_VSN = 1.2.7 +ELDAP_VSN = 1.2.8 diff --git a/lib/erl_docgen/doc/src/notes.xml b/lib/erl_docgen/doc/src/notes.xml index 54f0a36b27..f25361a202 100644 --- a/lib/erl_docgen/doc/src/notes.xml +++ b/lib/erl_docgen/doc/src/notes.xml @@ -31,7 +31,24 @@

This document describes the changes made to the erl_docgen application.

-
Erl_Docgen 0.9 +
Erl_Docgen 0.9.1 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

+
+
+
+ +
+ +
Erl_Docgen 0.9
Improvements and New Features diff --git a/lib/erl_docgen/vsn.mk b/lib/erl_docgen/vsn.mk index 6321f229dd..fece2456c1 100644 --- a/lib/erl_docgen/vsn.mk +++ b/lib/erl_docgen/vsn.mk @@ -1 +1 @@ -ERL_DOCGEN_VSN = 0.9 +ERL_DOCGEN_VSN = 0.9.1 diff --git a/lib/erl_interface/doc/src/ei.xml b/lib/erl_interface/doc/src/ei.xml index c22f3fb0ce..70af5642da 100644 --- a/lib/erl_interface/doc/src/ei.xml +++ b/lib/erl_interface/doc/src/ei.xml @@ -183,7 +183,7 @@ typedef enum { - intei_decode_bitstring(const char *buf, int *index, const char **pp, unsigned int *bitoffsp, size_t *nbitsp) + intei_decode_bitstring(const char *buf, int *index, const char **pp, unsigned int *bitoffsp, size_t *nbitsp) Decode a bitstring.

Decodes a bit string from the binary format.

@@ -498,9 +498,9 @@ typedef enum {
- int + int ei_encode_bitstring(char *buf, int *index, const char *p, size_t bitoffs, size_t nbits) - int + int ei_x_encode_bitstring(ei_x_buff* x, const char *p, size_t bitoffs, size_t nbits) Encode a bitstring. diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml index 3d7f7e5637..c47f0d2bd1 100644 --- a/lib/erl_interface/doc/src/notes.xml +++ b/lib/erl_interface/doc/src/notes.xml @@ -31,6 +31,82 @@

This document describes the changes made to the Erl_interface application.

+
Erl_Interface 3.12 + +
Fixed Bugs and Malfunctions + + +

+ The vxworks configure has been updated to respect the + environment CFLAGS.

+

+ Own Id: OTP-15773

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

+ Minor adjustments made to build system for parallel + configure.

+

+ Own Id: OTP-15340 Aux Id: OTP-14625

+
+ +

+ The limited support for VxWorks is deprecated as of OTP + 22, and will be removed in OTP 23.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15621

+
+ +

The old legacy erl_interface library (functions + with prefix erl_) is deprecated as of OTP 22, and + will be removed in OTP 23. This does not apply to the + ei library. Reasonably new gcc compilers + will issue deprecation warnings. In order to disable + these warnings, define the macro + EI_NO_DEPR_WARN.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15622

+
+ +

Added support to receive, decode, encode and send both + bit strings and export funs (fun M:F/A).

+

New functions ei_decode_bitstring and + ei_encode_bitstring have been added in order to + decode and encode bit strings where the number of bits is + not necessary divisible by 8 (a whole number of bytes). + The existing functions ei_decode_fun and + ei_encode_fun can now also handle export funs.

+

Before this change, bit strings and export funs sent + to an erl_interface c-node were encoded using an + undocumented fallback tuple format. For bit strings + {Binary,BitsInLastByte} and for export funs + {M,F}. Existing c-node implementations expecting + these tuples must be changed to instead use + ei_decode_bitstring and ei_decode_fun. As a + temporary solution you can also build erl_interface with + macro EI_COMPAT=21 or call + ei_set_compat_rel(21) to receive the old fallback + tuples.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15712 Aux Id: OTP-15774

+
+
+
+ +
+
Erl_Interface 3.11.3
Fixed Bugs and Malfunctions diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk index 4e31b3835d..cc72ed639a 100644 --- a/lib/erl_interface/vsn.mk +++ b/lib/erl_interface/vsn.mk @@ -1,2 +1,2 @@ -EI_VSN = 3.11.3 +EI_VSN = 3.12 ERL_INTERFACE_VSN = $(EI_VSN) diff --git a/lib/hipe/doc/src/notes.xml b/lib/hipe/doc/src/notes.xml index 9a803cb9df..a2e0766bb7 100644 --- a/lib/hipe/doc/src/notes.xml +++ b/lib/hipe/doc/src/notes.xml @@ -31,6 +31,52 @@

This document describes the changes made to HiPE.

+
Hipe 3.19 + +
Fixed Bugs and Malfunctions + + +

+ Add function hipe:erllvm_is_supported to check for + the presences of a suitable version of the LLVM tool + chain as well as supported hardware architecture. The old + hipe:llvm_support_available has been removed.

+

+ Own Id: OTP-15385 Aux Id: PR-1986

+
+ +

+ Fix hipe LLVM for FreeBSD and other non-linux unix to use + /tmp/ instead of /dev/shm/.

+

+ Own Id: OTP-15386 Aux Id: PR-1963

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

In OTP 22, HiPE (the native code compiler) is not + fully functional. The reasons for this are:

+

There are new BEAM instructions for binary matching + that the HiPE native code compiler does not support.

+

The new optimizations in the Erlang compiler create + new combination of instructions that HiPE currently does + not handle correctly.

+

If erlc is invoked with the +native option, and + if any of the new binary matching instructions are used, + the compiler will issue a warning and produce a BEAM file + without native code.

+

+ Own Id: OTP-15596

+
+
+
+ +
+
Hipe 3.18.3
Fixed Bugs and Malfunctions diff --git a/lib/hipe/vsn.mk b/lib/hipe/vsn.mk index 39565d721f..a91d92ca14 100644 --- a/lib/hipe/vsn.mk +++ b/lib/hipe/vsn.mk @@ -1 +1 @@ -HIPE_VSN = 3.18.3 +HIPE_VSN = 3.19 diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml index 2710ea2f2f..03bd1d8042 100644 --- a/lib/inets/doc/src/notes.xml +++ b/lib/inets/doc/src/notes.xml @@ -33,7 +33,24 @@ notes.xml -
Inets 7.0.7 +
Inets 7.0.8 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

+
+
+
+ +
+ +
Inets 7.0.7
Fixed Bugs and Malfunctions diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk index fd248e793a..5dbec9e7b3 100644 --- a/lib/inets/vsn.mk +++ b/lib/inets/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = inets -INETS_VSN = 7.0.7 +INETS_VSN = 7.0.8 PRE_VSN = APP_VSN = "$(APPLICATION)-$(INETS_VSN)$(PRE_VSN)" diff --git a/lib/jinterface/doc/src/notes.xml b/lib/jinterface/doc/src/notes.xml index e4bfddcd17..e79ada47f1 100644 --- a/lib/jinterface/doc/src/notes.xml +++ b/lib/jinterface/doc/src/notes.xml @@ -31,6 +31,42 @@

This document describes the changes made to the Jinterface application.

+
Jinterface 1.10 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

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

Added support to receive export funs (fun + M:F/A).

+

Before this change, export funs sent to a jinterface + node were encoded using an undocumented fallback tuple + format {M,F}. Existing jinterface implementations + expecting these tuples must be changed to instead use the + existing OtpErlangExternalFun class.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15774 Aux Id: OTP-15712

+
+
+
+ +
+
Jinterface 1.9.1
Fixed Bugs and Malfunctions diff --git a/lib/jinterface/vsn.mk b/lib/jinterface/vsn.mk index a8dc815145..95c7c95726 100644 --- a/lib/jinterface/vsn.mk +++ b/lib/jinterface/vsn.mk @@ -1 +1 @@ -JINTERFACE_VSN = 1.9.1 +JINTERFACE_VSN = 1.10 diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml index 61bd598145..6f68a67174 100644 --- a/lib/kernel/doc/src/notes.xml +++ b/lib/kernel/doc/src/notes.xml @@ -31,6 +31,104 @@

This document describes the changes made to the Kernel application.

+
Kernel 6.4 + +
Fixed Bugs and Malfunctions + + +

+ Fix so that when multiple -sname or -name + are given to erl the first one is chosen. Before + this fix distribution was not started at all when + multiple name options were given.

+

+ Own Id: OTP-15786 Aux Id: ERL-918

+
+ +

+ Fix inet_res configuration pointing to + non-existing files to work again. This was broken in + KERNEL-6.3 (OTP-21.3).

+

+ Own Id: OTP-15806

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

+ A simple socket API is provided through the socket + module. This is a low level API that does *not* replace + gen_[tcp|udp|sctp]. It is intended to *eventually* + replace the inet driver, but not the high level + gen-modules (gen_tcp, gen_udp and gen_sctp). It also + provides a basic API that facilitates the implementation + of other protocols, that is TCP, UDP and SCTP.

+

+ Known issues are; No support for the Windows OS + (currently).

+

+ Own Id: OTP-14831

+
+ +

+ Improved the documentation for the linger option.

+

+ Own Id: OTP-15491 Aux Id: PR-2019

+
+ +

Global no longer tries more than once when connecting + to other nodes.

+

+ Own Id: OTP-15607 Aux Id: ERIERL-280

+
+ +

+ The dist messages EXIT, EXIT2 and MONITOR_DOWN have been + updated with new versions that send the reason term as + part of the payload of the message instead of as part of + the control message.

+

+ The old versions are still present and can be used when + communicating with nodes that don't support the new + versions.

+

+ Own Id: OTP-15611

+
+ +

+ Kernel configuration parameter start_distribution = + boolean() is added. If set to false, the + system is started with all distribution functionality + disabled. Defaults to true.

+

+ Own Id: OTP-15668 Aux Id: PR-2088

+
+ +

+ In OTP-21.3, a warning was introduced for duplicated + applications/keys in configuration. This warning would be + displayed both when the configuration was given as a file + on system start, and during runtime via + application:set_env/1,2.

+

+ The warning is now changed to a badarg exception + in application:set_env/1,2. If the faulty + configuration is given in a configuration file on system + start, the startup will fail.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15692 Aux Id: PR-2170

+
+
+
+ +
+
Kernel 6.3.1
Fixed Bugs and Malfunctions diff --git a/lib/kernel/src/kernel.appup.src b/lib/kernel/src/kernel.appup.src index aca3247c8f..cd0397a98c 100644 --- a/lib/kernel/src/kernel.appup.src +++ b/lib/kernel/src/kernel.appup.src @@ -19,23 +19,15 @@ %% %% We allow upgrade from, and downgrade to all previous %% versions from the following OTP releases: -%% - OTP 20 %% - OTP 21 +%% - OTP 22 %% %% We also allow upgrade from, and downgrade to all %% versions that have branched off from the above %% stated previous versions. %% {"%VSN%", - [{<<"^5\\.3$">>,[restart_new_emulator]}, - {<<"^5\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^5\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^5\\.4$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^6\\.0$">>,[restart_new_emulator]}, + [{<<"^6\\.0$">>,[restart_new_emulator]}, {<<"^6\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^6\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^6\\.1$">>,[restart_new_emulator]}, @@ -45,16 +37,9 @@ {<<"^6\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^6\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^6\\.3$">>,[restart_new_emulator]}, - {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}], - [{<<"^5\\.3$">>,[restart_new_emulator]}, - {<<"^5\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^5\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^5\\.4$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^5\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^6\\.0$">>,[restart_new_emulator]}, + {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^6\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], + [{<<"^6\\.0$">>,[restart_new_emulator]}, {<<"^6\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^6\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^6\\.1$">>,[restart_new_emulator]}, @@ -64,4 +49,5 @@ {<<"^6\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^6\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^6\\.3$">>,[restart_new_emulator]}, - {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}. + {<<"^6\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^6\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk index b1ae513223..765e890157 100644 --- a/lib/kernel/vsn.mk +++ b/lib/kernel/vsn.mk @@ -1 +1 @@ -KERNEL_VSN = 6.3.1 +KERNEL_VSN = 6.4 diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml index b697c3f631..6f33ae390c 100644 --- a/lib/megaco/doc/src/notes.xml +++ b/lib/megaco/doc/src/notes.xml @@ -37,7 +37,30 @@ section is the version number of Megaco.

-
Megaco 3.18.4 +
Megaco 3.18.5 + +
Improvements and New Features + + +

+ Minor updates to build system necessary due to move of + configuration of crypto application.

+

+ Own Id: OTP-15262 Aux Id: OTP-15129

+
+ +

+ Minor adjustments made to build system for parallel + configure.

+

+ Own Id: OTP-15340 Aux Id: OTP-14625

+
+
+
+ +
+ +
Megaco 3.18.4
Fixed Bugs and Malfunctions diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk index f4c82c537a..843a3dccc5 100644 --- a/lib/megaco/vsn.mk +++ b/lib/megaco/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = megaco -MEGACO_VSN = 3.18.4 +MEGACO_VSN = 3.18.5 PRE_VSN = APP_VSN = "$(APPLICATION)-$(MEGACO_VSN)$(PRE_VSN)" diff --git a/lib/mnesia/doc/src/notes.xml b/lib/mnesia/doc/src/notes.xml index 01d1666b8d..2d38e4d01c 100644 --- a/lib/mnesia/doc/src/notes.xml +++ b/lib/mnesia/doc/src/notes.xml @@ -39,7 +39,51 @@ thus constitutes one section in this document. The title of each section is the version number of Mnesia.

-
Mnesia 4.15.6 +
Mnesia 4.16 + +
Fixed Bugs and Malfunctions + + +

+ Optimize mnesia:read/1 if data have been written in the + same transaction.

+

+ Own Id: OTP-15550 Aux Id: PR-2029

+
+ +

+ Fixed bugs in table index plugin handling.

+

+ Own Id: OTP-15689 Aux Id: PR-1695 ERL-556

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

+ Optimized dumping of tables with plugin backends.

+

+ Own Id: OTP-15588 Aux Id: PR-2102

+
+ +

+ Include stacktrace in exception if a dirty activity + errors, thus if user have matched on the error thrown it + may not match any more.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15804 Aux Id: PR-2216

+
+
+
+ +
+ +
Mnesia 4.15.6
Fixed Bugs and Malfunctions diff --git a/lib/mnesia/vsn.mk b/lib/mnesia/vsn.mk index 781a4830a0..aa5d9adb6d 100644 --- a/lib/mnesia/vsn.mk +++ b/lib/mnesia/vsn.mk @@ -1 +1 @@ -MNESIA_VSN = 4.15.6 +MNESIA_VSN = 4.16 diff --git a/lib/observer/doc/src/notes.xml b/lib/observer/doc/src/notes.xml index 2d914f8c61..f05e58dc21 100644 --- a/lib/observer/doc/src/notes.xml +++ b/lib/observer/doc/src/notes.xml @@ -32,6 +32,23 @@

This document describes the changes made to the Observer application.

+
Observer 2.9.1 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

+
+
+
+ +
+
Observer 2.9
Fixed Bugs and Malfunctions diff --git a/lib/observer/vsn.mk b/lib/observer/vsn.mk index 0e9c8b302c..c16c43f942 100644 --- a/lib/observer/vsn.mk +++ b/lib/observer/vsn.mk @@ -1 +1 @@ -OBSERVER_VSN = 2.9 +OBSERVER_VSN = 2.9.1 diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml index 696fcaa479..8d708162e4 100644 --- a/lib/odbc/doc/src/notes.xml +++ b/lib/odbc/doc/src/notes.xml @@ -32,7 +32,23 @@

This document describes the changes made to the odbc application.

-
ODBC 2.12.3 +
ODBC 2.12.4 + +
Improvements and New Features + + +

+ Minor adjustments made to build system for parallel + configure.

+

+ Own Id: OTP-15340 Aux Id: OTP-14625

+
+
+
+ +
+ +
ODBC 2.12.3
Fixed Bugs and Malfunctions diff --git a/lib/odbc/vsn.mk b/lib/odbc/vsn.mk index ff023e666b..df6db09f2f 100644 --- a/lib/odbc/vsn.mk +++ b/lib/odbc/vsn.mk @@ -1 +1 @@ -ODBC_VSN = 2.12.3 +ODBC_VSN = 2.12.4 diff --git a/lib/os_mon/doc/src/notes.xml b/lib/os_mon/doc/src/notes.xml index 64e9f281e3..1f169263e9 100644 --- a/lib/os_mon/doc/src/notes.xml +++ b/lib/os_mon/doc/src/notes.xml @@ -31,6 +31,35 @@

This document describes the changes made to the OS_Mon application.

+
Os_Mon 2.5 + +
Fixed Bugs and Malfunctions + + +

+ Fix typespec of cpu_sup:util().

+

+ Own Id: OTP-15770 Aux Id: PR-2208

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

+ The application otp_mibs has been removed from OTP. Some + of its components (mibs) have been moved to other apps + (snmp), or removed completely (os_mon).

+

+ Own Id: OTP-14984 Aux Id: OTP-15329

+
+
+
+ +
+
Os_Mon 2.4.7
Fixed Bugs and Malfunctions diff --git a/lib/os_mon/vsn.mk b/lib/os_mon/vsn.mk index 9713f6bc6b..845443d329 100644 --- a/lib/os_mon/vsn.mk +++ b/lib/os_mon/vsn.mk @@ -1 +1 @@ -OS_MON_VSN = 2.4.7 +OS_MON_VSN = 2.5 diff --git a/lib/public_key/doc/src/notes.xml b/lib/public_key/doc/src/notes.xml index d83dd24f41..d13c9a520a 100644 --- a/lib/public_key/doc/src/notes.xml +++ b/lib/public_key/doc/src/notes.xml @@ -35,6 +35,58 @@ notes.xml +
Public_Key 1.6.7 + +
Fixed Bugs and Malfunctions + + +

+ RSA options passed to crypto for encrypt and decrypt with + public or private key.

+

+ Own Id: OTP-15754 Aux Id: ERL-878

+
+ +

+ Fix dialyzer warnings caused by a faulty type + specification for digest_type().

+

+ This change updates digest_type() and the functions + operating with this argument type to accept both 'sha1' + and 'sha' as digest_type().

+

+ Own Id: OTP-15776

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

+ Add possibility to read PEM files encrypted with old PEM + encryption using AES-256

+

+ Own Id: OTP-13726

+
+ +

+ Relax decoding of certificates to so that "harmless" + third party encoding errors may be accepted but not + created by the public_key application. This adds + acceptance of using an incorrect three character country + code, the PKIX standard use two character country codes. + It is also accepted that the country code is utf8 encoded + but the specification says it should be ASCII.

+

+ Own Id: OTP-15687 Aux Id: PR-2162

+
+
+
+ +
+
Public_Key 1.6.6
Improvements and New Features diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk index c68806d856..a5e4ec8d5a 100644 --- a/lib/public_key/vsn.mk +++ b/lib/public_key/vsn.mk @@ -1 +1 @@ -PUBLIC_KEY_VSN = 1.6.6 +PUBLIC_KEY_VSN = 1.6.7 diff --git a/lib/reltool/doc/src/notes.xml b/lib/reltool/doc/src/notes.xml index 165ae6db6a..ee00b6086d 100644 --- a/lib/reltool/doc/src/notes.xml +++ b/lib/reltool/doc/src/notes.xml @@ -38,7 +38,40 @@ thus constitutes one section in this document. The title of each section is the version number of Reltool.

-
Reltool 0.7.8 +
Reltool 0.8 + +
Improvements and New Features + + +

+ A new element, Opts, can now be included in a + rel tuple in the reltool release specific + configuration format: {rel, Name, Vsn, RelApps, Opts}.

+

+ This supports the use of {rel, Name, Vsn, RelApps, + [{load_dot_erlang, false}]} to prevent the boot + script from running the .erlang file.

+

+ The incompatibilities are as follows:

+

+ * The return from reltool:get_config/1 and + reltool:get_config/3 includes the new rel + tuple for all releases where the load_dot_erlang + option is set to false.
* The return from + reltool:get_config/3 includes the new rel + tuple for ALL releases if the InclDefs parameter + is set to true.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15571

+
+
+
+ +
+ +
Reltool 0.7.8
Fixed Bugs and Malfunctions diff --git a/lib/reltool/vsn.mk b/lib/reltool/vsn.mk index a649a3e0c0..c5aacfba38 100644 --- a/lib/reltool/vsn.mk +++ b/lib/reltool/vsn.mk @@ -1 +1 @@ -RELTOOL_VSN = 0.7.8 +RELTOOL_VSN = 0.8 diff --git a/lib/runtime_tools/doc/src/notes.xml b/lib/runtime_tools/doc/src/notes.xml index 58a2a66c4b..1b94c3e6d9 100644 --- a/lib/runtime_tools/doc/src/notes.xml +++ b/lib/runtime_tools/doc/src/notes.xml @@ -32,6 +32,22 @@

This document describes the changes made to the Runtime_Tools application.

+
Runtime_Tools 1.13.3 + +
Improvements and New Features + + +

+ Minor updates to build system necessary due to move of + configuration of crypto application.

+

+ Own Id: OTP-15262 Aux Id: OTP-15129

+
+
+
+ +
+
Runtime_Tools 1.13.2
Improvements and New Features diff --git a/lib/runtime_tools/vsn.mk b/lib/runtime_tools/vsn.mk index fa2f338ec2..3f38574be4 100644 --- a/lib/runtime_tools/vsn.mk +++ b/lib/runtime_tools/vsn.mk @@ -1 +1 @@ -RUNTIME_TOOLS_VSN = 1.13.2 +RUNTIME_TOOLS_VSN = 1.13.3 diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml index 982c874117..a1ae404776 100644 --- a/lib/sasl/doc/src/notes.xml +++ b/lib/sasl/doc/src/notes.xml @@ -31,6 +31,23 @@

This document describes the changes made to the SASL application.

+
SASL 3.4 + +
Improvements and New Features + + +

+ Change the first module called by erts to be named + erl_init instead of otp_ring0. systools in sasl have been + updated to reflect this change.

+

+ Own Id: OTP-15336 Aux Id: PR-1825

+
+
+
+ +
+
SASL 3.3
Improvements and New Features diff --git a/lib/sasl/src/sasl.appup.src b/lib/sasl/src/sasl.appup.src index 26127eae84..22a9027b7c 100644 --- a/lib/sasl/src/sasl.appup.src +++ b/lib/sasl/src/sasl.appup.src @@ -19,27 +19,21 @@ %% %% We allow upgrade from, and downgrade to all previous %% versions from the following OTP releases: -%% - OTP 20 %% - OTP 21 +%% - OTP 22 %% %% We also allow upgrade from, and downgrade to all %% versions that have branched off from the above %% stated previous versions. %% {"%VSN%", - [{<<"^3\\.0\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.1$">>,[restart_new_emulator]}, - {<<"^3\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.2$">>,[restart_new_emulator]}, + [{<<"^3\\.2$">>,[restart_new_emulator]}, {<<"^3\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], - [{<<"^3\\.0\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.1$">>,[restart_new_emulator]}, - {<<"^3\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.2$">>,[restart_new_emulator]}, + {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.3$">>,[restart_new_emulator]}, + {<<"^3\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}], + [{<<"^3\\.2$">>,[restart_new_emulator]}, {<<"^3\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. + {<<"^3\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.3$">>,[restart_new_emulator]}, + {<<"^3\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}. diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk index c1f80752a7..8838b514da 100644 --- a/lib/sasl/vsn.mk +++ b/lib/sasl/vsn.mk @@ -1 +1 @@ -SASL_VSN = 3.3 +SASL_VSN = 3.4 diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml index a6c3d57148..780e0cae76 100644 --- a/lib/snmp/doc/src/notes.xml +++ b/lib/snmp/doc/src/notes.xml @@ -34,7 +34,32 @@ -
SNMP 5.2.12 +
SNMP 5.3 + +
Improvements and New Features + + +

+ The application otp_mibs has been removed from OTP. Some + of its components (mibs) have been moved to other apps + (snmp), or removed completely (os_mon).

+

+ Own Id: OTP-14984 Aux Id: OTP-15329

+
+ +

+ [snmp|agent] Add a get-mechanism callback module (and a + corresponding behaviour). The agent calls this module to + handle each get (get, get-next and get-bulk) request.

+

+ Own Id: OTP-15691 Aux Id: ERIERL-324

+
+
+
+ +
+ +
SNMP 5.2.12
Fixed Bugs and Malfunctions diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml index 78990c48f2..60f20c7c3f 100644 --- a/lib/ssh/doc/src/notes.xml +++ b/lib/ssh/doc/src/notes.xml @@ -30,6 +30,21 @@ notes.xml +
Ssh 4.7.7 + +
Improvements and New Features + + +

+ SSH uses the new crypto API.

+

+ Own Id: OTP-15673

+
+
+
+ +
+
Ssh 4.7.6
Improvements and New Features diff --git a/lib/ssh/src/ssh.app.src b/lib/ssh/src/ssh.app.src index 7449405d20..2193c14611 100644 --- a/lib/ssh/src/ssh.app.src +++ b/lib/ssh/src/ssh.app.src @@ -44,7 +44,7 @@ {env, []}, {mod, {ssh_app, []}}, {runtime_dependencies, [ - "crypto-@OTP-15644@", + "crypto-4.5", "erts-9.0", "kernel-5.3", "public_key-1.6.1", diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk index 837da27ab0..bb87dd388c 100644 --- a/lib/ssh/vsn.mk +++ b/lib/ssh/vsn.mk @@ -1,4 +1,4 @@ #-*-makefile-*- ; force emacs to enter makefile-mode -SSH_VSN = 4.7.6 +SSH_VSN = 4.7.7 APP_VSN = "ssh-$(SSH_VSN)" diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml index 7947049a04..5fdcf15b5f 100644 --- a/lib/ssl/doc/src/notes.xml +++ b/lib/ssl/doc/src/notes.xml @@ -27,6 +27,81 @@

This document describes the changes made to the SSL application.

+
SSL 9.3 + +
Fixed Bugs and Malfunctions + + +

+ The distribution handshake with TLS distribution + (inet_tls_dist) does now utilize the socket option + {nodelay, true}, which decreases the distribution + setup time significantly.

+

+ Own Id: OTP-14792

+
+ +

+ Correct shutdown reason to avoid an incorrect crash + report

+

+ Own Id: OTP-15710 Aux Id: ERL-893

+
+ +

+ Enhance documentation and type specifications.

+

+ Own Id: OTP-15746 Aux Id: ERIERL-333

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

+ TLS-1.0, TLS-1.1 and DTLS-1.0 are now considered legacy + and not supported by default

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-14865

+
+ +

+ Use new logger API in ssl. Introduce log levels and + verbose debug logging for SSL.

+

+ Own Id: OTP-15055

+
+ +

+ Add new API function str_to_suite/1, cipher_suites/3 + (list cipher suites as rfc or OpenSSL name strings) and + suite_to_openssl_str/1

+

+ Own Id: OTP-15483 Aux Id: ERL-924

+
+ +

+ Basic support for TLS 1.3 Server for experimental use. + The client is not yet functional, for more information + see the Standards Compliance chapter of the User's Guide.

+

+ Own Id: OTP-15591

+
+ +

+ Add support for PSK CCM ciphers from RFC 6655

+

+ Own Id: OTP-15626

+
+
+
+ +
+
SSL 9.2.3
Fixed Bugs and Malfunctions diff --git a/lib/ssl/vsn.mk b/lib/ssl/vsn.mk index b5545b71f7..3c66ffd852 100644 --- a/lib/ssl/vsn.mk +++ b/lib/ssl/vsn.mk @@ -1 +1 @@ -SSL_VSN = 9.2.3 +SSL_VSN = 9.3 diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index ef12e525e3..605a9f224d 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,247 @@

This document describes the changes made to the STDLIB application.

+
STDLIB 3.9 + +
Fixed Bugs and Malfunctions + + +

Fix a bug in string:lexemes/2.

The + bug was found when optimizing the handling of deep lists + of Unicode characters in the string module.

+

+ Own Id: OTP-15649

+
+ +

A bug has been fixed in the maps implementation + that could cause a crash or memory usage to grow until + the machine ran out of memory. This could happen when + inserting a new key-value pair with a key K1 + containing a binary B1 into a map M having + a key K2 with a binary B2 if the following + conditions were met:

B1 =/= + B2 size(B1) >= 4294967296 + size(B2) >= 4294967296 + size(M) >= 32 (size(B1) rem + 4294967296) == (size(B2) rem 4294967296) + the first (size(B1) rem 4294967296) bytes + are the same both in B1 and B2 + substituting B1 in K1 with B2 + would create a term with the same value as + K2

The root cause of the problem + is that the maps implementation only hashed the + first (X rem 4294967296) bytes of binaries so that + different binaries could get the same hash value + independently of the hash seed.

+

+ Own Id: OTP-15707

+
+ +

Since the introduction of the stack trace variable, + the Erlang Pretty Printer has left out the exception + class throw even when the stack trace variable + cannot be left out, which is not correct Erlang code. The + fix is to always include the exception class + throw.

+

+ Own Id: OTP-15751

+
+ +

record_info/2 is a pseudo-function that + requires literal arguments known at compile time. + Therefore, the following usage is illegal: fun + record/info/2. The compiler would crash when during + compilation of that kind of code. Corrected to issue a + compilation error.

+

+ Own Id: OTP-15760 Aux Id: ERL-907

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

A new rand module algorithm, exro928ss + (Xoroshiro928**), has been implemented. It has got a + really long period and good statistical quality for all + output bits, while still being only about 50% slower than + the default algorithm.

The same generator is also + used as a long period counter in a new crypto + plugin for the rand module, algorithm + crypto_aes. This plugin uses AES-256 to scramble + the counter which buries any detectable statistical + artifacts. Scrambling is done in chunks which are cached + to get good amortized speed (about half of the default + algorithm).

+

+ Own Id: OTP-14461 Aux Id: PR-1857

+
+ +

+ Types related to server naming and starting have been + exported from gen_statem. These are: + server_name/0, server_ref/0, + start_opt/0, start_ret/0 and + enter_loop_opt/0.

+

+ Own Id: OTP-14724 Aux Id: PR-2056

+
+ +

+ The default algorithm for the rand module has been + changed to exsss (Xorshift116**) which is a + combination of the Xorshift116 (exsp) state update + and a new scrambler "StarStar" from the 2018 paper + "Scrambled Linear Pseudorandom Number Generators" by + David Blackman and Sebastiano Vigna. This combination + should not have the caveat of weak low bits that the + previous default algorithm(s) have had, with the cost of + about 10% lower speed. See GitHub pull request #1969.

+

+ Own Id: OTP-14731 Aux Id: PR-1969

+
+ +

+ The generic state machine behaviour gen_statem has + gotten code cleanup and documentation improvements from + GitHub Pull Request #1855, even though the PR itself was + rejected.

+

+ Own Id: OTP-14737 Aux Id: PR-1855

+
+ +

+ Update Unicode specification to version 11.0.

+

+ Own Id: OTP-15111

+
+ +

+ ETS option write_concurrency now also affects and + improves the scalability of ordered_set tables. + The implementation is based on a data structure called + contention adapting search tree, where the lock + granularity adapts to the actual amount of concurrency + exploited by the applications in runtime.

+

+ Own Id: OTP-15128

+
+ +

+ Optimized maps:new/0 with trivial Erlang + implementation, making use of literal terms (the empty + map) not needing dynamic heap allocation.

+

+ Own Id: OTP-15200 Aux Id: PR-1878

+
+ +

The gen_* behaviours have been changed so that + if logging of the last N messages through + sys:log/2,3 is active for the server, this log is + included in the terminate report.

To accomplish + this the format of "System Events" as defined in the man + page for sys has been clarified and cleaned up, a + new function sys:get_log/1 has been added, and + sys:get_debug/3 has been deprecated. Due to these + changes, code that relies on the internal badly + documented format of "System Events", need to be + corrected.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15381

+
+ +

+ The gen_statem behaviour engine loop has been + optimized for better performance in particular when the + callback module returns some actions, that is better + performance for more realistic applications than the Echo + Benchmark.

+

+ Own Id: OTP-15452

+
+ +

Do not allow function specifications for functions + residing in other modules.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-15563 Aux Id: ERL-845, OTP-15562

+
+ +

+ The persistent_term functions put/2 and + erase/1 are now yielding.

+

+ Own Id: OTP-15615

+
+ +

Previously, all ETS tables used centralized counter + variables to keep track of the number of items stored and + the amount of memory consumed. These counters can cause + scalability problems (especially on big NUMA systems). + This change adds an implementation of a decentralized + counter and modifies the implementation of ETS so that + ETS tables of type ordered_set with + write_concurrency enabled use the decentralized + counter. Experiments indicate that this change + substantially improves the scalability of ETS + ordered_set tables with write_concurrency + enabled in scenarios with frequent ets:insert/2 + and ets:delete/2 calls.

+

+ Own Id: OTP-15623 Aux Id: PR-2190

+
+ +

Use ssh instead of rsh as the default + remote shell.

+

+ Own Id: OTP-15633 Aux Id: PR-1787

+
+ +

Added beam_lib:strip/2 and friends, which + accept a list of chunks that should be preserved when + stripping.

+

+ Own Id: OTP-15680 Aux Id: PR-2114

+
+ +

Optimize printing of maps with io_lib:write(). + Also optimize pretty printing of strings (~s and + ~ts) when limiting the output with the + chars_limit option.

+

+ Own Id: OTP-15705

+
+ +

There are new compiler options nowarn_removed + and {nowarn_removed,Items} to suppress warnings + for functions and modules that have been removed from + OTP.

+

+ Own Id: OTP-15749 Aux Id: ERL-904

+
+ +

Let the Erlang Pretty Printer put atomic parts on the + same line.

+

+ Own Id: OTP-15755

+
+ +

Add option quote_singleton_atom_types to the + Erlang Pretty Printer's functions. Setting the option to + true adds quotes to all singleton atom types.

+

+ Own Id: OTP-15756

+
+
+
+ +
+
STDLIB 3.8.2
Fixed Bugs and Malfunctions diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src index 9cd425db9a..ecb514e9f3 100644 --- a/lib/stdlib/src/stdlib.app.src +++ b/lib/stdlib/src/stdlib.app.src @@ -108,7 +108,7 @@ dets]}, {applications, [kernel]}, {env, []}, - {runtime_dependencies, ["sasl-3.0","kernel-6.0","erts-@OTP-15128@","crypto-3.3", + {runtime_dependencies, ["sasl-3.0","kernel-6.0","erts-10.4","crypto-3.3", "compiler-5.0"]} ]}. diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src index 9a1b92a87c..7038cc159c 100644 --- a/lib/stdlib/src/stdlib.appup.src +++ b/lib/stdlib/src/stdlib.appup.src @@ -19,22 +19,15 @@ %% %% We allow upgrade from, and downgrade to all previous %% versions from the following OTP releases: -%% - OTP 20 %% - OTP 21 +%% - OTP 22 %% %% We also allow upgrade from, and downgrade to all %% versions that have branched off from the above %% stated previous versions. %% {"%VSN%", - [{<<"^3\\.4$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.5(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.5$">>,[restart_new_emulator]}, + [{<<"^3\\.5$">>,[restart_new_emulator]}, {<<"^3\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^3\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.6$">>,[restart_new_emulator]}, @@ -44,15 +37,9 @@ {<<"^3\\.7\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.8$">>,[restart_new_emulator]}, {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], - [{<<"^3\\.4$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.4\\.5(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.5$">>,[restart_new_emulator]}, + {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.8\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], + [{<<"^3\\.5$">>,[restart_new_emulator]}, {<<"^3\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^3\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.6$">>,[restart_new_emulator]}, @@ -62,4 +49,5 @@ {<<"^3\\.7\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.8$">>,[restart_new_emulator]}, {<<"^3\\.8\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. + {<<"^3\\.8\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^3\\.8\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk index 80ec81b832..07224afdc9 100644 --- a/lib/stdlib/vsn.mk +++ b/lib/stdlib/vsn.mk @@ -1 +1 @@ -STDLIB_VSN = 3.8.2 +STDLIB_VSN = 3.9 diff --git a/lib/syntax_tools/doc/src/notes.xml b/lib/syntax_tools/doc/src/notes.xml index 772f5e6e04..a2dd78f280 100644 --- a/lib/syntax_tools/doc/src/notes.xml +++ b/lib/syntax_tools/doc/src/notes.xml @@ -32,6 +32,34 @@

This document describes the changes made to the Syntax_Tools application.

+
Syntax_Tools 2.2 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

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

Correct links in the documentation.

+

+ Own Id: OTP-15761

+
+
+
+ +
+
Syntax_Tools 2.1.7
Fixed Bugs and Malfunctions diff --git a/lib/syntax_tools/vsn.mk b/lib/syntax_tools/vsn.mk index 538c71dc24..0ace11772d 100644 --- a/lib/syntax_tools/vsn.mk +++ b/lib/syntax_tools/vsn.mk @@ -1 +1 @@ -SYNTAX_TOOLS_VSN = 2.1.7 +SYNTAX_TOOLS_VSN = 2.2 diff --git a/lib/tools/doc/src/notes.xml b/lib/tools/doc/src/notes.xml index 2191ebe2df..fd41e2cbeb 100644 --- a/lib/tools/doc/src/notes.xml +++ b/lib/tools/doc/src/notes.xml @@ -31,6 +31,49 @@

This document describes the changes made to the Tools application.

+
Tools 3.2 + +
Fixed Bugs and Malfunctions + + +

+ Add cprof and tags modules to .app file so + that they are included in releases.

+

+ Own Id: OTP-15534 Aux Id: PR-2078

+
+ +

+ Improved documentation parsing in emacs erldoc + functionality.

+

+ Own Id: OTP-15699 Aux Id: PR-2184

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

The cover tool now uses the counters + module instead of ets for updating the counters + for how many times a line has been executed. By default, + Cover will work with distributed nodes, but a new + function cover:local_only/0 allows running the + Cover in a restricted but faster local-only mode.

+

The increase in speed will vary depending on the type + of code being cover-compiled, but as an example, the + compiler test suite runs more than twice as fast with the + new Cover.

+

+ Own Id: OTP-15575

+
+
+
+ +
+
Tools 3.1
Fixed Bugs and Malfunctions diff --git a/lib/tools/vsn.mk b/lib/tools/vsn.mk index 5700885549..191a458c62 100644 --- a/lib/tools/vsn.mk +++ b/lib/tools/vsn.mk @@ -1 +1 @@ -TOOLS_VSN = 3.1 +TOOLS_VSN = 3.2 diff --git a/lib/wx/doc/src/notes.xml b/lib/wx/doc/src/notes.xml index 33d02e22ba..0c3374091d 100644 --- a/lib/wx/doc/src/notes.xml +++ b/lib/wx/doc/src/notes.xml @@ -32,6 +32,23 @@

This document describes the changes made to the wxErlang application.

+
Wx 1.8.8 + +
Fixed Bugs and Malfunctions + + +

+ All incorrect (that is, all) uses of "can not" has been + corrected to "cannot" in source code comments, + documentation, examples, and so on.

+

+ Own Id: OTP-14282 Aux Id: PR-1891

+
+
+
+ +
+
Wx 1.8.7
Fixed Bugs and Malfunctions diff --git a/lib/wx/vsn.mk b/lib/wx/vsn.mk index dac219fa98..91d15de3a9 100644 --- a/lib/wx/vsn.mk +++ b/lib/wx/vsn.mk @@ -1 +1 @@ -WX_VSN = 1.8.7 +WX_VSN = 1.8.8 diff --git a/lib/xmerl/doc/src/notes.xml b/lib/xmerl/doc/src/notes.xml index d6b6dfdfb5..37973d0dba 100644 --- a/lib/xmerl/doc/src/notes.xml +++ b/lib/xmerl/doc/src/notes.xml @@ -32,6 +32,21 @@

This document describes the changes made to the Xmerl application.

+
Xmerl 1.3.21 + +
Fixed Bugs and Malfunctions + + +

+ A typo in an error printout has been fixed.

+

+ Own Id: OTP-14703 Aux Id: PR-1964

+
+
+
+ +
+
Xmerl 1.3.20
Fixed Bugs and Malfunctions diff --git a/lib/xmerl/vsn.mk b/lib/xmerl/vsn.mk index 31ffa6e749..08696606e6 100644 --- a/lib/xmerl/vsn.mk +++ b/lib/xmerl/vsn.mk @@ -1 +1 @@ -XMERL_VSN = 1.3.20 +XMERL_VSN = 1.3.21 diff --git a/make/otp_version_tickets b/make/otp_version_tickets index b8220e1a87..12cf3070e5 100644 --- a/make/otp_version_tickets +++ b/make/otp_version_tickets @@ -1 +1,147 @@ -DEVELOPMENT +OTP-13397 +OTP-13726 +OTP-13819 +OTP-14282 +OTP-14461 +OTP-14625 +OTP-14703 +OTP-14724 +OTP-14731 +OTP-14732 +OTP-14737 +OTP-14792 +OTP-14831 +OTP-14865 +OTP-14894 +OTP-14984 +OTP-15011 +OTP-15055 +OTP-15063 +OTP-15075 +OTP-15095 +OTP-15111 +OTP-15128 +OTP-15129 +OTP-15135 +OTP-15195 +OTP-15200 +OTP-15211 +OTP-15220 +OTP-15238 +OTP-15248 +OTP-15261 +OTP-15262 +OTP-15273 +OTP-15310 +OTP-15323 +OTP-15325 +OTP-15326 +OTP-15336 +OTP-15340 +OTP-15349 +OTP-15351 +OTP-15362 +OTP-15372 +OTP-15373 +OTP-15374 +OTP-15381 +OTP-15383 +OTP-15385 +OTP-15386 +OTP-15427 +OTP-15429 +OTP-15439 +OTP-15440 +OTP-15451 +OTP-15452 +OTP-15456 +OTP-15483 +OTP-15491 +OTP-15496 +OTP-15513 +OTP-15534 +OTP-15535 +OTP-15543 +OTP-15550 +OTP-15563 +OTP-15564 +OTP-15565 +OTP-15571 +OTP-15575 +OTP-15581 +OTP-15588 +OTP-15590 +OTP-15591 +OTP-15596 +OTP-15607 +OTP-15610 +OTP-15611 +OTP-15612 +OTP-15613 +OTP-15615 +OTP-15617 +OTP-15620 +OTP-15621 +OTP-15622 +OTP-15623 +OTP-15626 +OTP-15631 +OTP-15632 +OTP-15633 +OTP-15635 +OTP-15640 +OTP-15641 +OTP-15644 +OTP-15649 +OTP-15655 +OTP-15658 +OTP-15668 +OTP-15672 +OTP-15673 +OTP-15674 +OTP-15677 +OTP-15678 +OTP-15680 +OTP-15683 +OTP-15687 +OTP-15689 +OTP-15691 +OTP-15692 +OTP-15693 +OTP-15694 +OTP-15697 +OTP-15698 +OTP-15699 +OTP-15703 +OTP-15705 +OTP-15707 +OTP-15708 +OTP-15710 +OTP-15712 +OTP-15715 +OTP-15740 +OTP-15746 +OTP-15749 +OTP-15751 +OTP-15752 +OTP-15754 +OTP-15755 +OTP-15756 +OTP-15759 +OTP-15760 +OTP-15761 +OTP-15770 +OTP-15771 +OTP-15773 +OTP-15774 +OTP-15775 +OTP-15776 +OTP-15777 +OTP-15779 +OTP-15782 +OTP-15786 +OTP-15788 +OTP-15791 +OTP-15794 +OTP-15804 +OTP-15806 -- cgit v1.2.3