summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErlang/OTP <otp@erlang.org>2023-05-15 12:36:07 +0200
committerErlang/OTP <otp@erlang.org>2023-05-15 12:36:07 +0200
commit2f361f653d649d002a26d1d2a5c8c3efd1303832 (patch)
treea1ed8c18d01f94f53ed73d7f12a7de8aaa71aac6
parent47dc52e1189de34f148ca389a7810800a1d9240c (diff)
downloaderlang-2f361f653d649d002a26d1d2a5c8c3efd1303832.tar.gz
Prepare release
-rw-r--r--erts/doc/src/erl_ext_dist.xml2
-rw-r--r--erts/doc/src/erl_nif.xml8
-rw-r--r--erts/doc/src/erlang.xml6
-rw-r--r--erts/doc/src/notes.xml564
-rw-r--r--erts/emulator/beam/erl_nif.h2
-rw-r--r--erts/preloaded/src/erts.app.src2
-rw-r--r--erts/vsn.mk2
-rw-r--r--lib/asn1/doc/src/notes.xml40
-rw-r--r--lib/asn1/vsn.mk2
-rw-r--r--lib/common_test/doc/src/notes.xml44
-rw-r--r--lib/common_test/vsn.mk2
-rw-r--r--lib/compiler/doc/src/notes.xml117
-rw-r--r--lib/compiler/src/compiler.app.src2
-rw-r--r--lib/compiler/vsn.mk2
-rw-r--r--lib/crypto/doc/src/notes.xml71
-rw-r--r--lib/crypto/vsn.mk2
-rw-r--r--lib/dialyzer/doc/src/notes.xml168
-rw-r--r--lib/dialyzer/src/dialyzer.app.src2
-rw-r--r--lib/dialyzer/vsn.mk2
-rw-r--r--lib/diameter/doc/src/notes.xml50
-rw-r--r--lib/diameter/src/diameter.app.src2
-rw-r--r--lib/diameter/vsn.mk2
-rw-r--r--lib/erl_docgen/doc/src/notes.xml28
-rw-r--r--lib/erl_docgen/vsn.mk2
-rw-r--r--lib/erl_interface/doc/src/notes.xml50
-rw-r--r--lib/erl_interface/vsn.mk2
-rw-r--r--lib/et/doc/src/notes.xml16
-rw-r--r--lib/et/vsn.mk2
-rw-r--r--lib/ftp/doc/src/notes.xml48
-rw-r--r--lib/ftp/vsn.mk2
-rw-r--r--lib/inets/doc/src/notes.xml77
-rw-r--r--lib/inets/src/inets_app/inets.app.src4
-rw-r--r--lib/inets/vsn.mk2
-rw-r--r--lib/jinterface/doc/src/notes.xml35
-rw-r--r--lib/jinterface/vsn.mk2
-rw-r--r--lib/kernel/doc/src/application.xml4
-rw-r--r--lib/kernel/doc/src/code.xml22
-rw-r--r--lib/kernel/doc/src/disk_log.xml2
-rw-r--r--lib/kernel/doc/src/inet.xml6
-rw-r--r--lib/kernel/doc/src/notes.xml512
-rw-r--r--lib/kernel/src/kernel.app.src2
-rw-r--r--lib/kernel/src/kernel.appup.src32
-rw-r--r--lib/kernel/vsn.mk2
-rw-r--r--lib/megaco/doc/src/notes.xml20
-rw-r--r--lib/megaco/vsn.mk2
-rw-r--r--lib/mnesia/doc/src/notes.xml26
-rw-r--r--lib/mnesia/src/mnesia.app.src2
-rw-r--r--lib/mnesia/vsn.mk2
-rw-r--r--lib/observer/doc/src/notes.xml28
-rw-r--r--lib/observer/src/observer.app.src4
-rw-r--r--lib/observer/vsn.mk2
-rw-r--r--lib/odbc/doc/src/notes.xml18
-rw-r--r--lib/odbc/vsn.mk2
-rw-r--r--lib/os_mon/doc/src/disksup.xml4
-rw-r--r--lib/os_mon/doc/src/notes.xml52
-rw-r--r--lib/os_mon/src/os_mon.app.src2
-rw-r--r--lib/os_mon/vsn.mk2
-rw-r--r--lib/parsetools/doc/src/notes.xml15
-rw-r--r--lib/parsetools/vsn.mk2
-rw-r--r--lib/public_key/doc/src/notes.xml21
-rw-r--r--lib/public_key/vsn.mk2
-rw-r--r--lib/reltool/doc/src/notes.xml41
-rw-r--r--lib/reltool/src/reltool.app.src6
-rw-r--r--lib/reltool/vsn.mk2
-rw-r--r--lib/runtime_tools/doc/src/notes.xml65
-rw-r--r--lib/runtime_tools/vsn.mk2
-rw-r--r--lib/sasl/doc/src/notes.xml17
-rw-r--r--lib/sasl/src/sasl.appup.src22
-rw-r--r--lib/sasl/vsn.mk2
-rw-r--r--lib/snmp/doc/src/notes.xml20
-rw-r--r--lib/snmp/src/app/snmp.app.src2
-rw-r--r--lib/snmp/vsn.mk2
-rw-r--r--lib/ssh/doc/src/notes.xml44
-rw-r--r--lib/ssh/src/ssh.app.src6
-rw-r--r--lib/ssh/vsn.mk2
-rw-r--r--lib/ssl/doc/src/notes.xml202
-rw-r--r--lib/ssl/doc/src/ssl.xml2
-rw-r--r--lib/ssl/src/ssl.app.src4
-rw-r--r--lib/ssl/vsn.mk2
-rw-r--r--lib/stdlib/doc/src/base64.xml12
-rw-r--r--lib/stdlib/doc/src/binary.xml2
-rw-r--r--lib/stdlib/doc/src/edlin_expand.xml6
-rw-r--r--lib/stdlib/doc/src/ets.xml2
-rw-r--r--lib/stdlib/doc/src/lists.xml10
-rw-r--r--lib/stdlib/doc/src/math.xml2
-rw-r--r--lib/stdlib/doc/src/notes.xml445
-rw-r--r--lib/stdlib/doc/src/shell.xml10
-rw-r--r--lib/stdlib/doc/src/timer.xml8
-rw-r--r--lib/stdlib/doc/src/zip.xml2
-rw-r--r--lib/stdlib/src/stdlib.app.src2
-rw-r--r--lib/stdlib/src/stdlib.appup.src28
-rw-r--r--lib/stdlib/vsn.mk2
-rw-r--r--lib/syntax_tools/doc/src/notes.xml15
-rw-r--r--lib/syntax_tools/vsn.mk2
-rw-r--r--lib/tftp/doc/src/notes.xml20
-rw-r--r--lib/tftp/src/tftp.app.src2
-rw-r--r--lib/tftp/vsn.mk2
-rw-r--r--lib/tools/doc/src/notes.xml21
-rw-r--r--lib/tools/vsn.mk2
-rw-r--r--lib/wx/doc/src/notes.xml23
-rw-r--r--lib/wx/src/wx.app.src2
-rw-r--r--lib/wx/vsn.mk2
-rw-r--r--make/otp_version_tickets187
-rw-r--r--system/doc/efficiency_guide/maps.xml4
104 files changed, 3226 insertions, 182 deletions
diff --git a/erts/doc/src/erl_ext_dist.xml b/erts/doc/src/erl_ext_dist.xml
index 712c30afc0..ef431723b4 100644
--- a/erts/doc/src/erl_ext_dist.xml
+++ b/erts/doc/src/erl_ext_dist.xml
@@ -1457,7 +1457,7 @@
intentionally forged encoding on the local external term format.
</p>
<p>
- <c>LOCAL_EXT</c> was introduced in OTP @OTP-18477@.
+ <c>LOCAL_EXT</c> was introduced in OTP 26.0.
</p>
</section>
diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml
index 1be152b601..befe198630 100644
--- a/erts/doc/src/erl_nif.xml
+++ b/erts/doc/src/erl_nif.xml
@@ -1647,7 +1647,7 @@ enif_free_iovec(iovec);]]></code>
<func>
- <name since="OTP @OTP-18334@"><ret>int</ret><nametext>enif_get_string_length(ErlNifEnv *env,
+ <name since="OTP 26.0"><ret>int</ret><nametext>enif_get_string_length(ErlNifEnv *env,
ERL_NIF_TERM list, unsigned *len, ErlNifCharEncoding encoding)</nametext>
</name>
<fsummary>Get the length of a C-string <c>list</c>.</fsummary>
@@ -2395,7 +2395,7 @@ enif_inspect_iovec(env, max_elements, term, &amp;tail, &amp;iovec);
</func>
<func>
- <name since="OTP @OTP-18334@"><ret>int</ret><nametext>enif_make_new_atom(ErlNifEnv *env,
+ <name since="OTP 26.0"><ret>int</ret><nametext>enif_make_new_atom(ErlNifEnv *env,
const char *name, ERL_NIF_TERM *atom, ErlNifCharEncoding
encoding)</nametext></name>
<fsummary>Create a new or existing atom term.</fsummary>
@@ -2412,7 +2412,7 @@ enif_inspect_iovec(env, max_elements, term, &amp;tail, &amp;iovec);
</func>
<func>
- <name since="OTP @OTP-18334@"><ret>int</ret><nametext>enif_make_new_atom_len(ErlNifEnv *env,
+ <name since="OTP 26.0"><ret>int</ret><nametext>enif_make_new_atom_len(ErlNifEnv *env,
const char *name, size_t len, ERL_NIF_TERM *atom, ErlNifCharEncoding
encoding)</nametext></name>
<fsummary>Create a new or existing atom term.</fsummary>
@@ -3528,7 +3528,7 @@ if (retval &amp; ERL_NIF_SELECT_STOP_CALLED) {
</func>
<func>
- <name since="OTP @OTP-17771@">
+ <name since="OTP 26.0">
<ret>int</ret><nametext>enif_set_option(ErlNifEnv *env, ErlNifOption opt, ...)</nametext>
</name>
<fsummary>
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index d7fa7b8149..76d69ee82a 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -3064,9 +3064,9 @@ os_prompt%</pre>
</p>
<change>
<p>
- Runtime systems prior to OTP @OTP-17771@ called all installed
+ Runtime systems prior to OTP 26.0 called all installed
<c>atexit</c>/<c>on_exit</c> callbacks also when <c>flush</c>
- was disabled, but as of OTP @OTP-17771@ this is no longer the case.
+ was disabled, but as of OTP 26.0 this is no longer the case.
</p>
</change>
</item>
@@ -11984,7 +11984,7 @@ hello
This option cannot be combined with the <c>local</c> option.
</p>
</item>
- <tag since="OTP @OTP-18477@"><c>local</c>
+ <tag since="OTP 26.0"><c>local</c>
<marker id="term_to_binary_local"/></tag>
<item>
<p>
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 1f372823e8..c9316d644c 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -31,6 +31,570 @@
</header>
<p>This document describes the changes made to the ERTS application.</p>
+<section><title>Erts 14.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>If a local fun was called while reloading the
+ <em>exact same</em> module that defined said fun, there
+ was a small window in which the call would land in code
+ that was yet to be fully loaded.</p>
+ <p>
+ Own Id: OTP-18016</p>
+ </item>
+ <item>
+ <p>
+ Fix the TLS distribution to work when starting Erlang in
+ embedded mode and a connection is done before kernel is
+ fully started.</p>
+ <p>
+ Own Id: OTP-18248 Aux Id: PR-6227 GH-6085 </p>
+ </item>
+ <item>
+ <p>
+ erl <c>-remsh</c> has been improved to provide better
+ error reasons and work when using a shell without
+ terminal support (that is an "oldshell").</p>
+ <p>
+ Own Id: OTP-18271 Aux Id: PR-6279 </p>
+ </item>
+ <item>
+ <p>
+ Fix so that <c>-fno-omit-frame-pointer</c> is applied to
+ all of the Erlang VM when using the JIT so that tools,
+ such as perf, can crawl the process stacks.</p>
+ <p>
+ Own Id: OTP-18274 Aux Id: PR-6048 </p>
+ </item>
+ <item>
+ <p>
+ Compilation server now support unicode paths in
+ compilation server for filesystems that are encoded with
+ unicode.</p>
+ <p>
+ Own Id: OTP-18277 Aux Id: PR-6306 </p>
+ </item>
+ <item>
+ <p>Reintroduced the optimization that turned anonymous
+ functions without free variables into literals
+ (OTP-15195). This optimization was lost during
+ refactoring in OTP 24.</p> <p>Alongside this fix, we plan
+ to remove the "fun creator pid" feature in OTP 27. See
+ <seeguide
+ marker="system/general_info:upcoming_incompatibilities#fun_creator_pid">Upcoming
+ Potential Incompatibilities</seeguide> for more
+ details.</p>
+ <p>
+ Own Id: OTP-18498</p>
+ </item>
+ <item>
+ <p>Fixed a crash during tracing on certain platforms that
+ cannot use the machine stack for Erlang code (mainly
+ OpenBSD and Linux with musl).</p>
+ <p>
+ Own Id: OTP-18561</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The <seecref
+ marker="erts:erl_nif#enif_set_option"><c>enif_set_option()</c></seecref>
+ function has been introduced into the NIF API. It can be
+ used in order to set the <seecref
+ marker="erts:erl_nif#delay_halt"><c>ERL_NIF_OPT_DELAY_HALT</c></seecref>
+ and/or <seecref
+ marker="erts:erl_nif#on_halt"><c>ERL_NIF_OPT_ON_HALT</c></seecref>
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. <seemfa marker="erts:erlang#halt/2">Halt of the
+ runtime system <i>without</i> flushing enabled</seemfa>,
+ now terminates the runtime system without execution of
+ <c>atexit</c>/<c>on_exit</c> handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17771 Aux Id: GH-5325, PR-6370 </p>
+ </item>
+ <item>
+ <p>The TTY/terminal subsystem has been rewritten by
+ moving more code to Erlang from the old linked-in driver
+ and implementing all the I/O primitives needed in a NIF
+ instead. </p><p> On Unix platforms the user should not
+ notice a lot of difference, besides better handling of
+ unicode characters and fixing of some long standing bugs.
+ </p><p> Windows users will notice that erl.exe has the
+ same functionality as a normal Unix shell and that
+ werl.exe has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix. </p><p> The
+ re-write brings with it a number of bug fixes and feature
+ additions:</p> <list> <item>The TTY is now reset when
+ Erlang exits, fixing zsh to not break when terminating an
+ Erlang session.</item> <item><c>standard_error</c> now
+ uses the same unicode mode as <c>standard_io</c>.</item>
+ <item>Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the
+ shell.</item> <item>Tab expansion now works on remote
+ nodes started using the JCL interface.</item> <item>It is
+ now possible to configure the shell slogan and the
+ session slogans (that is the texts that appear when you
+ start an Erlang shell). See the kernel documentation for
+ more details.</item> <item>Added shell:start_interactive
+ for starting the interactive shell from a non-interactive
+ Erlang session (for example an escript).</item> <item>On
+ Windows, when starting in detached mode the standard
+ handler are now set to <c>nul</c> devices instead of
+ being unset.</item> <item> Standard I/O now always
+ defaults to <c>unicode</c> mode if supported. Previously
+ the default was <c>latin1</c> if the runtime system had
+ been started with <c>-oldshell</c> or <c>-noshell</c>
+ (for example in an <c>escript</c>). To send raw bytes
+ over standard out, one now explicitly has to specify
+ <c>io:setopts(standard_io, [{encoding, latin1}]).</c>
+ </item> </list>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343
+ GH-4225 </p>
+ </item>
+ <item>
+ <p>Add support for socket on Windows.</p> <list>
+ <item>Pre release status.</item> <item>Error codes not
+ finalized.</item> <item>No explicit support for Windows
+ specific options (socket options, flags for read and
+ write).</item> <item>New async api for Windows
+ (completion). See the <c>Asynchronous calls</c> chapter
+ in the (Socket Usage) Users Guide.</item> <item>To ensure
+ platform independence, gen_tcp and gen_udp is
+ <em>intended</em> to be used (not yet updated).</item>
+ </list>
+ <p>
+ Own Id: OTP-18029</p>
+ </item>
+ <item>
+ <p>
+ Updated configure cache for Windows. This makes configure
+ run faster on Windows as many more checks are cached.</p>
+ <p>
+ Own Id: OTP-18053 Aux Id: PR-6101 </p>
+ </item>
+ <item>
+ <p>Optimized record updates.</p>
+ <p>
+ Own Id: OTP-18126 Aux Id: PR-6033 </p>
+ </item>
+ <item>
+ <p>Optimized internal hash routines.</p>
+ <p>
+ Own Id: OTP-18131</p>
+ </item>
+ <item>
+ <p> As announced when OTP 25 was released, <seeguide
+ marker="erts:time_correction#Multi_Time_Warp_Mode">multi
+ time warp mode</seeguide> is now enabled by default. This
+ assumes that all code executing on the system is
+ <seeguide
+ marker="erts:time_correction#Time_Warp_Safe_Code">time
+ warp safe</seeguide>. </p> <p> If you have old code in
+ the system that is not time warp safe, you now explicitly
+ need to start the system in <seeguide
+ marker="erts:time_correction#No_Time_Warp_Mode">no time
+ warp mode</seeguide> (or <seeguide
+ marker="erts:time_correction#Single_Time_Warp_Mode">singe
+ time warp mode</seeguide> if it is partially time warp
+ safe) in order to avoid problems. When starting the
+ system in no time warp mode, the system behaves as it did
+ prior to the introduction of the extended time
+ functionality introduced in OTP 18. </p> <p> If you have
+ code that is not time warp safe, you are strongly
+ encouraged to change this so that you can use multi time
+ warp mode. Compared to no time warp mode, multi time warp
+ mode improves scalability and performance as well as
+ accuracy and precision of time measurements. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18135 Aux Id: GH-4965, PR-6046 </p>
+ </item>
+ <item>
+ <p>There are several new optimization for binary syntax
+ in the JIT:</p> <list> <item>Creation and matching of
+ binaries with segments of fixed sizes have been
+ optimized.</item> <item>Creation and matching of UTF-8
+ segments have been optimized.</item> <item>Appending to
+ binaries has been optimized.</item> </list>
+ <p>
+ Own Id: OTP-18137 Aux Id: PR-6259, PR-6404, PR-6576,
+ PR-6804 </p>
+ </item>
+ <item>
+ <p>As announced since the release of OTP 24, support
+ for:</p> <list> <item><p> version 4 node container types
+ in the external term format are now mandatory. That is,
+ references supporting up to 5 32-bit integer identifiers,
+ and process and port identifiers with support for 64-bit
+ data storage. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_V4_NC"><c>DFLAG_V4_NC</c></seeguide>
+ is therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by <c>term_to_binary()</c> and
+ <c>term_to_iovec()</c> will unconditionally produce pids,
+ ports, and references supporting this larger format.
+ </p></item> <item><p> the <seeguide
+ marker="erts:erl_dist_protocol#new_link_protocol">new
+ link protocol</seeguide> introduced in OTP 23.3 is now
+ mandatory. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_UNLINK_ID"><c>DFLAG_UNLINK_ID</c></seeguide>
+ is therefor now also mandatory. </p></item> </list>
+ <p>Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18140 Aux Id: PR-6072 </p>
+ </item>
+ <item>
+ <p>Optimization of <seeguide
+ marker="system/reference_manual:processes#process-aliases"><i>process
+ aliases</i></seeguide> made possible now that support for
+ <seeguide marker="erl_dist_protocol#DFLAG_V4_NC">version
+ 4 node container types</seeguide> in the external term
+ format is mandatory.</p>
+ <p>
+ Own Id: OTP-18141 Aux Id: OTP-18140, PR-6073 </p>
+ </item>
+ <item>
+ <p>The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals known
+ at compile time.</p>
+ <p>
+ Own Id: OTP-18185 Aux Id: GH-6139 </p>
+ </item>
+ <item>
+ <p>
+ When <c>erl -eval</c> fails to execute a command, an
+ error description is printed to standard_error.</p>
+ <p>
+ Own Id: OTP-18227 Aux Id: PR-6254 </p>
+ </item>
+ <item>
+ <p>Support for UTF-8 atoms and strings in the NIF
+ interface including new functions
+ <c>enif_make_new_atom</c>, <c>enif_make_new_atom_len</c>
+ and <c>enif_get_string_length</c>.</p>
+ <p>
+ Own Id: OTP-18334 Aux Id: PR-6434 </p>
+ </item>
+ <item>
+ <p>The following <seemfa
+ marker="kernel:inet#setopts/2"><c>inet:setopts/2</c></seemfa>
+ options have been introduced:</p> <taglist> <tag><seeerl
+ marker="kernel:inet#option-reuseport"><c>reuseport</c></seeerl></tag>
+ <item><p>Reuse of local port. Load balancing may or may
+ not be provided depending on underlying OS.</p></item>
+ <tag><seeerl
+ marker="kernel:inet#option-reuseport_lb"><c>reuseport_lb</c></seeerl></tag>
+ <item><p>Reuse of local port. Load balancing
+ provided.</p></item> <tag><seeerl
+ marker="kernel:inet#option-exclusiveaddruse"><c>exclusiveaddruse</c></seeerl></tag>
+ <item><p>Exclusive address/port usage on Windows. This
+ socket option is Windows specific and will silently be
+ ignored on other systems.</p></item> </taglist> <p>The
+ behavior of setting <seeerl
+ marker="kernel:inet#option-reuseaddr"><c>reuseaddr</c></seeerl>
+ on Windows have changed in a <em>backwards
+ incompatible</em> way. The underlying <c>SO_REUSEADDR</c>
+ socket option is now only set if both the <c>reusaddr</c>
+ and the <c>reuseport</c> <c>inet</c> options have been
+ set. This since the underlying <c>SO_REUSEADDR</c> socket
+ option on Windows behaves similar to how BSD behaves if
+ both the underlying socket options <c>SO_REUSEADDR</c>
+ and <c>SO_REUSEPORT</c> have been set. See the
+ documentation of the <c>reuseaddr</c> option for more
+ information.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18344 Aux Id: PR-6522, PR-6944, OTP-18324,
+ PR-6481, GH-6461 </p>
+ </item>
+ <item>
+ <p><c>erlang:display/1</c> will now print large maps in a
+ more readable way (similar to how small maps are
+ printed).</p>
+ <p>
+ Own Id: OTP-18360 Aux Id: PR-6497 </p>
+ </item>
+ <item>
+ <p>The BIFs <c>min/2</c> and <c>max/2</c> are now allowed
+ to be used in guards and match specs.</p>
+ <p>
+ Own Id: OTP-18367 Aux Id: GH-6544 </p>
+ </item>
+ <item>
+ <p>
+ Fail <c>enif_init_resource_type</c> and friends by
+ returning NULL if not called during load/upgrade. Old
+ behavior was undefined.</p>
+ <p>
+ Own Id: OTP-18369</p>
+ </item>
+ <item>
+ <p>
+ New option <c>include_shared_binaries</c> for the
+ <c>max_heap_size</c> process limit. If set to
+ <c>true</c>, large binaries (> 64 bytes), which may be
+ referred by several processes, are included in the memory
+ sum compared against the <c>max_heap_size</c> limit.</p>
+ <p>
+ Own Id: OTP-18410 Aux Id: GH-5889, PR-6345 </p>
+ </item>
+ <item>
+ <p>Map comprehensions as suggested in EEP 58 has now been
+ implemented.</p>
+ <p>
+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727 </p>
+ </item>
+ <item>
+ <p>Some map operations have been optimized by changing
+ the internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by <c>maps:to_list/1</c> and
+ <c>maps:next/1</c>. The new order is unpredictable and
+ may change between different invocations of the Erlang
+ VM.</p>
+ <p>For applications where order is important, there is a
+ new function <c>maps:iterator/2</c> for creating
+ iterators that return the map elements in a deterministic
+ order. There are also new modifiers <c>k</c> and <c>K</c>
+ for the format string for <c>io:format()</c> to support
+ printing map elements ordered.</p>
+ <p>
+ Own Id: OTP-18414 Aux Id: PR-6151 </p>
+ </item>
+ <item>
+ <p>Reduced memory usage of
+ <c>file:read_file_info/1,2</c></p>
+ <p>
+ Own Id: OTP-18424 Aux Id: PR-6716 </p>
+ </item>
+ <item>
+ <p>Add new function <c>current_stacktrace</c> for trace
+ match specifications used by
+ <c>erlang:trace_pattern/3</c>. </p><p> This new option
+ puts the current stacktrace of the caller into the trace
+ message sent to the trace receiver.</p>
+ <p>
+ Own Id: OTP-18425 Aux Id: PR-6628, GH-5333 </p>
+ </item>
+ <item>
+ <p>
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This makes
+ these identifiers large enough to in practice never
+ having to be reused during the life time of a node.</p>
+ <p>
+ Own Id: OTP-18435 Aux Id: PR-6827 </p>
+ </item>
+ <item>
+ <p>
+ New trace feature <c>call_memory</c>. Similar to
+ <c>call_time</c> tracing, but instead of measure
+ accumulated time in traced functions it measures
+ accumulated heap space consumed by traced functions. It
+ can be used to compare how much different functions are
+ contributing to garbage collection being triggered.</p>
+ <p>
+ Own Id: OTP-18440 Aux Id: PR-6351 </p>
+ </item>
+ <item>
+ <p>It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.</p>
+ <p>That means that to use feature <c>maybe_expr</c> in
+ Erlang/OTP 26, it is sufficient to enable it during
+ compilation.</p>
+ <p>In Erlang/OTP 27, feature <c>maybe_expr</c> will be
+ enabled by default, but it will be possible to disable
+ it.</p>
+ <p>
+ Own Id: OTP-18445</p>
+ </item>
+ <item>
+ <p> Handling of <c>on_load</c> modules during boot has
+ been improved by adding an extra step in the boot order
+ for embedded mode that runs all <c>on_load</c> handlers,
+ instead of relying on explicit invocation of them, later,
+ when the kernel supervision tree starts. </p><p> This is
+ mostly a code improvement and OTP internal simplification
+ to avoid future bugs and to simplify code maintenance.
+ </p>
+ <p>
+ Own Id: OTP-18447</p>
+ </item>
+ <item>
+ <p>
+ Introduced the <seeerl
+ marker="erts:erlang#term_to_binary_local"><c>local</c></seeerl>
+ option of <seemfa
+ marker="erts:erlang#term_to_binary/2"><c>term_to_binary/2</c></seemfa>
+ and <seemfa
+ marker="erts:erlang#term_to_iovec/2"><c>term_to_iovec/2</c></seemfa>.</p>
+ <p>
+ Own Id: OTP-18477 Aux Id: PR-7006 </p>
+ </item>
+ <item>
+ <p>
+ Document the commonly used practice to create and store
+ static atoms at NIF load time in callbacks <c>load</c> or
+ <c>upgrade</c>.</p>
+ <p>
+ Own Id: OTP-18483 Aux Id: PR-6888 </p>
+ </item>
+ <item>
+ <p>
+ Optimize <c>ets:lookup_element</c> for uncompressed
+ tables by using a more efficient method to copy the term
+ from ETS to the heap of the calling process.</p>
+ <p>
+ Own Id: OTP-18493 Aux Id: PR-6272 </p>
+ </item>
+ <item>
+ <p>The default encoding of atoms by <c>term_to_binary</c>
+ and <c>term_to_iovec</c> have changed from Latin1 to
+ UTF-8. The old encoding can still be obtained with
+ options <c>{minor_version, 1}</c>.</p> <p>Apart from
+ encoding code points between 128 and 255 with two bytes
+ (UTF-8) instead of one, most atoms will occupy one less
+ byte as the length field use only one byte instead of two
+ if possible.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18505 Aux Id: PR-6991 </p>
+ </item>
+ <item>
+ <p>
+ The version of zlib included in the Erlang/OTP source
+ code is now 1.2.13.</p>
+ <p>
+ Own Id: OTP-18517</p>
+ </item>
+ <item>
+ <p>
+ <c>gen_tcp:send/*</c>, <c>gen_udp:send/*</c> and
+ <c>gen_sctp:send/*</c> have been optimized to use the
+ infamous receive reference optimization, so now sending
+ should not have bad performance when the calling process
+ has a large message queue.</p>
+ <p>
+ Own Id: OTP-18520 Aux Id: GH-6455 </p>
+ </item>
+ <item>
+ <p>Added the new built-in type <c>dynamic()</c>
+ introduced in EEP-61, improving support for gradual type
+ checkers.</p>
+ <p>
+ Own Id: OTP-18522</p>
+ </item>
+ <item>
+ <p>
+ Optimize <c>maps:merge/2</c> memory consumption for small
+ maps (&lt;33 keys) by reusing key tuples or entire maps
+ if the result map has the same number of keys as any of
+ the argument maps.</p>
+ <p>
+ Own Id: OTP-18523 Aux Id: PR-7004 </p>
+ </item>
+ <item>
+ <p>
+ Optimize <c>maps:merge/2</c> memory consumption further
+ for small maps by mutating 2nd map to use literal key
+ tuple of 1st map if both have the same keys.</p>
+ <p>
+ Own Id: OTP-18524 Aux Id: PR-7004, OTP-18523 </p>
+ </item>
+ <item>
+ <p><c>ceil/1</c>, <c>floor/1</c>, <c>is_bitstring/1</c>,
+ <c>is_boolean/1</c>, <c>is_function/2</c>, and
+ <c>tuple_size/1</c> can now be used in match
+ specifications.</p>
+ <p>
+ Own Id: OTP-18526 Aux Id: GH-7045 </p>
+ </item>
+ <item>
+ <p>
+ Allow IPv6 addresses as host in <c>http</c> packets
+ decoded by <c>erlang:decode_packet/3</c> and
+ <c>gen_tcp</c> packet option. The IPv6 address should be
+ enclosed within <c>[]</c> according to RFC2732.</p>
+ <p>
+ Own Id: OTP-18540 Aux Id: PR-6900 </p>
+ </item>
+ <item>
+ <p>
+ Removed the experimental <c>erts_alloc_config</c> module.
+ It no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It has
+ since OTP 25 been deprecated and scheduled for removal in
+ OTP 26.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18549 Aux Id: PR-7105 </p>
+ </item>
+ <item>
+ <p>
+ ERTS internal thread names have been changed. All threads
+ created by ERTS now have a prefix <c>erts_</c> followed
+ by a type name potentially followed by an integer index.
+ For example, normal schedulers are now named
+ <c>erts_sched_&lt;IX&gt;</c>, dirty CPU schedulers
+ <c>erts_dcpus_&lt;IX&gt;</c>, and dirty IO schedulers
+ <c>erts_dios_&lt;IX&gt;</c>. NIF and driver thread names
+ are truncated at 15 characters regardless of whether the
+ underlying platform support more characters or not.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18552 Aux Id: PR-6973 </p>
+ </item>
+ <item>
+ <p>
+ Further robustify implementation of large maps (> 32
+ keys). Keys that happen to have same internal 32-bit hash
+ values are now put in collision nodes which are traversed
+ with linear search. This removes the demand for the
+ internal hash function when salted to eventually produce
+ different hashes for all possible pairs of unequal terms.</p>
+ <p>
+ Own Id: OTP-18569</p>
+ </item>
+ <item>
+ <p>In Erlang/OTP 27, <c>0.0</c> will no longer be
+ considered to be exactly equal to <c>-0.0</c>. See
+ <seeguide
+ marker="system/general_info:upcoming_incompatibilities#float_matching">Upcoming
+ Potential Incompatibilities</seeguide>.</p>
+ <p>
+ Own Id: OTP-18574</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 13.2.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h
index f4e8f5f76f..e2e631e8d6 100644
--- a/erts/emulator/beam/erl_nif.h
+++ b/erts/emulator/beam/erl_nif.h
@@ -72,7 +72,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-17771:OTP-18334@"
+#define ERL_NIF_MIN_ERTS_VERSION "erts-14.0"
/*
* The emulator will refuse to load a nif-lib with a major version
diff --git a/erts/preloaded/src/erts.app.src b/erts/preloaded/src/erts.app.src
index 8b3d3288a5..17cb04e62e 100644
--- a/erts/preloaded/src/erts.app.src
+++ b/erts/preloaded/src/erts.app.src
@@ -42,7 +42,7 @@
{registered, []},
{applications, []},
{env, []},
- {runtime_dependencies, ["stdlib-4.1", "kernel-@OTP-18344@", "sasl-3.3"]}
+ {runtime_dependencies, ["stdlib-4.1", "kernel-9.0", "sasl-3.3"]}
]}.
%% vim: ft=erlang
diff --git a/erts/vsn.mk b/erts/vsn.mk
index 67df301d2e..6e1382b875 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -18,7 +18,7 @@
# %CopyrightEnd%
#
-VSN = 13.2.2
+VSN = 14.0
# 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 b39c5c50a9..380b56a5c6 100644
--- a/lib/asn1/doc/src/notes.xml
+++ b/lib/asn1/doc/src/notes.xml
@@ -32,6 +32,46 @@
<p>This document describes the changes made to the asn1 application.</p>
+<section><title>Asn1 5.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The ASN.1 compiler used to reject correctly specified
+ RELATIVE-OID values containing other RELATIVE-OID values.
+ This is now corrected.</p>
+ <p>
+ Own Id: OTP-18534 Aux Id: ERIERL-737, PR-7039 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Minor code improvements.</p>
+ <p>
+ Own Id: OTP-18441</p>
+ </item>
+ <item>
+ <p> Handling of <c>on_load</c> modules during boot has
+ been improved by adding an extra step in the boot order
+ for embedded mode that runs all <c>on_load</c> handlers,
+ instead of relying on explicit invocation of them, later,
+ when the kernel supervision tree starts. </p><p> This is
+ mostly a code improvement and OTP internal simplification
+ to avoid future bugs and to simplify code maintenance.
+ </p>
+ <p>
+ Own Id: OTP-18447</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Asn1 5.0.21</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk
index a3706fd209..a63de49f97 100644
--- a/lib/asn1/vsn.mk
+++ b/lib/asn1/vsn.mk
@@ -1 +1 @@
-ASN1_VSN = 5.0.21
+ASN1_VSN = 5.1
diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml
index c8e8e4a3e3..68c165c107 100644
--- a/lib/common_test/doc/src/notes.xml
+++ b/lib/common_test/doc/src/notes.xml
@@ -33,6 +33,50 @@
<file>notes.xml</file>
</header>
+<section><title>Common_Test 1.25</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ This change improves Common Test docs (CT hook example
+ code) and adds Emacs skeleton with hook code.</p>
+ <p>
+ Own Id: OTP-18377 Aux Id: PR-6437 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Updated common_test with a more robust way to fetch old
+ releases, while ignoring the current release.</p>
+ <p>
+ Own Id: OTP-18259 Aux Id: PR-5924 </p>
+ </item>
+ <item>
+ <p>
+ - re-write the XML <c>ct</c> module documentation into
+ erlang types to make Dialyzer able to catch more precise
+ errors</p>
+ <p>
+ Own Id: OTP-18340</p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Common_Test 1.24</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk
index 472bde9027..1fbe70ea4d 100644
--- a/lib/common_test/vsn.mk
+++ b/lib/common_test/vsn.mk
@@ -1 +1 @@
-COMMON_TEST_VSN = 1.24
+COMMON_TEST_VSN = 1.25
diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml
index f92505409c..4e90f2a758 100644
--- a/lib/compiler/doc/src/notes.xml
+++ b/lib/compiler/doc/src/notes.xml
@@ -32,6 +32,123 @@
<p>This document describes the changes made to the Compiler
application.</p>
+<section><title>Compiler 8.3</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>The compiler would silently accept singleton (unbound)
+ type variables in a union type. Starting from Erlang/OTP
+ 26, the compiler will generate a warning for this
+ example. The warning can be disabled using the
+ <c>nowarn_singleton_typevar</c> option. In Erlang/OTP 27,
+ the warning will become an error.</p>
+ <p>
+ Own Id: OTP-18389 Aux Id: GH-6508, PR-6864, GH-7116 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Optimized record updates.</p>
+ <p>
+ Own Id: OTP-18126 Aux Id: PR-6033 </p>
+ </item>
+ <item>
+ <p>There are several new optimization for binary syntax
+ in the JIT:</p> <list> <item>Creation and matching of
+ binaries with segments of fixed sizes have been
+ optimized.</item> <item>Creation and matching of UTF-8
+ segments have been optimized.</item> <item>Appending to
+ binaries has been optimized.</item> </list>
+ <p>
+ Own Id: OTP-18137 Aux Id: PR-6259, PR-6404, PR-6576,
+ PR-6804 </p>
+ </item>
+ <item>
+ <p>The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals known
+ at compile time.</p>
+ <p>
+ Own Id: OTP-18185 Aux Id: GH-6139 </p>
+ </item>
+ <item>
+ <p>A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <c>&lt;&lt;A:8&gt;&gt; = &lt;&lt;B:4,C:4&gt;&gt;
+ = Bin</c></p>
+ <p>
+ Own Id: OTP-18297 Aux Id: GH-6348 </p>
+ </item>
+ <item>
+ <p>It is documented that <c>$\^X</c> is the ASCII code
+ for Control X, where X is an uppercase or lowercase
+ letter. However, this notation would work for any
+ character X, even then it didn't make sense.</p>
+ <p>In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the
+ <c>\^</c> characters: <c>@</c>, <c>[</c>, <c>\</c>,
+ <c>]</c>, <c>^</c>, <c>_</c>, and <c>?</c>. Attempt to
+ use other characters will be rejected with a compiler
+ error.</p>
+ <p>The value for <c>$\^?</c> is now 127 (instead of 31 as
+ in earlier releases).</p>
+ <p>
+ Own Id: OTP-18337 Aux Id: GH-6477, PR-6503 </p>
+ </item>
+ <item>
+ <p>The BIFs <c>min/2</c> and <c>max/2</c> are now allowed
+ to be used in guards and match specs.</p>
+ <p>
+ Own Id: OTP-18367 Aux Id: GH-6544 </p>
+ </item>
+ <item>
+ <p>Map comprehensions as suggested in EEP 58 has now been
+ implemented.</p>
+ <p>
+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727 </p>
+ </item>
+ <item>
+ <p>Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.</p>
+ <p>This greatly improves the performance of
+ <c>gen_server:send_request/3</c>,
+ <c>gen_server:wait_response/2</c>, and similar
+ functions.</p>
+ <p>
+ Own Id: OTP-18431 Aux Id: PR-6739 </p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p>The compiler will now inline calls to
+ <c>maps:get/3</c>.</p>
+ <p>
+ Own Id: OTP-18502</p>
+ </item>
+ <item>
+ <p>In Erlang/OTP 27, <c>0.0</c> will no longer be
+ considered to be exactly equal to <c>-0.0</c>. See
+ <seeguide
+ marker="system/general_info:upcoming_incompatibilities#float_matching">Upcoming
+ Potential Incompatibilities</seeguide>.</p>
+ <p>
+ Own Id: OTP-18574</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Compiler 8.2.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/compiler/src/compiler.app.src b/lib/compiler/src/compiler.app.src
index 206053cab2..be1a6d7236 100644
--- a/lib/compiler/src/compiler.app.src
+++ b/lib/compiler/src/compiler.app.src
@@ -84,5 +84,5 @@
{registered, []},
{applications, [kernel, stdlib]},
{env, []},
- {runtime_dependencies, ["stdlib-@OTP-18414@","kernel-8.4","erts-13.0",
+ {runtime_dependencies, ["stdlib-5.0","kernel-8.4","erts-13.0",
"crypto-5.1"]}]}.
diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk
index fa46ea4097..c9aed4742c 100644
--- a/lib/compiler/vsn.mk
+++ b/lib/compiler/vsn.mk
@@ -1 +1 @@
-COMPILER_VSN = 8.2.6
+COMPILER_VSN = 8.3
diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml
index fa5e9d5bea..16995edc88 100644
--- a/lib/crypto/doc/src/notes.xml
+++ b/lib/crypto/doc/src/notes.xml
@@ -31,6 +31,77 @@
</header>
<p>This document describes the changes made to the Crypto application.</p>
+<section><title>Crypto 5.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix cmac_update aes_128_cbc for LibreSSL.</p>
+ <p>
+ Own Id: OTP-18571</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Add support for SHAKE128 and SHAKE256.</p>
+ <p>
+ Own Id: OTP-18204 Aux Id: PR-6203 </p>
+ </item>
+ <item>
+ <p>
+ Make the <c>-DOPENSSL_API_COMPAT</c> flag work without
+ warnings.</p>
+ <p>
+ Own Id: OTP-18206 Aux Id: PR-6167 </p>
+ </item>
+ <item>
+ <p>
+ Replace size/1 with either tuple_size/1 or byte_size/1</p>
+ <p>
+ The <c>size/1</c> BIF is not optimized by the JIT, and
+ its use can result in worse types for Dialyzer.</p>
+ <p>
+ When one knows that the value being tested must be a
+ tuple, <c>tuple_size/1</c> should always be preferred.</p>
+ <p>
+ When one knows that the value being tested must be a
+ binary, <c>byte_size/1</c> should be preferred. However,
+ <c>byte_size/1</c> also accepts a bitstring (rounding up
+ size to a whole number of bytes), so one must make sure
+ that the call to <c>byte_size/</c> is preceded by a call
+ to <c>is_binary/1</c> to ensure that bitstrings are
+ rejected. Note that the compiler removes redundant calls
+ to <c>is_binary/1</c>, so if one is not sure whether
+ previous code had made sure that the argument is a
+ binary, it does not harm to add an <c>is_binary/1</c>
+ test immediately before the call to <c>byte_size/1</c>.</p>
+ <p>
+ Own Id: OTP-18405 Aux Id:
+ GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814 </p>
+ </item>
+ <item>
+ <p> Handling of <c>on_load</c> modules during boot has
+ been improved by adding an extra step in the boot order
+ for embedded mode that runs all <c>on_load</c> handlers,
+ instead of relying on explicit invocation of them, later,
+ when the kernel supervision tree starts. </p><p> This is
+ mostly a code improvement and OTP internal simplification
+ to avoid future bugs and to simplify code maintenance.
+ </p>
+ <p>
+ Own Id: OTP-18447</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Crypto 5.1.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk
index 56f5a0f48e..3fa6df6102 100644
--- a/lib/crypto/vsn.mk
+++ b/lib/crypto/vsn.mk
@@ -1 +1 @@
-CRYPTO_VSN = 5.1.4
+CRYPTO_VSN = 5.2
diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml
index fe859092f7..7cb2aadead 100644
--- a/lib/dialyzer/doc/src/notes.xml
+++ b/lib/dialyzer/doc/src/notes.xml
@@ -32,6 +32,174 @@
<p>This document describes the changes made to the Dialyzer
application.</p>
+<section><title>Dialyzer 5.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>When checking behaviors, Dialyzer could generate false
+ warning that a callback function did not have the correct
+ type according to the spec in the behavior
+ definition.</p>
+ <p>
+ Own Id: OTP-18237 Aux Id: GH-6221, PR-6243 </p>
+ </item>
+ <item>
+ <p>In a spec, <c>list(none())</c> used to mean
+ <c>none()</c>. It has now been corrected to mean the
+ empty list.</p>
+ <p>
+ Own Id: OTP-18276 Aux Id: GH-6333 </p>
+ </item>
+ <item>
+ <p>The compiler would silently accept singleton (unbound)
+ type variables in a union type. Starting from Erlang/OTP
+ 26, the compiler will generate a warning for this
+ example. The warning can be disabled using the
+ <c>nowarn_singleton_typevar</c> option. In Erlang/OTP 27,
+ the warning will become an error.</p>
+ <p>
+ Own Id: OTP-18389 Aux Id: GH-6508, PR-6864, GH-7116 </p>
+ </item>
+ <item>
+ <p>Fixed a bug that prevented the <c>--plts</c> option
+ from being used together with <c>--add-to-plt</c>.</p>
+ <p>
+ Own Id: OTP-18485 Aux Id: GH-6850, PR-6854 </p>
+ </item>
+ <item>
+ <p>Fixed a crash when analyzing code that contained
+ illegal bitstring segment sizes.</p>
+ <p>
+ Own Id: OTP-18562</p>
+ </item>
+ <item>
+ <p>Fixed a crash when formatting certain warnings that
+ contained multi-byte unicode characters.</p>
+ <p>
+ Own Id: OTP-18564 Aux Id: GH-7153 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Dialyzer has a new incremental mode that be invoked by
+ giving the <c>--incremental</c> option when running
+ Dialyzer. This new incremental mode is likely to become
+ the default in a future release.</p>
+ <p>Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model is
+ optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code, analysing
+ it again, and so on, without explicit reference to the
+ building and checking of a PLT.</p>
+ <p>In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of files
+ they care about, and Dialyzer does the legwork in terms
+ of deciding how to most efficiently report all of the
+ relevant warnings given the cached results it may already
+ have in the PLT (and if a PLT doesn't exist, incremental
+ mode will create one).</p>
+ <p>
+ Own Id: OTP-18188 Aux Id: PR-5997 </p>
+ </item>
+ <item>
+ <p>Dialyzer now produces clearer error messages for
+ contract violations.</p>
+ <p>
+ Own Id: OTP-18238 Aux Id: PR-6271 </p>
+ </item>
+ <item>
+ <p>The name of a built-in type can now be reused as the
+ name of type locally. That is useful when an OTP release
+ introduces a new built-in type; having the possibility to
+ redefine built-in types locally can make it easier to
+ maintain code that works in multiple OTP releases.</p>
+ <p>
+ Own Id: OTP-18282 Aux Id: GH-6132, PR-6335 </p>
+ </item>
+ <item>
+ <p>There is new option <c>-no_spec</c> to ignore all
+ specs. It is useful for debugging when one suspects that
+ some specs could be incorrect.</p>
+ <p>
+ Own Id: OTP-18310</p>
+ </item>
+ <item>
+ <p>Dialyzer's overloaded domain warning is now disabled
+ by default, and can be enabled with the flag
+ <c>-Woverlapping_contract</c>.</p>
+ <p>Dialyzer used to issue a warning for overloaded
+ domains stating <c>"such contracts are currently
+ unsupported and are simply ignored"</c>. </p>
+ <p>These contracts are not "ignored" but rather, Dialyzer
+ takes the union of the overloaded domains. This means
+ that we lose the dependency from each corresponding input
+ to output type. Because of this, the warning is really
+ about not being able to establish a dependency between
+ the input and output types of each respective overloaded
+ function specification.</p>
+ <p>
+ Own Id: OTP-18342 Aux Id: GH-6117, PR-6654 </p>
+ </item>
+ <item>
+ <p>
+ Dialyzer has enabled (by default) warnings about unknown
+ types and functions.</p>
+ <p>
+ Prior to this change, Dialyzer had warnings about unknown
+ types and functions disabled (by default).</p>
+ <p>
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested by
+ the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the
+ <c>-Wunknown</c> function is enabled by default:</p>
+ <p>
+ <c>dialyzer moduler.erl -Wunknown -Wmissing_return</c></p>
+ <p>
+ <c>dialyzer moduler.erl -Wmissing_return</c></p>
+ <p>
+ Dialyzer has a new flag, <c>-Wno_unknown</c>. Its purpose
+ is to suppress warnings about unknown functions and
+ types.</p>
+ <p>
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: <c>dialyzer module.erl
+ -Wno_unknown</c></p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18439 Aux Id: GH-5695,PR-6822, GH-6942 </p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p>Added the new built-in type <c>dynamic()</c>
+ introduced in EEP-61, improving support for gradual type
+ checkers.</p>
+ <p>
+ Own Id: OTP-18522</p>
+ </item>
+ <item>
+ <p>Added the <c>argparse</c> module for simplified
+ argument handling in escripts and similar.</p>
+ <p>
+ Own Id: OTP-18558 Aux Id: PR-6852 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Dialyzer 5.0.5</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/dialyzer/src/dialyzer.app.src b/lib/dialyzer/src/dialyzer.app.src
index 7ec446bdef..107da591d1 100644
--- a/lib/dialyzer/src/dialyzer.app.src
+++ b/lib/dialyzer/src/dialyzer.app.src
@@ -56,6 +56,6 @@
{registered, []},
{applications, [compiler, kernel, stdlib]},
{env, []},
- {runtime_dependencies, ["wx-2.0","syntax_tools-2.0","stdlib-@OTP-18558@",
+ {runtime_dependencies, ["wx-2.0","syntax_tools-2.0","stdlib-5.0",
"kernel-8.0","erts-12.0",
"compiler-8.0"]}]}.
diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk
index 965a949121..a4dcbc90c3 100644
--- a/lib/dialyzer/vsn.mk
+++ b/lib/dialyzer/vsn.mk
@@ -1 +1 @@
-DIALYZER_VSN = 5.0.5
+DIALYZER_VSN = 5.1
diff --git a/lib/diameter/doc/src/notes.xml b/lib/diameter/doc/src/notes.xml
index 3619a118a1..f94211a72a 100644
--- a/lib/diameter/doc/src/notes.xml
+++ b/lib/diameter/doc/src/notes.xml
@@ -43,6 +43,56 @@ first.</p>
<!-- ===================================================================== -->
+<section><title>diameter 2.3</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Replace size/1 with either tuple_size/1 or byte_size/1</p>
+ <p>
+ The <c>size/1</c> BIF is not optimized by the JIT, and
+ its use can result in worse types for Dialyzer.</p>
+ <p>
+ When one knows that the value being tested must be a
+ tuple, <c>tuple_size/1</c> should always be preferred.</p>
+ <p>
+ When one knows that the value being tested must be a
+ binary, <c>byte_size/1</c> should be preferred. However,
+ <c>byte_size/1</c> also accepts a bitstring (rounding up
+ size to a whole number of bytes), so one must make sure
+ that the call to <c>byte_size/</c> is preceded by a call
+ to <c>is_binary/1</c> to ensure that bitstrings are
+ rejected. Note that the compiler removes redundant calls
+ to <c>is_binary/1</c>, so if one is not sure whether
+ previous code had made sure that the argument is a
+ binary, it does not harm to add an <c>is_binary/1</c>
+ test immediately before the call to <c>byte_size/1</c>.</p>
+ <p>
+ Own Id: OTP-18405 Aux Id:
+ GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814 </p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>diameter 2.2.7</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/diameter/src/diameter.app.src b/lib/diameter/src/diameter.app.src
index b745200e08..618c44cb77 100644
--- a/lib/diameter/src/diameter.app.src
+++ b/lib/diameter/src/diameter.app.src
@@ -38,7 +38,7 @@
{mod, {diameter_app, []}},
{runtime_dependencies, [
"erts-10.0",
- "stdlib-@OTP-18490@",
+ "stdlib-5.0",
"kernel-3.2",
"ssl-9.0"
%, "syntax-tools-1.6.18"
diff --git a/lib/diameter/vsn.mk b/lib/diameter/vsn.mk
index 5eda96f384..173f962b9d 100644
--- a/lib/diameter/vsn.mk
+++ b/lib/diameter/vsn.mk
@@ -17,5 +17,5 @@
# %CopyrightEnd%
APPLICATION = diameter
-DIAMETER_VSN = 2.2.7
+DIAMETER_VSN = 2.3
APP_VSN = $(APPLICATION)-$(DIAMETER_VSN)$(PRE_VSN)
diff --git a/lib/erl_docgen/doc/src/notes.xml b/lib/erl_docgen/doc/src/notes.xml
index 92726daa8a..6599f3b4c5 100644
--- a/lib/erl_docgen/doc/src/notes.xml
+++ b/lib/erl_docgen/doc/src/notes.xml
@@ -31,7 +31,33 @@
</header>
<p>This document describes the changes made to the <em>erl_docgen</em> application.</p>
- <section><title>Erl_Docgen 1.4</title>
+ <section><title>Erl_Docgen 1.5</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>New XML tag &lt;change&gt;. Like a &lt;note&gt; box,
+ but with a different (steel blue) color and label.
+ Intended to contain talk about semantic differences
+ between OTP releases.</p>
+ <p>
+ Own Id: OTP-18338 Aux Id: PR-6408 </p>
+ </item>
+ <item>
+ <p>
+ Add "since" attribute to XML taglist/tag elements to
+ document OTP version when a particular option/feature was
+ introduced. The version is shown out in the right margin,
+ similar to "since" versions for functions.</p>
+ <p>
+ Own Id: OTP-18501 Aux Id: PR-6987 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Erl_Docgen 1.4</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/erl_docgen/vsn.mk b/lib/erl_docgen/vsn.mk
index a887c5c839..442223e03c 100644
--- a/lib/erl_docgen/vsn.mk
+++ b/lib/erl_docgen/vsn.mk
@@ -1 +1 @@
-ERL_DOCGEN_VSN = 1.4
+ERL_DOCGEN_VSN = 1.5
diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml
index 7bac4913ab..a221677cae 100644
--- a/lib/erl_interface/doc/src/notes.xml
+++ b/lib/erl_interface/doc/src/notes.xml
@@ -31,6 +31,56 @@
</header>
<p>This document describes the changes made to the Erl_interface application.</p>
+<section><title>Erl_Interface 5.4</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>As announced since the release of OTP 24, support
+ for:</p> <list> <item><p> version 4 node container types
+ in the external term format are now mandatory. That is,
+ references supporting up to 5 32-bit integer identifiers,
+ and process and port identifiers with support for 64-bit
+ data storage. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_V4_NC"><c>DFLAG_V4_NC</c></seeguide>
+ is therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by <c>term_to_binary()</c> and
+ <c>term_to_iovec()</c> will unconditionally produce pids,
+ ports, and references supporting this larger format.
+ </p></item> <item><p> the <seeguide
+ marker="erts:erl_dist_protocol#new_link_protocol">new
+ link protocol</seeguide> introduced in OTP 23.3 is now
+ mandatory. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_UNLINK_ID"><c>DFLAG_UNLINK_ID</c></seeguide>
+ is therefor now also mandatory. </p></item> </list>
+ <p>Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18140 Aux Id: PR-6072 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Known Bugs and Problems</title>
+ <list>
+ <item>
+ <p>
+ The <c>ei</c> API for decoding/encoding terms is not
+ fully 64-bit compatible since terms that have a
+ representation on the external term format larger than 2
+ GB cannot be handled.</p>
+ <p>
+ Own Id: OTP-16607 Aux Id: OTP-16608 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erl_Interface 5.3.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk
index 683e6643c7..b68159d947 100644
--- a/lib/erl_interface/vsn.mk
+++ b/lib/erl_interface/vsn.mk
@@ -1,2 +1,2 @@
-EI_VSN = 5.3.2
+EI_VSN = 5.4
ERL_INTERFACE_VSN = $(EI_VSN)
diff --git a/lib/et/doc/src/notes.xml b/lib/et/doc/src/notes.xml
index 33af30eb88..688a8604c0 100644
--- a/lib/et/doc/src/notes.xml
+++ b/lib/et/doc/src/notes.xml
@@ -37,6 +37,22 @@
one section in this document. The title of each section is the
version number of <c>Event Tracer (ET)</c>.</p>
+<section><title>ET 1.7</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>ET 1.6.5</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/et/vsn.mk b/lib/et/vsn.mk
index 9881bcdd63..0cf3d091ea 100644
--- a/lib/et/vsn.mk
+++ b/lib/et/vsn.mk
@@ -1 +1 @@
-ET_VSN = 1.6.5
+ET_VSN = 1.7
diff --git a/lib/ftp/doc/src/notes.xml b/lib/ftp/doc/src/notes.xml
index b131eee82b..2db120cc28 100644
--- a/lib/ftp/doc/src/notes.xml
+++ b/lib/ftp/doc/src/notes.xml
@@ -33,7 +33,53 @@
<file>notes.xml</file>
</header>
- <section><title>Ftp 1.1.4</title>
+ <section><title>Ftp 1.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fixes the documentation for the <c>ftp</c> module and
+ updates the typing of <c>ftp</c> functions that return
+ errors.</p>
+ <p>
+ The documentation has been improved and the types of the
+ functions are now read from source code, instead of being
+ hard-coded in XML.</p>
+ <p>
+ Functions returning errors of the form <c>{error, Reason
+ :: 'ehost' | ...}</c> are now similar to other modules,
+ i.e., <c>{error, Reason :: term()}</c>. If one wants to
+ understand the error, one must call the function
+ <c>ftp:formaterror({error, Reason})</c>.</p>
+ <p>
+ Own Id: OTP-18359 Aux Id: PR-6545 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p>
+ Remove deprecated functions in OTP-26</p>
+ <p>
+ Own Id: OTP-18541</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Ftp 1.1.4</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/ftp/vsn.mk b/lib/ftp/vsn.mk
index fa0034ec4b..0fd93d82a5 100644
--- a/lib/ftp/vsn.mk
+++ b/lib/ftp/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = ftp
-FTP_VSN = 1.1.4
+FTP_VSN = 1.2
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(FTP_VSN)$(PRE_VSN)"
diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml
index a10ee19030..cb13a84b37 100644
--- a/lib/inets/doc/src/notes.xml
+++ b/lib/inets/doc/src/notes.xml
@@ -33,7 +33,82 @@
<file>notes.xml</file>
</header>
- <section><title>Inets 8.3.1</title>
+ <section><title>Inets 9.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Correct timing related pipelining/keepalive queue bug,
+ that could result in unexpected "socket_remotly_closed"
+ errors.</p>
+ <p>
+ Own Id: OTP-18476 Aux Id: GH-6380 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ By default ssl connections will use options from
+ <c>ssl_default_options(true)</c></p>
+ <p>
+ Own Id: OTP-18167</p>
+ </item>
+ <item>
+ <p>Runtime dependencies have been updated.</p>
+ <p>
+ Own Id: OTP-18350</p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ <item>
+ <p>
+ IP display string will now always be in lower case,
+ effects ipv6 addresses.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18530</p>
+ </item>
+ <item>
+ <p>
+ Removed deprecated functions</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18536</p>
+ </item>
+ <item>
+ <p>
+ Update the code in the inets example directory to reflect
+ the latest implementation</p>
+ <p>
+ Own Id: OTP-18544 Aux Id: GH-5276 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 8.3.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/inets/src/inets_app/inets.app.src b/lib/inets/src/inets_app/inets.app.src
index c9b67b6d0c..ec5fe5273f 100644
--- a/lib/inets/src/inets_app/inets.app.src
+++ b/lib/inets/src/inets_app/inets.app.src
@@ -98,6 +98,6 @@
{applications,[kernel,stdlib]},
{mod,{inets_app,[]}},
{runtime_dependencies,
- ["stdlib-@OTP-18490@","stdlib-@OTP-18350@","ssl-9.0","runtime_tools-1.8.14",
- "mnesia-4.12","kernel-@OTP-18350@","erts-@OTP-18350@", "public_key-1.13"]}
+ ["stdlib-5.0","stdlib-5.0","ssl-9.0","runtime_tools-1.8.14",
+ "mnesia-4.12","kernel-9.0","erts-14.0", "public_key-1.13"]}
]}.
diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk
index 78efa696d8..edf6902806 100644
--- a/lib/inets/vsn.mk
+++ b/lib/inets/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = inets
-INETS_VSN = 8.3.1
+INETS_VSN = 9.0
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 01eda410cc..df76a2f6ba 100644
--- a/lib/jinterface/doc/src/notes.xml
+++ b/lib/jinterface/doc/src/notes.xml
@@ -31,6 +31,41 @@
</header>
<p>This document describes the changes made to the Jinterface application.</p>
+<section><title>Jinterface 1.14</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>As announced since the release of OTP 24, support
+ for:</p> <list> <item><p> version 4 node container types
+ in the external term format are now mandatory. That is,
+ references supporting up to 5 32-bit integer identifiers,
+ and process and port identifiers with support for 64-bit
+ data storage. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_V4_NC"><c>DFLAG_V4_NC</c></seeguide>
+ is therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by <c>term_to_binary()</c> and
+ <c>term_to_iovec()</c> will unconditionally produce pids,
+ ports, and references supporting this larger format.
+ </p></item> <item><p> the <seeguide
+ marker="erts:erl_dist_protocol#new_link_protocol">new
+ link protocol</seeguide> introduced in OTP 23.3 is now
+ mandatory. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_UNLINK_ID"><c>DFLAG_UNLINK_ID</c></seeguide>
+ is therefor now also mandatory. </p></item> </list>
+ <p>Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18140 Aux Id: PR-6072 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Jinterface 1.13.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/jinterface/vsn.mk b/lib/jinterface/vsn.mk
index 909370599e..32db2ab3a7 100644
--- a/lib/jinterface/vsn.mk
+++ b/lib/jinterface/vsn.mk
@@ -1 +1 @@
-JINTERFACE_VSN = 1.13.2
+JINTERFACE_VSN = 1.14
diff --git a/lib/kernel/doc/src/application.xml b/lib/kernel/doc/src/application.xml
index a1f585f5cd..c64d4cde11 100644
--- a/lib/kernel/doc/src/application.xml
+++ b/lib/kernel/doc/src/application.xml
@@ -69,7 +69,7 @@
<func>
<name name="ensure_all_started" arity="1" since="OTP R16B02"/>
<name name="ensure_all_started" arity="2" since="OTP R16B02"/>
- <name name="ensure_all_started" arity="3" since="OTP @OTP-18451@"/>
+ <name name="ensure_all_started" arity="3" since="OTP 26.0"/>
<fsummary>Loads and starts all applications and their dependencies, recursively.</fsummary>
<desc>
<p><c><anno>Applications</anno></c> is either an an <c>atom()</c> or a list
@@ -190,7 +190,7 @@
</desc>
</func>
<func>
- <name name="get_supervisor" arity="1" since="OTP @OTP-18444@"/>
+ <name name="get_supervisor" arity="1" since="OTP 26.0"/>
<fsummary>Get the supervisor of an application.</fsummary>
<desc>
<p>Returns the <c><anno>Pid</anno></c> of the supervisor running
diff --git a/lib/kernel/doc/src/code.xml b/lib/kernel/doc/src/code.xml
index ffa77641de..1b8ef7a1c3 100644
--- a/lib/kernel/doc/src/code.xml
+++ b/lib/kernel/doc/src/code.xml
@@ -103,7 +103,7 @@
<p>On Windows, use semi-colon as separator.</p>
<p>The code paths specified by <c>$OTP_ROOT</c>, <c>ERL_LIBS</c>,
and boot scripts have their listings cached by default (except for ".")
- since OTP @OTP-18466@.
+ since OTP 26.0.
The code server will lookup the contents in their directories once
and avoid future file system traversals. Therefore modules added
to such directories after the Erlang VM boots won't be picked up.
@@ -350,7 +350,7 @@ zip:create("mnesia-4.4.7.ez",
<funcs>
<func>
<name name="set_path" arity="1" since=""/>
- <name name="set_path" arity="2" since="OTP @OTP-18466@"/>
+ <name name="set_path" arity="2" since="OTP 26.0"/>
<fsummary>Set the code server search path.</fsummary>
<desc>
<p>Sets the code path to the list of directories <c><anno>Path</anno></c>.</p>
@@ -375,9 +375,9 @@ zip:create("mnesia-4.4.7.ez",
</func>
<func>
<name name="add_path" arity="1" since=""/>
- <name name="add_path" arity="2" since="OTP @OTP-18466@"/>
+ <name name="add_path" arity="2" since="OTP 26.0"/>
<name name="add_pathz" arity="1" since=""/>
- <name name="add_pathz" arity="2" since="OTP @OTP-18466@"/>
+ <name name="add_pathz" arity="2" since="OTP 26.0"/>
<fsummary>Add a directory to the end of the code path.</fsummary>
<type name="add_path_ret"/>
<desc>
@@ -394,7 +394,7 @@ zip:create("mnesia-4.4.7.ez",
</func>
<func>
<name name="add_patha" arity="1" since=""/>
- <name name="add_patha" arity="2" since="OTP @OTP-18466@"/>
+ <name name="add_patha" arity="2" since="OTP 26.0"/>
<fsummary>Add a directory to the beginning of the code path.</fsummary>
<type name="add_path_ret"/>
<desc>
@@ -411,9 +411,9 @@ zip:create("mnesia-4.4.7.ez",
</func>
<func>
<name name="add_paths" arity="1" since=""/>
- <name name="add_paths" arity="2" since="OTP @OTP-18466@"/>
+ <name name="add_paths" arity="2" since="OTP 26.0"/>
<name name="add_pathsz" arity="1" since=""/>
- <name name="add_pathsz" arity="2" since="OTP @OTP-18466@"/>
+ <name name="add_pathsz" arity="2" since="OTP 26.0"/>
<fsummary>Add directories to the end of the code path.</fsummary>
<desc>
<p>Adds the directories in <c><anno>Dirs</anno></c> to the end of the code
@@ -427,7 +427,7 @@ zip:create("mnesia-4.4.7.ez",
</func>
<func>
<name name="add_pathsa" arity="1" since=""/>
- <name name="add_pathsa" arity="2" since="OTP @OTP-18466@"/>
+ <name name="add_pathsa" arity="2" since="OTP 26.0"/>
<fsummary>Add directories to the beginning of the code path.</fsummary>
<desc>
<p>Traverses <c><anno>Dirs</anno></c> and adds
@@ -466,7 +466,7 @@ zip:create("mnesia-4.4.7.ez",
</desc>
</func>
<func>
- <name name="del_paths" arity="1" since="OTP @OTP-18466@"/>
+ <name name="del_paths" arity="1" since="OTP 26.0"/>
<fsummary>Deletes directories from the code path.</fsummary>
<desc>
<p>Deletes directories from the code path. The argument is a list of either
@@ -478,7 +478,7 @@ zip:create("mnesia-4.4.7.ez",
</desc>
</func>
<func>
- <name name="clear_cache" arity="0" since="OTP @OTP-18466@"/>
+ <name name="clear_cache" arity="0" since="OTP 26.0"/>
<fsummary>Clears the code path cache.</fsummary>
<desc>
<p>Clear the code path cache. If a directory is cached, its cache is
@@ -494,7 +494,7 @@ zip:create("mnesia-4.4.7.ez",
</func>
<func>
<name name="replace_path" arity="2" since=""/>
- <name name="replace_path" arity="3" since="OTP @OTP-18466@"/>
+ <name name="replace_path" arity="3" since="OTP 26.0"/>
<fsummary>Replace a directory with another in the code path.</fsummary>
<desc>
<p>Replaces an old occurrence of a directory
diff --git a/lib/kernel/doc/src/disk_log.xml b/lib/kernel/doc/src/disk_log.xml
index dc6f9ba5bf..affb46a65f 100644
--- a/lib/kernel/doc/src/disk_log.xml
+++ b/lib/kernel/doc/src/disk_log.xml
@@ -713,7 +713,7 @@
</desc>
</func>
<func>
- <name name="next_file" arity="1" since="OTP @OTP-18331@"/>
+ <name name="next_file" arity="1" since="OTP 26.0"/>
<fsummary>Change to the next log file of a disk log.</fsummary>
<type name="next_file_error_rsn"/>
<type name="invalid_header"/>
diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml
index 5524000f3d..0cb03fdbe4 100644
--- a/lib/kernel/doc/src/inet.xml
+++ b/lib/kernel/doc/src/inet.xml
@@ -1597,7 +1597,7 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp</code>
This since setting <c>SO_REUSEADDR</c> on Windows more or less
has the same behavior as setting both <c>SO_REUSEADDR</c> and
<c>SO_REUSEPORT</c> on BSD. This behavior was introduced as
- of OTP @OTP-18344@.
+ of OTP 26.0.
</p>
<change>
<p>
@@ -1614,7 +1614,7 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp</code>
if <c>{reuseaddr, true}</c> was set.
</item>
<item>
- Between OTP 25.2 and up to the predecessor of OTP @OTP-18344@,
+ Between OTP 25.2 and up to the predecessor of OTP 26.0,
the underlying <c>SO_REUSEADDR</c> socket option was only
set on UDP sockets if <c>{reuseaddr, true}</c> was set, and
silently ignored on other sockets.
@@ -1645,7 +1645,7 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp</code>
This since setting <c>SO_REUSEADDR</c> on Windows more or less
has the same behavior as setting both <c>SO_REUSEADDR</c> and
<c>SO_REUSEPORT</c> on BSD. The <c>reuseport</c> option was
- introduced as of OTP @OTP-18344@.
+ introduced as of OTP 26.0.
</p>
<p>
See also the
diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml
index 2a2992b720..6745b82885 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -31,6 +31,518 @@
</header>
<p>This document describes the changes made to the Kernel application.</p>
+<section><title>Kernel 9.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fixed a bug where duplicate keys were allowed in the .app
+ file of an application. Duplicate keys are now rejected
+ and the application will not start if they exist.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18210 Aux Id: GH-5877 PR-5878 </p>
+ </item>
+ <item>
+ <p>
+ Fix inconsistent handling in logger_formatter of the
+ branched values in conditional branches. For example
+ using <c>msg</c> in a conditional branch would not be
+ formatted as it should before this fix.</p>
+ <p>
+ Own Id: OTP-18225 Aux Id: PR-6036 </p>
+ </item>
+ <item>
+ <p>
+ Fix the logger_std_h handler to log to standard_error if
+ logging to standard_io fails for any reason.</p>
+ <p>
+ Own Id: OTP-18226 Aux Id: PR-6253 </p>
+ </item>
+ <item>
+ <p>
+ Fix the TLS distribution to work when starting Erlang in
+ embedded mode and a connection is done before kernel is
+ fully started.</p>
+ <p>
+ Own Id: OTP-18248 Aux Id: PR-6227 GH-6085 </p>
+ </item>
+ <item>
+ <p>
+ erl <c>-remsh</c> has been improved to provide better
+ error reasons and work when using a shell without
+ terminal support (that is an "oldshell").</p>
+ <p>
+ Own Id: OTP-18271 Aux Id: PR-6279 </p>
+ </item>
+ <item>
+ <p>
+ Fix logging of log events generated before kernel is
+ started to not fail if the code for formatting those log
+ messaged have not yet been loaded.</p>
+ <p>
+ Own Id: OTP-18286 Aux Id: PR-5955 </p>
+ </item>
+ <item>
+ <p> <c>proc_lib:start*/*</c> has become synchronous when
+ the started process fails. This requires that a failing
+ process use a new function <c>proc_lib:init_fail/2,3</c>,
+ or exits, to indicate failure. All OTP behaviours have
+ been fixed to do this. </p><p> All these start functions
+ now consume the <c>'EXIT'</c> message from a process link
+ for all error returns. Previously it was only the
+ <c>start_link/*</c> functions that did this, and only
+ when the started function exited, not when it used
+ <c>init_ack/1,2</c> or <c>init_fail/2,3</c> to create the
+ return value. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18471 Aux Id: GH-6339, PR-6843 </p>
+ </item>
+ <item>
+ <p>Fixed a bug where <c>file:read(standard_io, ...)</c>
+ unexpectedly returned <c>eof</c> in binary mode.</p>
+ <p>
+ Own Id: OTP-18486 Aux Id: PR-6881 </p>
+ </item>
+ <item>
+ <p>
+ Return type for <c>seq_trace:get_token/1</c> fixed.</p>
+ <p>
+ Own Id: OTP-18528 Aux Id: PR-7009 </p>
+ </item>
+ <item>
+ <p>
+ Looking up, connecting to and sending to a host with an
+ empty name is now handled by trying to look up the
+ address of the root domain, which fails. Previously some
+ of these operations caused an internal exception, which
+ contradicted type specifications.</p>
+ <p>
+ Own Id: OTP-18543 Aux Id: GH-6353 </p>
+ </item>
+ <item>
+ <p>
+ Replaced a regex with a special case handling of ANSI
+ Select Graphic Rendition escape characters, to speed up
+ io output that make use of these escape sequences.</p>
+ <p>
+ Own Id: OTP-18547 Aux Id: PR-7092 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>The Erlang shell has been improved to support the
+ following features:</p> <list> <item>Auto-complete
+ variables, record names, record field names, map keys,
+ function parameter types and filenames.</item> <item>Open
+ external editor in the shell (with C-o) to edit the
+ current expression in an editor.</item> <item>Support
+ defining records (with types), functions and function
+ typespecs, and custom types in the shell.</item> <item>Do
+ not save pager commands, and input to io:getline in
+ history.</item> </list>
+ <p>
+ Own Id: OTP-14835 Aux Id: PR-5924 </p>
+ </item>
+ <item>
+ <p>The TTY/terminal subsystem has been rewritten by
+ moving more code to Erlang from the old linked-in driver
+ and implementing all the I/O primitives needed in a NIF
+ instead. </p><p> On Unix platforms the user should not
+ notice a lot of difference, besides better handling of
+ unicode characters and fixing of some long standing bugs.
+ </p><p> Windows users will notice that erl.exe has the
+ same functionality as a normal Unix shell and that
+ werl.exe has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix. </p><p> The
+ re-write brings with it a number of bug fixes and feature
+ additions:</p> <list> <item>The TTY is now reset when
+ Erlang exits, fixing zsh to not break when terminating an
+ Erlang session.</item> <item><c>standard_error</c> now
+ uses the same unicode mode as <c>standard_io</c>.</item>
+ <item>Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the
+ shell.</item> <item>Tab expansion now works on remote
+ nodes started using the JCL interface.</item> <item>It is
+ now possible to configure the shell slogan and the
+ session slogans (that is the texts that appear when you
+ start an Erlang shell). See the kernel documentation for
+ more details.</item> <item>Added shell:start_interactive
+ for starting the interactive shell from a non-interactive
+ Erlang session (for example an escript).</item> <item>On
+ Windows, when starting in detached mode the standard
+ handler are now set to <c>nul</c> devices instead of
+ being unset.</item> <item> Standard I/O now always
+ defaults to <c>unicode</c> mode if supported. Previously
+ the default was <c>latin1</c> if the runtime system had
+ been started with <c>-oldshell</c> or <c>-noshell</c>
+ (for example in an <c>escript</c>). To send raw bytes
+ over standard out, one now explicitly has to specify
+ <c>io:setopts(standard_io, [{encoding, latin1}]).</c>
+ </item> </list>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343
+ GH-4225 </p>
+ </item>
+ <item>
+ <p>Add support for socket on Windows.</p> <list>
+ <item>Pre release status.</item> <item>Error codes not
+ finalized.</item> <item>No explicit support for Windows
+ specific options (socket options, flags for read and
+ write).</item> <item>New async api for Windows
+ (completion). See the <c>Asynchronous calls</c> chapter
+ in the (Socket Usage) Users Guide.</item> <item>To ensure
+ platform independence, gen_tcp and gen_udp is
+ <em>intended</em> to be used (not yet updated).</item>
+ </list>
+ <p>
+ Own Id: OTP-18029</p>
+ </item>
+ <item>
+ <p>As announced since the release of OTP 24, support
+ for:</p> <list> <item><p> version 4 node container types
+ in the external term format are now mandatory. That is,
+ references supporting up to 5 32-bit integer identifiers,
+ and process and port identifiers with support for 64-bit
+ data storage. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_V4_NC"><c>DFLAG_V4_NC</c></seeguide>
+ is therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by <c>term_to_binary()</c> and
+ <c>term_to_iovec()</c> will unconditionally produce pids,
+ ports, and references supporting this larger format.
+ </p></item> <item><p> the <seeguide
+ marker="erts:erl_dist_protocol#new_link_protocol">new
+ link protocol</seeguide> introduced in OTP 23.3 is now
+ mandatory. The distribution flag <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_UNLINK_ID"><c>DFLAG_UNLINK_ID</c></seeguide>
+ is therefor now also mandatory. </p></item> </list>
+ <p>Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18140 Aux Id: PR-6072 </p>
+ </item>
+ <item>
+ <p> Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (<c>-proto_dist
+ inet_tls</c>), the SSL option <c>{ktls, true}</c>. Using
+ this for general SSL sockets is uncomfortable,
+ undocumented and not recommended since it requires very
+ platform dependent raw options. </p><p> This, for now,
+ only works for some not too old Linux distributions.
+ Roughly, a kernel 5.2.0 or later with support for
+ UserLand Protocols and the kernel module <c>tls</c> is
+ required. </p>
+ <p>
+ Own Id: OTP-18235 Aux Id: PR-6104, PR-5840 </p>
+ </item>
+ <item>
+ <p>
+ Add code:get_doc/2 which adds support to fetch
+ documentation skeletons of functions using debug_info
+ chunks instead of eep48 doc chunks.</p>
+ <p>
+ Own Id: OTP-18261 Aux Id: PR-5924 </p>
+ </item>
+ <item>
+ <p>
+ The Erlang shell's auto-completion when typing <c>tab</c>
+ has been changed to happen after the editing current line
+ instead of before it.</p>
+ <p>
+ This behaviour can be configured using a the
+ <c>shell_expand_location</c> STDLIB configuration
+ parameter.</p>
+ <p>
+ Own Id: OTP-18278 Aux Id: PR-6260 </p>
+ </item>
+ <item>
+ <p>
+ Typing <c>Ctrl+L</c> in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type <c>Alt+L</c>. This brings the behaviour of
+ <c>Ctrl+L</c> closer to how bash and other shells work.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18285 Aux Id: PR-6262 </p>
+ </item>
+ <item>
+ <p>
+ gen_server optimized by caching callback functions</p>
+ <p>
+ Own Id: OTP-18305 Aux Id: PR-5831 </p>
+ </item>
+ <item>
+ <p>
+ Prepare the <c>pg</c> communication protocol for upgrade.
+ The plan is for OTP-28 nodes to be able to use an
+ upgraded <c>pg</c> protocol while still being able to
+ talk with OTP 26 nodes.</p>
+ <p>
+ Own Id: OTP-18327 Aux Id: PR-6433 </p>
+ </item>
+ <item>
+ <p>
+ New <c>disk_log</c> log type <c>rotate</c>, where the log
+ files are compressed upon rotation.</p>
+ <p>
+ Own Id: OTP-18331 Aux Id: ERIERL-870 </p>
+ </item>
+ <item>
+ <p>The following <seemfa
+ marker="kernel:inet#setopts/2"><c>inet:setopts/2</c></seemfa>
+ options have been introduced:</p> <taglist> <tag><seeerl
+ marker="kernel:inet#option-reuseport"><c>reuseport</c></seeerl></tag>
+ <item><p>Reuse of local port. Load balancing may or may
+ not be provided depending on underlying OS.</p></item>
+ <tag><seeerl
+ marker="kernel:inet#option-reuseport_lb"><c>reuseport_lb</c></seeerl></tag>
+ <item><p>Reuse of local port. Load balancing
+ provided.</p></item> <tag><seeerl
+ marker="kernel:inet#option-exclusiveaddruse"><c>exclusiveaddruse</c></seeerl></tag>
+ <item><p>Exclusive address/port usage on Windows. This
+ socket option is Windows specific and will silently be
+ ignored on other systems.</p></item> </taglist> <p>The
+ behavior of setting <seeerl
+ marker="kernel:inet#option-reuseaddr"><c>reuseaddr</c></seeerl>
+ on Windows have changed in a <em>backwards
+ incompatible</em> way. The underlying <c>SO_REUSEADDR</c>
+ socket option is now only set if both the <c>reusaddr</c>
+ and the <c>reuseport</c> <c>inet</c> options have been
+ set. This since the underlying <c>SO_REUSEADDR</c> socket
+ option on Windows behaves similar to how BSD behaves if
+ both the underlying socket options <c>SO_REUSEADDR</c>
+ and <c>SO_REUSEPORT</c> have been set. See the
+ documentation of the <c>reuseaddr</c> option for more
+ information.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18344 Aux Id: PR-6522, PR-6944, OTP-18324,
+ PR-6481, GH-6461 </p>
+ </item>
+ <item>
+ <p>
+ Replace size/1 with either tuple_size/1 or byte_size/1</p>
+ <p>
+ The <c>size/1</c> BIF is not optimized by the JIT, and
+ its use can result in worse types for Dialyzer.</p>
+ <p>
+ When one knows that the value being tested must be a
+ tuple, <c>tuple_size/1</c> should always be preferred.</p>
+ <p>
+ When one knows that the value being tested must be a
+ binary, <c>byte_size/1</c> should be preferred. However,
+ <c>byte_size/1</c> also accepts a bitstring (rounding up
+ size to a whole number of bytes), so one must make sure
+ that the call to <c>byte_size/</c> is preceded by a call
+ to <c>is_binary/1</c> to ensure that bitstrings are
+ rejected. Note that the compiler removes redundant calls
+ to <c>is_binary/1</c>, so if one is not sure whether
+ previous code had made sure that the argument is a
+ binary, it does not harm to add an <c>is_binary/1</c>
+ test immediately before the call to <c>byte_size/1</c>.</p>
+ <p>
+ Own Id: OTP-18405 Aux Id:
+ GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814 </p>
+ </item>
+ <item>
+ <p>The function <c>file:pid2name/1</c> is deprecated and
+ will be removed in Erlang/OTP 27.</p>
+ <p>
+ Own Id: OTP-18419</p>
+ </item>
+ <item>
+ <p>
+ The modules Erlang DNS resolver <c>inet_res</c> and
+ helper modules have been updated for RFC6891; to handle
+ OPT RR with DNSSEC OK (DO) bit.</p>
+ <p>
+ Own Id: OTP-18442 Aux Id: PR-6786, GH-6606 </p>
+ </item>
+ <item>
+ <p>
+ Introduced <seemfa
+ marker="kernel:application#get_supervisor/1"><c>application:get_supervisor/1</c></seemfa>.</p>
+ <p>
+ Own Id: OTP-18444 Aux Id: PR-6035 </p>
+ </item>
+ <item>
+ <p> Handling of <c>on_load</c> modules during boot has
+ been improved by adding an extra step in the boot order
+ for embedded mode that runs all <c>on_load</c> handlers,
+ instead of relying on explicit invocation of them, later,
+ when the kernel supervision tree starts. </p><p> This is
+ mostly a code improvement and OTP internal simplification
+ to avoid future bugs and to simplify code maintenance.
+ </p>
+ <p>
+ Own Id: OTP-18447</p>
+ </item>
+ <item>
+ <p>
+ Reduce contention on the code_server by doing the code
+ preparation on the client.</p>
+ <p>
+ Own Id: OTP-18448 Aux Id: PR-6736 </p>
+ </item>
+ <item>
+ <p>
+ Added a mode to ensure_all_loaded, to start children
+ application and their dependencies concurrently.</p>
+ <p>
+ Own Id: OTP-18451 Aux Id: PR-6737 </p>
+ </item>
+ <item>
+ <p>
+ Cache OTP boot code paths, to limit how many folders that
+ are being accessed during a module lookup. Can be
+ disabled with -cache_boot_path false. OTP boot code paths
+ consists of ERL_LIB environment variables. The various
+ otp/*/ebin folders. And the {path, ...} clauses in the
+ init script.</p>
+ <p>
+ Own Id: OTP-18452 Aux Id: PR-6729 </p>
+ </item>
+ <item>
+ <p>
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable effects
+ on behaviour or performance.</p>
+ <p>
+ Own Id: OTP-18456</p>
+ </item>
+ <item>
+ <p>
+ Add cache attribute to code path apis.</p>
+ <p>
+ Added an optional cache/nocache argument to all
+ code:add_path*, code:set_path*, and code:replace_path*
+ functions. These functions will then avoid doing
+ file-accesses if they are cached. Cache can be cleared
+ with code:clear_cache/0. Added code:del_paths/1 to make
+ it easier to clear multiple paths.</p>
+ <p>
+ Own Id: OTP-18466 Aux Id: PR-6832 </p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p>
+ Improvements to code:ensure_modules_loaded/1: Previously
+ it would prepare modules and then abandon references to
+ said modules if they had on_load callbacks. This pull
+ request makes it so they keep the references around and
+ then serially load them without having to fetch the
+ object code and prepare them again.</p>
+ <p>
+ Own Id: OTP-18484 Aux Id: PR-6844 </p>
+ </item>
+ <item>
+ <p>
+ The internal DNS resolver has been updated to handle DNS
+ LOC RR:s (RFC 1876). This is an undocumented module,
+ although still used by power users. See the source code.</p>
+ <p>
+ Own Id: OTP-18510 Aux Id: GH-6098, PR-6982 </p>
+ </item>
+ <item>
+ <p>
+ Reduced memory consumption in <c>global</c> when
+ informing other nodes about lost connections.</p>
+ <p>
+ Own Id: OTP-18521 Aux Id: PR-7025 </p>
+ </item>
+ <item>
+ <p>
+ The <c>net_kernel</c>, <c>global</c>, and
+ <c>global_group</c> servers now have <seeerl
+ marker="erts:erlang#process_flag_async_dist"><i>fully
+ asynchronous distributed signaling</i></seeerl> enabled
+ all the time which prevents them from ever getting
+ blocked on send of distributed signals.</p>
+ <p>
+ Documentation about blocking distributed signals has also
+ been improved.</p>
+ <p>
+ Own Id: OTP-18533 Aux Id: PR-7061 </p>
+ </item>
+ <item>
+ <p>
+ Allow IPv6 addresses as host in <c>http</c> packets
+ decoded by <c>erlang:decode_packet/3</c> and
+ <c>gen_tcp</c> packet option. The IPv6 address should be
+ enclosed within <c>[]</c> according to RFC2732.</p>
+ <p>
+ Own Id: OTP-18540 Aux Id: PR-6900 </p>
+ </item>
+ <item>
+ <p>
+ Remove deprecated functions in OTP-26</p>
+ <p>
+ Own Id: OTP-18542</p>
+ </item>
+ <item>
+ <p>
+ Removed <c>code:is_module_native/1</c> since HiPE has
+ been removed. It has since OTP 24 been deprecated and
+ scheduled for removal in OTP 26. </p>
+ <p>
+ Removed <c>code:rehash/0</c> since the code path feature
+ no longer is present. It has since OTP 19 been deprecated
+ and has since OTP 24 been scheduled for removal in OTP
+ 26.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18551 Aux Id: PR-7106 </p>
+ </item>
+ <item>
+ <p>Added support for multiple line expressions and
+ navigation in the shell. Added new keybindings:</p>
+ <list> <item> navigate up (ctrl+up)/(alt+up) </item>
+ <item> navigate down (ctrl+down)/(alt+down) </item>
+ <item> insert newline in middle of line (alt+enter)
+ </item> <item> navigate top (alt+&lt;)/(alt+shift+up)
+ </item> <item> navigate bottom
+ (alt+&gt;)/(alt+shift+down) </item> <item> clear current
+ expression (alt+c) </item> <item> cancel search (alt+c)
+ </item> <item> opening editor on mac (option+o)/(alt+o)
+ </item> </list> <p>Modifies the prompt for new lines to
+ make it clearer that the prompt has entered multi-line
+ mode. Supports terminal with small window size, recommend
+ not go lower than 7 rows and 40 columns. Modifies the
+ search prompt to support multi-line statements. Redraw
+ the prompt after continuing from JCL menu. </p>
+ <p>
+ Own Id: OTP-18575 Aux Id: PR-7169 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Kernel 8.5.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/kernel/src/kernel.app.src b/lib/kernel/src/kernel.app.src
index 5e76e55911..10705d9d76 100644
--- a/lib/kernel/src/kernel.app.src
+++ b/lib/kernel/src/kernel.app.src
@@ -160,7 +160,7 @@
{shell_docs_ansi,auto}
]},
{mod, {kernel, []}},
- {runtime_dependencies, ["erts-@OTP-18248:OTP-18344@", "stdlib-@OTP-17932@",
+ {runtime_dependencies, ["erts-14.0", "stdlib-5.0",
"sasl-3.0", "crypto-5.0"]}
]
}.
diff --git a/lib/kernel/src/kernel.appup.src b/lib/kernel/src/kernel.appup.src
index 709a405244..279d6989ea 100644
--- a/lib/kernel/src/kernel.appup.src
+++ b/lib/kernel/src/kernel.appup.src
@@ -19,26 +19,16 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 23
%% - OTP 24
%% - OTP 25
+%% - OTP 26
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^7\\.0$">>,[restart_new_emulator]},
- {<<"^7\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.1$">>,[restart_new_emulator]},
- {<<"^7\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.2$">>,[restart_new_emulator]},
- {<<"^7\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^7\\.3$">>,[restart_new_emulator]},
- {<<"^7\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^8\\.0$">>,[restart_new_emulator]},
+ [{<<"^8\\.0$">>,[restart_new_emulator]},
{<<"^8\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^8\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
@@ -61,18 +51,9 @@
{<<"^8\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^8\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
- [{<<"^7\\.0$">>,[restart_new_emulator]},
- {<<"^7\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.1$">>,[restart_new_emulator]},
- {<<"^7\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.2$">>,[restart_new_emulator]},
- {<<"^7\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^7\\.3$">>,[restart_new_emulator]},
- {<<"^7\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^7\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^8\\.0$">>,[restart_new_emulator]},
+ {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
+ [{<<"^8\\.0$">>,[restart_new_emulator]},
{<<"^8\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^8\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
@@ -95,4 +76,5 @@
{<<"^8\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^8\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
+ {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk
index 12a1996eb5..78d04715a7 100644
--- a/lib/kernel/vsn.mk
+++ b/lib/kernel/vsn.mk
@@ -1 +1 @@
-KERNEL_VSN = 8.5.4
+KERNEL_VSN = 9.0
diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml
index 9e181c589c..ac9758f4c4 100644
--- a/lib/megaco/doc/src/notes.xml
+++ b/lib/megaco/doc/src/notes.xml
@@ -37,7 +37,25 @@
section is the version number of Megaco.</p>
- <section><title>Megaco 4.4.3</title>
+ <section><title>Megaco 4.4.4</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Removed configure option <c>--enable-sanitizers</c>. It
+ was untested and broken. Address sanitizer for the
+ emulator has better support by the <c>asan</c> build
+ target.</p>
+ <p>
+ Own Id: OTP-18538 Aux Id: GH-7031, PR-7078 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Megaco 4.4.3</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk
index dad5cd8bea..6ce328da3c 100644
--- a/lib/megaco/vsn.mk
+++ b/lib/megaco/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = megaco
-MEGACO_VSN = 4.4.3
+MEGACO_VSN = 4.4.4
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 16c844dc4b..555fd62f8c 100644
--- a/lib/mnesia/doc/src/notes.xml
+++ b/lib/mnesia/doc/src/notes.xml
@@ -39,7 +39,31 @@
thus constitutes one section in this document. The title of each
section is the version number of Mnesia.</p>
- <section><title>Mnesia 4.21.4</title>
+ <section><title>Mnesia 4.22</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Added debug statistics for active transactions.</p>
+ <p>
+ Own Id: OTP-18309 Aux Id: PR-6377 </p>
+ </item>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Mnesia 4.21.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/mnesia/src/mnesia.app.src b/lib/mnesia/src/mnesia.app.src
index dfb5e82c93..6ce0c68de8 100644
--- a/lib/mnesia/src/mnesia.app.src
+++ b/lib/mnesia/src/mnesia.app.src
@@ -51,4 +51,4 @@
]},
{applications, [kernel, stdlib]},
{mod, {mnesia_app, []}},
- {runtime_dependencies, ["stdlib-@OTP-18490@","kernel-5.3","erts-9.0"]}]}.
+ {runtime_dependencies, ["stdlib-5.0","kernel-5.3","erts-9.0"]}]}.
diff --git a/lib/mnesia/vsn.mk b/lib/mnesia/vsn.mk
index ca16e64482..88974e5a03 100644
--- a/lib/mnesia/vsn.mk
+++ b/lib/mnesia/vsn.mk
@@ -1 +1 @@
-MNESIA_VSN = 4.21.4
+MNESIA_VSN = 4.22
diff --git a/lib/observer/doc/src/notes.xml b/lib/observer/doc/src/notes.xml
index a32302ee95..c702a74ee7 100644
--- a/lib/observer/doc/src/notes.xml
+++ b/lib/observer/doc/src/notes.xml
@@ -32,6 +32,34 @@
<p>This document describes the changes made to the Observer
application.</p>
+<section><title>Observer 2.15</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Runtime dependencies have been updated.</p>
+ <p>
+ Own Id: OTP-18350</p>
+ </item>
+ <item>
+ <p>
+ Added <c>start/1</c>, <c>start_and_wait functions/1|2</c>
+ functions.</p>
+ <p>
+ Own Id: OTP-18430 Aux Id: PR-6397 </p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Observer 2.14</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/observer/src/observer.app.src b/lib/observer/src/observer.app.src
index 215dfabf40..0839870143 100644
--- a/lib/observer/src/observer.app.src
+++ b/lib/observer/src/observer.app.src
@@ -67,5 +67,5 @@
{registered, []},
{applications, [kernel, stdlib]},
{env, []},
- {runtime_dependencies, ["wx-@OTP-18350@","stdlib-@OTP-18350@","runtime_tools-1.19",
- "kernel-@OTP-18350@","et-1.5","erts-@OTP-18350@"]}]}.
+ {runtime_dependencies, ["wx-2.3","stdlib-5.0","runtime_tools-1.19",
+ "kernel-9.0","et-1.5","erts-14.0"]}]}.
diff --git a/lib/observer/vsn.mk b/lib/observer/vsn.mk
index 2a308d0c55..7e52eea3f7 100644
--- a/lib/observer/vsn.mk
+++ b/lib/observer/vsn.mk
@@ -1 +1 @@
-OBSERVER_VSN = 2.14
+OBSERVER_VSN = 2.15
diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml
index 8526a5b383..c1df6c476b 100644
--- a/lib/odbc/doc/src/notes.xml
+++ b/lib/odbc/doc/src/notes.xml
@@ -32,7 +32,23 @@
<p>This document describes the changes made to the odbc application.
</p>
- <section><title>ODBC 2.14</title>
+ <section><title>ODBC 2.14.1</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Allow larger column sizes than 8001 in case DB supports
+ it.</p>
+ <p>
+ Own Id: OTP-18539</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>ODBC 2.14</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/odbc/vsn.mk b/lib/odbc/vsn.mk
index 7856175267..3694ab678b 100644
--- a/lib/odbc/vsn.mk
+++ b/lib/odbc/vsn.mk
@@ -1 +1 @@
-ODBC_VSN = 2.14
+ODBC_VSN = 2.14.1
diff --git a/lib/os_mon/doc/src/disksup.xml b/lib/os_mon/doc/src/disksup.xml
index 4dd81e6099..97872c9f3b 100644
--- a/lib/os_mon/doc/src/disksup.xml
+++ b/lib/os_mon/doc/src/disksup.xml
@@ -139,7 +139,7 @@
</desc>
</func>
<func>
- <name since="OTP @OTP-18303@">get_disk_info() -> [DiskData]</name>
+ <name since="OTP 26.0">get_disk_info() -> [DiskData]</name>
<fsummary>Immediately get information for the disks in the system</fsummary>
<type>
<v>DiskData = {Id, TotalKiB, AvailableKiB, Capacity}</v>
@@ -159,7 +159,7 @@
</desc>
</func>
<func>
- <name since="OTP @OTP-18303@">get_disk_info(Path) -> DiskData</name>
+ <name since="OTP 26.0">get_disk_info(Path) -> DiskData</name>
<fsummary>Immediately get information for a single path</fsummary>
<type>
<v>DiskData = [{Id, TotalKiB, AvailableKiB, Capacity}]</v>
diff --git a/lib/os_mon/doc/src/notes.xml b/lib/os_mon/doc/src/notes.xml
index 439c1e839a..164566b2c3 100644
--- a/lib/os_mon/doc/src/notes.xml
+++ b/lib/os_mon/doc/src/notes.xml
@@ -31,6 +31,58 @@
</header>
<p>This document describes the changes made to the OS_Mon application.</p>
+<section><title>Os_Mon 2.9</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix internal os_mon_sysinfo:get_disk_info/1 function to
+ not crash when run on Windows with multiple drives.</p>
+ <p>
+ Own Id: OTP-18246 Aux Id: PR-6284 GH-6156 </p>
+ </item>
+ <item>
+ <p>
+ Fixed a memory leak when calling <c>cpu_sup:util/0,1</c>
+ on FreeBSD.</p>
+ <p>
+ Own Id: OTP-18546 Aux Id: GH-7070, PR-7071 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The <seemfa
+ marker="os_mon:disksup#get_disk_info/0"><c>disksup:get_disk_info/0</c></seemfa>
+ and <seemfa
+ marker="os_mon:disksup#get_disk_info/1"><c>disksup:get_disk_info/1</c></seemfa>
+ functions have been introduced. These can be used in
+ order to immediately fetch information about current disk
+ usage.</p>
+ <p>
+ Own Id: OTP-18303 Aux Id: PR-6384 </p>
+ </item>
+ <item>
+ <p>Runtime dependencies have been updated.</p>
+ <p>
+ Own Id: OTP-18350</p>
+ </item>
+ <item>
+ <p>
+ Support for <c>cpu_sup:util()</c> on OpenBSD.</p>
+ <p>
+ Own Id: OTP-18566 Aux Id: PR-7080 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Os_Mon 2.8.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/os_mon/src/os_mon.app.src b/lib/os_mon/src/os_mon.app.src
index 883be4f047..e78e8dae27 100644
--- a/lib/os_mon/src/os_mon.app.src
+++ b/lib/os_mon/src/os_mon.app.src
@@ -31,4 +31,4 @@
{start_memsup, true},
{start_os_sup, false}]},
{mod, {os_mon, []}},
- {runtime_dependencies, ["stdlib-@OTP-18350@","sasl-@OTP-18350@","kernel-@OTP-18350@","erts-@OTP-18350@"]}]}.
+ {runtime_dependencies, ["stdlib-5.0","sasl-4.2.1","kernel-9.0","erts-14.0"]}]}.
diff --git a/lib/os_mon/vsn.mk b/lib/os_mon/vsn.mk
index d6878e6773..b109e7a0ab 100644
--- a/lib/os_mon/vsn.mk
+++ b/lib/os_mon/vsn.mk
@@ -1 +1 @@
-OS_MON_VSN = 2.8.2
+OS_MON_VSN = 2.9
diff --git a/lib/parsetools/doc/src/notes.xml b/lib/parsetools/doc/src/notes.xml
index 6d79b4ce49..f5fb18c801 100644
--- a/lib/parsetools/doc/src/notes.xml
+++ b/lib/parsetools/doc/src/notes.xml
@@ -31,6 +31,21 @@
</header>
<p>This document describes the changes made to the Parsetools application.</p>
+<section><title>Parsetools 2.5</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Leex has been extended with optional column number
+ support.</p>
+ <p>
+ Own Id: OTP-18491 Aux Id: PR-6882 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Parsetools 2.4.1</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/parsetools/vsn.mk b/lib/parsetools/vsn.mk
index f903e0274d..003682dd60 100644
--- a/lib/parsetools/vsn.mk
+++ b/lib/parsetools/vsn.mk
@@ -1 +1 @@
-PARSETOOLS_VSN = 2.4.1
+PARSETOOLS_VSN = 2.5
diff --git a/lib/public_key/doc/src/notes.xml b/lib/public_key/doc/src/notes.xml
index 70e1c819f3..20e96b08dc 100644
--- a/lib/public_key/doc/src/notes.xml
+++ b/lib/public_key/doc/src/notes.xml
@@ -35,6 +35,27 @@
<file>notes.xml</file>
</header>
+<section><title>Public_Key 1.14</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> Handling of <c>on_load</c> modules during boot has
+ been improved by adding an extra step in the boot order
+ for embedded mode that runs all <c>on_load</c> handlers,
+ instead of relying on explicit invocation of them, later,
+ when the kernel supervision tree starts. </p><p> This is
+ mostly a code improvement and OTP internal simplification
+ to avoid future bugs and to simplify code maintenance.
+ </p>
+ <p>
+ Own Id: OTP-18447</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Public_Key 1.13.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk
index 850e86ef69..332583742a 100644
--- a/lib/public_key/vsn.mk
+++ b/lib/public_key/vsn.mk
@@ -1 +1 @@
-PUBLIC_KEY_VSN = 1.13.3
+PUBLIC_KEY_VSN = 1.14
diff --git a/lib/reltool/doc/src/notes.xml b/lib/reltool/doc/src/notes.xml
index 346a80ef54..6cc06b521c 100644
--- a/lib/reltool/doc/src/notes.xml
+++ b/lib/reltool/doc/src/notes.xml
@@ -38,7 +38,46 @@
thus constitutes one section in this document. The title of each
section is the version number of Reltool.</p>
- <section><title>Reltool 0.9.1</title>
+ <section><title>Reltool 1.0</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Add possibility to strip specific chunks from beam files
+ included in a release. Before this change it was only
+ possible to strip all chunks from the beam files.</p>
+ <p>
+ Own Id: OTP-18230 Aux Id: PR-5936 </p>
+ </item>
+ <item>
+ <p>Runtime dependencies have been updated.</p>
+ <p>
+ Own Id: OTP-18350</p>
+ </item>
+ <item>
+ <p>Support for the experimental code archives feature has
+ been removed from <c>reltool</c>.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18488 Aux Id: PR-6836 </p>
+ </item>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Reltool 0.9.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/reltool/src/reltool.app.src b/lib/reltool/src/reltool.app.src
index 421ca01ea3..03d67ee585 100644
--- a/lib/reltool/src/reltool.app.src
+++ b/lib/reltool/src/reltool.app.src
@@ -37,7 +37,7 @@
{applications, [stdlib, kernel]},
{env, []},
{runtime_dependencies,
- ["wx-@OTP-18350@","tools-2.6.14",
- "stdlib-@OTP-18490@","stdlib-@OTP-18350@","sasl-@OTP-18350@",
- "kernel-@OTP-18350@","erts-@OTP-18350@"]}
+ ["wx-2.3","tools-2.6.14",
+ "stdlib-5.0","stdlib-5.0","sasl-4.2.1",
+ "kernel-9.0","erts-14.0"]}
]}.
diff --git a/lib/reltool/vsn.mk b/lib/reltool/vsn.mk
index 2fa512829c..6a81d9b40c 100644
--- a/lib/reltool/vsn.mk
+++ b/lib/reltool/vsn.mk
@@ -1 +1 @@
-RELTOOL_VSN = 0.9.1
+RELTOOL_VSN = 1.0
diff --git a/lib/runtime_tools/doc/src/notes.xml b/lib/runtime_tools/doc/src/notes.xml
index 56c77be0a4..7e25c3c5cc 100644
--- a/lib/runtime_tools/doc/src/notes.xml
+++ b/lib/runtime_tools/doc/src/notes.xml
@@ -32,6 +32,71 @@
<p>This document describes the changes made to the Runtime_Tools
application.</p>
+<section><title>Runtime_Tools 2.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>Fixed the type specification for
+ <c>instrument:carriers/0,1</c></p>
+ <p>
+ Own Id: OTP-18499 Aux Id: PR-6946 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Add <c>dbg:tracer(file, Filename)</c> as a convenient way
+ to trace to a file in clean text.</p>
+ <p>
+ Own Id: OTP-18211 Aux Id: PR-6143 </p>
+ </item>
+ <item>
+ <p> Handling of <c>on_load</c> modules during boot has
+ been improved by adding an extra step in the boot order
+ for embedded mode that runs all <c>on_load</c> handlers,
+ instead of relying on explicit invocation of them, later,
+ when the kernel supervision tree starts. </p><p> This is
+ mostly a code improvement and OTP internal simplification
+ to avoid future bugs and to simplify code maintenance.
+ </p>
+ <p>
+ Own Id: OTP-18447</p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p>The <c>instrument</c> module has been moved from
+ <c>tools</c> to <c>runtime_tools</c>.</p>
+ <p>
+ Own Id: OTP-18487 Aux Id: PR-6829 </p>
+ </item>
+ <item>
+ <p>
+ Removed the experimental <c>erts_alloc_config</c> module.
+ It no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It has
+ since OTP 25 been deprecated and scheduled for removal in
+ OTP 26.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18549 Aux Id: PR-7105 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Runtime_Tools 1.19</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/runtime_tools/vsn.mk b/lib/runtime_tools/vsn.mk
index 15ef680b67..6a374f92d4 100644
--- a/lib/runtime_tools/vsn.mk
+++ b/lib/runtime_tools/vsn.mk
@@ -1 +1 @@
-RUNTIME_TOOLS_VSN = 1.19
+RUNTIME_TOOLS_VSN = 2.0
diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml
index 78de4f2f39..2ba4c74362 100644
--- a/lib/sasl/doc/src/notes.xml
+++ b/lib/sasl/doc/src/notes.xml
@@ -31,6 +31,23 @@
</header>
<p>This document describes the changes made to the SASL application.</p>
+<section><title>SASL 4.2.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>Improved error message from
+ <c>systools:make_script</c>, when .app parameters contain
+ duplicates. The parameters that will be checked are
+ modules, applications and registered.</p>
+ <p>
+ Own Id: OTP-18300 Aux Id: PR-6389 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>SASL 4.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/sasl/src/sasl.appup.src b/lib/sasl/src/sasl.appup.src
index 3752c085e2..644de80438 100644
--- a/lib/sasl/src/sasl.appup.src
+++ b/lib/sasl/src/sasl.appup.src
@@ -19,28 +19,24 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 23
%% - OTP 24
%% - OTP 25
+%% - OTP 26
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^4\\.0$">>,[restart_new_emulator]},
- {<<"^4\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^4\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.1$">>,[restart_new_emulator]},
+ [{<<"^4\\.1$">>,[restart_new_emulator]},
{<<"^4\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
- [{<<"^4\\.0$">>,[restart_new_emulator]},
- {<<"^4\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^4\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.1$">>,[restart_new_emulator]},
+ {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^4\\.2$">>,[restart_new_emulator]},
+ {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}],
+ [{<<"^4\\.1$">>,[restart_new_emulator]},
{<<"^4\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
+ {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^4\\.2$">>,[restart_new_emulator]},
+ {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk
index 0fbf91bf53..569f493b68 100644
--- a/lib/sasl/vsn.mk
+++ b/lib/sasl/vsn.mk
@@ -1 +1 @@
-SASL_VSN = 4.2
+SASL_VSN = 4.2.1
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml
index 01cff8fa4b..55d8be32f2 100644
--- a/lib/snmp/doc/src/notes.xml
+++ b/lib/snmp/doc/src/notes.xml
@@ -34,7 +34,25 @@
</header>
- <section><title>SNMP 5.13.5</title>
+ <section><title>SNMP 5.14</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>SNMP 5.13.5</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/snmp/src/app/snmp.app.src b/lib/snmp/src/app/snmp.app.src
index 2d97cb652d..db82fe52ec 100644
--- a/lib/snmp/src/app/snmp.app.src
+++ b/lib/snmp/src/app/snmp.app.src
@@ -142,5 +142,5 @@
{applications, [kernel, stdlib]},
{mod, {snmp_app, []}},
{runtime_dependencies,
- ["stdlib-@OTP-18490@","runtime_tools-1.8.14","mnesia-4.12",
+ ["stdlib-5.0","runtime_tools-1.8.14","mnesia-4.12",
"kernel-8.0","erts-12.0","crypto-4.6"]}]}.
diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk
index 13c7e9790e..102997609a 100644
--- a/lib/snmp/vsn.mk
+++ b/lib/snmp/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = snmp
-SNMP_VSN = 5.13.5
+SNMP_VSN = 5.14
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(SNMP_VSN)$(PRE_VSN)"
diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml
index b445e649f8..4736255a26 100644
--- a/lib/ssh/doc/src/notes.xml
+++ b/lib/ssh/doc/src/notes.xml
@@ -30,6 +30,50 @@
<file>notes.xml</file>
</header>
+<section><title>Ssh 5.0</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The ssh_cli has been updated to work with the changes
+ introduced in the new Erlang shell implementation.</p>
+ <p>
+ Own Id: OTP-18231 Aux Id: OTP-17932 PR-6144 </p>
+ </item>
+ <item>
+ <p>
+ Typing <c>Ctrl+L</c> in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type <c>Alt+L</c>. This brings the behaviour of
+ <c>Ctrl+L</c> closer to how bash and other shells work.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18285 Aux Id: PR-6262 </p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Ssh 4.15.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/ssh/src/ssh.app.src b/lib/ssh/src/ssh.app.src
index 5e0c756cba..fedd05e350 100644
--- a/lib/ssh/src/ssh.app.src
+++ b/lib/ssh/src/ssh.app.src
@@ -59,9 +59,9 @@
{mod, {ssh_app, []}},
{runtime_dependencies, [
"crypto-5.0",
- "erts-@OTP-17932@",
- "kernel-@OTP-17932@",
+ "erts-14.0",
+ "kernel-9.0",
"public_key-1.6.1",
- "stdlib-@OTP-18490@","stdlib-@OTP-17932@",
+ "stdlib-5.0","stdlib-5.0",
"runtime_tools-1.15.1"
]}]}.
diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk
index 6fa9e323c5..b5b7991fe1 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.15.3
+SSH_VSN = 5.0
APP_VSN = "ssh-$(SSH_VSN)"
diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml
index 911055d742..5b767d2d01 100644
--- a/lib/ssl/doc/src/notes.xml
+++ b/lib/ssl/doc/src/notes.xml
@@ -27,6 +27,208 @@
</header>
<p>This document describes the changes made to the SSL application.</p>
+<section><title>SSL 11.0</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Remove less that 256 bit ECC from default supported ECC
+ pre TLS-1.3</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-14771</p>
+ </item>
+ <item>
+ <p>
+ Improved error checking and handling of ssl options.</p>
+ <p>
+ Own Id: OTP-15903</p>
+ </item>
+ <item>
+ <p>
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for creating
+ ClientHello throughout ticket lifetime. Without this
+ change, usability was limited to WindowSize number of
+ seconds configured for anti_replay option.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18168 Aux Id: PR-6019, GH-6014 </p>
+ </item>
+ <item>
+ <p> Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (<c>-proto_dist
+ inet_tls</c>), the SSL option <c>{ktls, true}</c>. Using
+ this for general SSL sockets is uncomfortable,
+ undocumented and not recommended since it requires very
+ platform dependent raw options. </p><p> This, for now,
+ only works for some not too old Linux distributions.
+ Roughly, a kernel 5.2.0 or later with support for
+ UserLand Protocols and the kernel module <c>tls</c> is
+ required. </p>
+ <p>
+ Own Id: OTP-18235 Aux Id: PR-6104, PR-5840 </p>
+ </item>
+ <item>
+ <p>
+ With this change, TLS 1.3 server can be configured to
+ include client certificate in session ticket.</p>
+ <p>
+ Own Id: OTP-18253</p>
+ </item>
+ <item>
+ <p>
+ With this change, it is possible to configure encryption
+ seed to be used with TLS1.3 stateless tickets. This
+ enables using tickets on different server instances.</p>
+ <p>
+ Own Id: OTP-18254 Aux Id: PR-5982 </p>
+ </item>
+ <item>
+ <p>
+ Debugging enhancements.</p>
+ <p>
+ Own Id: OTP-18312</p>
+ </item>
+ <item>
+ <p>
+ With this change, maybe keyword atom is not used as
+ function name in ssl code.</p>
+ <p>
+ Own Id: OTP-18335</p>
+ </item>
+ <item>
+ <p>
+ Replace size/1 with either tuple_size/1 or byte_size/1</p>
+ <p>
+ The <c>size/1</c> BIF is not optimized by the JIT, and
+ its use can result in worse types for Dialyzer.</p>
+ <p>
+ When one knows that the value being tested must be a
+ tuple, <c>tuple_size/1</c> should always be preferred.</p>
+ <p>
+ When one knows that the value being tested must be a
+ binary, <c>byte_size/1</c> should be preferred. However,
+ <c>byte_size/1</c> also accepts a bitstring (rounding up
+ size to a whole number of bytes), so one must make sure
+ that the call to <c>byte_size/</c> is preceded by a call
+ to <c>is_binary/1</c> to ensure that bitstrings are
+ rejected. Note that the compiler removes redundant calls
+ to <c>is_binary/1</c>, so if one is not sure whether
+ previous code had made sure that the argument is a
+ binary, it does not harm to add an <c>is_binary/1</c>
+ test immediately before the call to <c>byte_size/1</c>.</p>
+ <p>
+ Own Id: OTP-18405 Aux Id:
+ GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814 </p>
+ </item>
+ <item>
+ <p>
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18438 Aux Id: GH-6679 </p>
+ </item>
+ <item>
+ <p>
+ Mitigate memory usage from large certificate chains by
+ lowering the maximum handshake size. This should not
+ effect the common cases, if needed it can be configured
+ to a higher value.</p>
+ <p>
+ Own Id: OTP-18453</p>
+ </item>
+ <item>
+ <p>
+ Change the client default verify option to verify_peer.
+ Note that this makes it mandatory to also supply trusted
+ CA certificates or explicitly set verify to verify_none.
+ This also applies when using the so called anonymous test
+ cipher suites defined in TLS versions pre TLS-1.3.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18455 Aux Id: GH-5899 </p>
+ </item>
+ <item>
+ <p>
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable effects
+ on behaviour or performance.</p>
+ <p>
+ Own Id: OTP-18456</p>
+ </item>
+ <item>
+ <p>
+ Add encoding and decoding of use_srtp hello extension to
+ facilitate for DTLS users to implement SRTP
+ functionality.</p>
+ <p>
+ Own Id: OTP-18459</p>
+ </item>
+ <item>
+ <p>
+ Refactors the (<c>ssl</c> application to use macros for
+ TLS and DTLS versions instead of hard-coded tuple
+ numbers. This change improves the maintainability of
+ <c>ssl</c></p>
+ <p>
+ Own Id: OTP-18465 Aux Id: GH-7065 </p>
+ </item>
+ <item>
+ <p>
+ If the function ssl:renegotiate/1 is called on connection
+ that is running TLS-1.3 return an error instead of
+ hanging or timing out.</p>
+ <p>
+ Own Id: OTP-18507</p>
+ </item>
+ <item>
+ <p>
+ If a user cancel alert with level warning is received
+ during handshake make it be handled the same regardless
+ of TLS version. If it is received in connection in
+ TLS-1.3 regard it as an error as it is inappropriate.</p>
+ <p>
+ In TLS-1.3 all error alerts are considered FATAL
+ regardless of legacy alert type. But make sure legacy
+ type is printed in logs to not confuse users that are
+ expecting the same legacy type as sent by peer.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18531</p>
+ </item>
+ <item>
+ <p>
+ Make <c>fail_if_no_peer_cert</c> default true if
+ verify_peer is set on the server, otherwise the server
+ will accept the connection if verify_peer is set and the
+ user have forgot to set the fail_if_no_peer_cert and the
+ client did not send a certificate.</p>
+ <p>
+ Own Id: OTP-18567</p>
+ </item>
+ <item>
+ <p>
+ To make it easier to configure signature algorithms with
+ algorithms that are moved from the default add the API
+ function signature_algs/2 that lists possible values.
+ Also make sha224 a non default value.</p>
+ <p>
+ Own Id: OTP-18572</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>SSL 10.9.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml
index b4a30a68c8..4fda1a3161 100644
--- a/lib/ssl/doc/src/ssl.xml
+++ b/lib/ssl/doc/src/ssl.xml
@@ -2175,7 +2175,7 @@ fun(srp, Username :: binary(), UserState :: term()) ->
</func>
<func>
- <name since="OTP @OTP-18572@" name="signature_algs" arity="2" />
+ <name since="OTP 26.0" name="signature_algs" arity="2" />
<fsummary>Returns a list of signature algorithms/schemes </fsummary>
<desc>
<p>Lists all possible signature algorithms corresponding to
diff --git a/lib/ssl/src/ssl.app.src b/lib/ssl/src/ssl.app.src
index abc5d278a8..b9f69af6a3 100644
--- a/lib/ssl/src/ssl.app.src
+++ b/lib/ssl/src/ssl.app.src
@@ -88,6 +88,6 @@
{applications, [crypto, public_key, kernel, stdlib]},
{env, []},
{mod, {ssl_app, []}},
- {runtime_dependencies, ["stdlib-4.1","public_key-1.11.3","kernel-@OTP-18235@",
- "erts-@OTP-18248@","crypto-5.0", "inets-5.10.7",
+ {runtime_dependencies, ["stdlib-4.1","public_key-1.11.3","kernel-9.0",
+ "erts-14.0","crypto-5.0", "inets-5.10.7",
"runtime_tools-1.15.1"]}]}.
diff --git a/lib/ssl/vsn.mk b/lib/ssl/vsn.mk
index db6de41e50..de283ec08a 100644
--- a/lib/ssl/vsn.mk
+++ b/lib/ssl/vsn.mk
@@ -1 +1 @@
-SSL_VSN = 10.9.1
+SSL_VSN = 11.0
diff --git a/lib/stdlib/doc/src/base64.xml b/lib/stdlib/doc/src/base64.xml
index a4ab294336..e3d217ca39 100644
--- a/lib/stdlib/doc/src/base64.xml
+++ b/lib/stdlib/doc/src/base64.xml
@@ -103,10 +103,10 @@
</func>
<func>
- <name name="decode" arity="2" since="OTP @OTP-18247@"/>
- <name name="decode_to_string" arity="2" since="OTP @OTP-18247@"/>
- <name name="mime_decode" arity="2" since="OTP @OTP-18247@"/>
- <name name="mime_decode_to_string" arity="2" since="OTP @OTP-18247@"/>
+ <name name="decode" arity="2" since="OTP 26.0"/>
+ <name name="decode_to_string" arity="2" since="OTP 26.0"/>
+ <name name="mime_decode" arity="2" since="OTP 26.0"/>
+ <name name="mime_decode_to_string" arity="2" since="OTP 26.0"/>
<fsummary>Decode a base64 encoded string to data.</fsummary>
<type variable="Base64"/>
<type variable="Options" name_i="1"/>
@@ -163,8 +163,8 @@
</func>
<func>
- <name name="encode" arity="2" since="OTP @OTP-18247@"/>
- <name name="encode_to_string" arity="2" since="OTP @OTP-18247@"/>
+ <name name="encode" arity="2" since="OTP 26.0"/>
+ <name name="encode_to_string" arity="2" since="OTP 26.0"/>
<fsummary>Encode data into base64.</fsummary>
<type variable="Data"/>
<type variable="Options"/>
diff --git a/lib/stdlib/doc/src/binary.xml b/lib/stdlib/doc/src/binary.xml
index 07f55ed30e..6f55d6d327 100644
--- a/lib/stdlib/doc/src/binary.xml
+++ b/lib/stdlib/doc/src/binary.xml
@@ -244,7 +244,7 @@
<func>
<name name="encode_hex" arity="1" since="OTP 24.0"/>
- <name name="encode_hex" arity="2" since="OTP @OTP-18354@"/>
+ <name name="encode_hex" arity="2" since="OTP 26.0"/>
<fsummary>Encodes a binary into a hex encoded binary with specified case</fsummary>
<desc>
<p>Encodes a binary into a hex encoded binary using the specified case for the hexadecimal digits "a" to "f".</p>
diff --git a/lib/stdlib/doc/src/edlin_expand.xml b/lib/stdlib/doc/src/edlin_expand.xml
index 62e634c1a5..d95d0bf0e4 100644
--- a/lib/stdlib/doc/src/edlin_expand.xml
+++ b/lib/stdlib/doc/src/edlin_expand.xml
@@ -28,7 +28,7 @@
<date></date>
<rev></rev>
</header>
- <module since="OTP @OTP-14835@">edlin_expand</module>
+ <module since="OTP 26.0">edlin_expand</module>
<modulesummary>Shell expansion and formatting of expansion suggestions.</modulesummary>
<description>
<p>This module provides an expand_fun for the erlang shell
@@ -38,8 +38,8 @@
</description>
<funcs>
<func>
- <name name="expand" arity="1" since="OTP @OTP-14835@"/>
- <name name="expand" arity="2" since="OTP @OTP-14835@"/>
+ <name name="expand" arity="1" since="OTP 26.0"/>
+ <name name="expand" arity="2" since="OTP 26.0"/>
<fsummary>Standard expanion function for the erl shell.</fsummary>
<desc>
<p>The standard expansion function is able to expand strings to
diff --git a/lib/stdlib/doc/src/ets.xml b/lib/stdlib/doc/src/ets.xml
index 2aa05a599a..855f38d2ae 100644
--- a/lib/stdlib/doc/src/ets.xml
+++ b/lib/stdlib/doc/src/ets.xml
@@ -999,7 +999,7 @@ Error: fun containing local Erlang function calls
</func>
<func>
- <name name="lookup_element" arity="4" since="OTP @OTP-18279@"/>
+ <name name="lookup_element" arity="4" since="OTP 26.0"/>
<fsummary>Return the <c>Pos</c>:th element of all objects with a
specified key in an ETS table, or <c>Default</c> if there is no such object.</fsummary>
<desc>
diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml
index 1a14654821..8bf10b71b5 100644
--- a/lib/stdlib/doc/src/lists.xml
+++ b/lib/stdlib/doc/src/lists.xml
@@ -177,7 +177,7 @@
<func>
<name name="enumerate" arity="1" since="OTP 25.0"/>
<name name="enumerate" arity="2" since="OTP 25.0"/>
- <name name="enumerate" arity="3" since="OTP @OTP-18495@"/>
+ <name name="enumerate" arity="3" since="OTP 26.0"/>
<fsummary>Annotates elements with their index.</fsummary>
<desc>
<p>Returns <c><anno>List1</anno></c> with each element
@@ -1059,7 +1059,7 @@ splitwith(Pred, List) ->
<func>
<name name="zip" arity="2" since=""/>
- <name name="zip" arity="3" since="OTP @OTP-18318@"/>
+ <name name="zip" arity="3" since="OTP 26.0"/>
<fsummary>Zip two lists into a list of two-tuples.</fsummary>
<desc>
<p>"Zips" two lists into one list of two-tuples,
@@ -1098,7 +1098,7 @@ splitwith(Pred, List) ->
<func>
<name name="zip3" arity="3" since=""/>
- <name name="zip3" arity="4" since="OTP @OTP-18318@"/>
+ <name name="zip3" arity="4" since="OTP 26.0"/>
<fsummary>Zip three lists into a list of three-tuples.</fsummary>
<desc>
<p>"Zips" three lists into one list of
@@ -1113,7 +1113,7 @@ splitwith(Pred, List) ->
<func>
<name name="zipwith" arity="3" since=""/>
- <name name="zipwith" arity="4" since="OTP @OTP-18318@"/>
+ <name name="zipwith" arity="4" since="OTP 26.0"/>
<fsummary>Zip two lists into one list according to a fun.</fsummary>
<desc>
<p>Combines the elements of two lists into one list.
@@ -1133,7 +1133,7 @@ splitwith(Pred, List) ->
<func>
<name name="zipwith3" arity="4" since=""/>
- <name name="zipwith3" arity="5" since="OTP @OTP-18318@"/>
+ <name name="zipwith3" arity="5" since="OTP 26.0"/>
<fsummary>Zip three lists into one list according to a fun.</fsummary>
<desc>
<p>Combines the elements of three lists into one
diff --git a/lib/stdlib/doc/src/math.xml b/lib/stdlib/doc/src/math.xml
index 69df237496..c0b0d60f61 100644
--- a/lib/stdlib/doc/src/math.xml
+++ b/lib/stdlib/doc/src/math.xml
@@ -110,7 +110,7 @@ erf(X) = 2/sqrt(pi)*integral from 0 to X of exp(-t*t) dt.</pre>
</func>
<func>
- <name name="tau" arity="0" since="OTP @OTP-18361@"/>
+ <name name="tau" arity="0" since="OTP 26.0"/>
<fsummary>Ratio of the circumference of a circle to its radius.</fsummary>
<desc>
<p>Ratio of the circumference of a circle to its radius.</p>
diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml
index 0906db1359..3f9edddbc1 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,6 +31,451 @@
</header>
<p>This document describes the changes made to the STDLIB application.</p>
+<section><title>STDLIB 5.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ All process calls in <c>dets</c> have been updated to use
+ the receive queue optimizations.</p>
+ <p>
+ Own Id: OTP-18275 Aux Id: PR-6045 </p>
+ </item>
+ <item>
+ <p> <c>proc_lib:start*/*</c> has become synchronous when
+ the started process fails. This requires that a failing
+ process use a new function <c>proc_lib:init_fail/2,3</c>,
+ or exits, to indicate failure. All OTP behaviours have
+ been fixed to do this. </p><p> All these start functions
+ now consume the <c>'EXIT'</c> message from a process link
+ for all error returns. Previously it was only the
+ <c>start_link/*</c> functions that did this, and only
+ when the started function exited, not when it used
+ <c>init_ack/1,2</c> or <c>init_fail/2,3</c> to create the
+ return value. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18471 Aux Id: GH-6339, PR-6843 </p>
+ </item>
+ <item>
+ <p>Fixed a bug where <c>file:read(standard_io, ...)</c>
+ unexpectedly returned <c>eof</c> in binary mode.</p>
+ <p>
+ Own Id: OTP-18486 Aux Id: PR-6881 </p>
+ </item>
+ <item>
+ <p>In the shell, <c>v(N)</c> would fail to retrieve the
+ command if the command's return value was
+ <c>undefined</c>.</p>
+ <p>
+ Own Id: OTP-18548 Aux Id: PR-6967 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>The Erlang shell has been improved to support the
+ following features:</p> <list> <item>Auto-complete
+ variables, record names, record field names, map keys,
+ function parameter types and filenames.</item> <item>Open
+ external editor in the shell (with C-o) to edit the
+ current expression in an editor.</item> <item>Support
+ defining records (with types), functions and function
+ typespecs, and custom types in the shell.</item> <item>Do
+ not save pager commands, and input to io:getline in
+ history.</item> </list>
+ <p>
+ Own Id: OTP-14835 Aux Id: PR-5924 </p>
+ </item>
+ <item>
+ <p>
+ Gen_server now caches external functions for use in
+ handle_call, handle_cast and handle_info.</p>
+ <p>
+ Own Id: OTP-15597 Aux Id: PR-5831 </p>
+ </item>
+ <item>
+ <p>The TTY/terminal subsystem has been rewritten by
+ moving more code to Erlang from the old linked-in driver
+ and implementing all the I/O primitives needed in a NIF
+ instead. </p><p> On Unix platforms the user should not
+ notice a lot of difference, besides better handling of
+ unicode characters and fixing of some long standing bugs.
+ </p><p> Windows users will notice that erl.exe has the
+ same functionality as a normal Unix shell and that
+ werl.exe has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix. </p><p> The
+ re-write brings with it a number of bug fixes and feature
+ additions:</p> <list> <item>The TTY is now reset when
+ Erlang exits, fixing zsh to not break when terminating an
+ Erlang session.</item> <item><c>standard_error</c> now
+ uses the same unicode mode as <c>standard_io</c>.</item>
+ <item>Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the
+ shell.</item> <item>Tab expansion now works on remote
+ nodes started using the JCL interface.</item> <item>It is
+ now possible to configure the shell slogan and the
+ session slogans (that is the texts that appear when you
+ start an Erlang shell). See the kernel documentation for
+ more details.</item> <item>Added shell:start_interactive
+ for starting the interactive shell from a non-interactive
+ Erlang session (for example an escript).</item> <item>On
+ Windows, when starting in detached mode the standard
+ handler are now set to <c>nul</c> devices instead of
+ being unset.</item> <item> Standard I/O now always
+ defaults to <c>unicode</c> mode if supported. Previously
+ the default was <c>latin1</c> if the runtime system had
+ been started with <c>-oldshell</c> or <c>-noshell</c>
+ (for example in an <c>escript</c>). To send raw bytes
+ over standard out, one now explicitly has to specify
+ <c>io:setopts(standard_io, [{encoding, latin1}]).</c>
+ </item> </list>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343
+ GH-4225 </p>
+ </item>
+ <item>
+ <p>Added the <c>zip:zip_get_crc32/2</c> function to
+ retrieve the CRC32 checksum from an opened ZIP
+ archive.</p>
+ <p>
+ Own Id: OTP-18159 Aux Id: PR-6904 </p>
+ </item>
+ <item>
+ <p>
+ Added the options <c>post_process_args</c> and
+ <c>detached</c> to the <c>peer:start</c> function.</p>
+ <p>
+ Own Id: OTP-18176 Aux Id: PR-6118 </p>
+ </item>
+ <item>
+ <p>The <c>re:replace/3,4</c> functions now accept a fun
+ as the replacement argument.</p>
+ <p>
+ Own Id: OTP-18221 Aux Id: PR-6197 </p>
+ </item>
+ <item>
+ <p>The performance of the <c>base64</c> module has been
+ significantly improved. For example, on an x86_64 system
+ with the JIT both encode and decode are more than three
+ times faster than in Erlang/OTP 25.</p>
+ <p>
+ Own Id: OTP-18228 Aux Id: GH-5639 </p>
+ </item>
+ <item>
+ <p>
+ Improved implementation of <seemfa
+ marker="stdlib:timer#apply_interval/4"><c>timer:apply_interval/4</c></seemfa>
+ reducing load on the timer server, and introduction of
+ the new function <seemfa
+ marker="stdlib:timer#apply_repeatedly/4"><c>timer:apply_repeatedly/4</c></seemfa>.
+ <c>timer:apply_repeatedly/4</c> is similar to
+ <c>timer:apply_interval/4</c>, but
+ <c>timer:apply_repeatedly/4</c> prevents parallel
+ execution of triggered <c>apply</c> operations which
+ <c>timer:apply_interval/4</c> does not.</p>
+ <p>
+ Own Id: OTP-18236 Aux Id: PR-6256 </p>
+ </item>
+ <item>
+ <p>The <c>base64</c> module now supports encoding and
+ decoding with an alternate URL safe alphabet, and an
+ option for accepting or adding missing <c>=</c> padding
+ characters.</p>
+ <p>
+ Own Id: OTP-18247 Aux Id: PR-6280, PR-6711 </p>
+ </item>
+ <item>
+ <p>
+ Add <c>shell:whereis/0</c> which can be used to locate
+ the current shell process.</p>
+ <p>
+ Own Id: OTP-18272 Aux Id: PR-6279 </p>
+ </item>
+ <item>
+ <p>
+ The Erlang shell's auto-completion when typing <c>tab</c>
+ has been changed to happen after the editing current line
+ instead of before it.</p>
+ <p>
+ This behaviour can be configured using a the
+ <c>shell_expand_location</c> STDLIB configuration
+ parameter.</p>
+ <p>
+ Own Id: OTP-18278 Aux Id: PR-6260 </p>
+ </item>
+ <item>
+ <p>
+ New function <c>ets:lookup_element/4</c> with a
+ <c>Default</c> argument returned if the key did not exist
+ in the table. The old <c>ets:lookup_element/3</c> raises
+ a <c>badarg</c> exception which can be both inconvenient
+ and slower.</p>
+ <p>
+ Own Id: OTP-18279 Aux Id: PR-6234 </p>
+ </item>
+ <item>
+ <p>
+ Typing <c>Ctrl+L</c> in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type <c>Alt+L</c>. This brings the behaviour of
+ <c>Ctrl+L</c> closer to how bash and other shells work.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18285 Aux Id: PR-6262 </p>
+ </item>
+ <item>
+ <p>
+ <c>peer</c> nodes using <c>standard_io</c> connections
+ now include standard error from the node in the io stream
+ from the started node.</p>
+ <p>
+ Own Id: OTP-18287 Aux Id: PR-5955 </p>
+ </item>
+ <item>
+ <p>A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <c>&lt;&lt;A:8&gt;&gt; = &lt;&lt;B:4,C:4&gt;&gt;
+ = Bin</c></p>
+ <p>
+ Own Id: OTP-18297 Aux Id: GH-6348 </p>
+ </item>
+ <item>
+ <p>
+ Improve type specification of
+ <c>unicode:characters_to_list()</c>.</p>
+ <p>
+ Own Id: OTP-18301 Aux Id: PR-6350 </p>
+ </item>
+ <item>
+ <p>In the <c>lists</c> module, the <c>zip</c> family of
+ functions now takes options to allow handling lists of
+ different lengths.</p>
+ <p>
+ Own Id: OTP-18318 Aux Id: PR-6347 </p>
+ </item>
+ <item>
+ <p>It is documented that <c>$\^X</c> is the ASCII code
+ for Control X, where X is an uppercase or lowercase
+ letter. However, this notation would work for any
+ character X, even then it didn't make sense.</p>
+ <p>In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the
+ <c>\^</c> characters: <c>@</c>, <c>[</c>, <c>\</c>,
+ <c>]</c>, <c>^</c>, <c>_</c>, and <c>?</c>. Attempt to
+ use other characters will be rejected with a compiler
+ error.</p>
+ <p>The value for <c>$\^?</c> is now 127 (instead of 31 as
+ in earlier releases).</p>
+ <p>
+ Own Id: OTP-18337 Aux Id: GH-6477, PR-6503 </p>
+ </item>
+ <item>
+ <p>The <c>binary:encode_hex/2</c> function has been added
+ to allow the encoded hexadecimal digits to be in either
+ lower or upper case.</p>
+ <p>
+ Own Id: OTP-18354 Aux Id: PR-6297 </p>
+ </item>
+ <item>
+ <p>
+ Variants of <c>timer:tc()</c> with user specified time
+ unit have been introduced.</p>
+ <p>
+ Own Id: OTP-18355 Aux Id: PR-6507 </p>
+ </item>
+ <item>
+ <p>
+ New function <c>math:tau/0</c>. Returns
+ <c>2*math:pi()</c>.</p>
+ <p>
+ Own Id: OTP-18361 Aux Id: PR-6536 </p>
+ </item>
+ <item>
+ <p>The BIFs <c>min/2</c> and <c>max/2</c> are now allowed
+ to be used in guards and match specs.</p>
+ <p>
+ Own Id: OTP-18367 Aux Id: GH-6544 </p>
+ </item>
+ <item>
+ <p>
+ Optimized <c>gen_server:multi_call()</c>.</p>
+ <p>
+ Own Id: OTP-18385 Aux Id: PR-6698 </p>
+ </item>
+ <item>
+ <p>Map comprehensions as suggested in EEP 58 has now been
+ implemented.</p>
+ <p>
+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727 </p>
+ </item>
+ <item>
+ <p>Some map operations have been optimized by changing
+ the internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by <c>maps:to_list/1</c> and
+ <c>maps:next/1</c>. The new order is unpredictable and
+ may change between different invocations of the Erlang
+ VM.</p>
+ <p>For applications where order is important, there is a
+ new function <c>maps:iterator/2</c> for creating
+ iterators that return the map elements in a deterministic
+ order. There are also new modifiers <c>k</c> and <c>K</c>
+ for the format string for <c>io:format()</c> to support
+ printing map elements ordered.</p>
+ <p>
+ Own Id: OTP-18414 Aux Id: PR-6151 </p>
+ </item>
+ <item>
+ <p>
+ Make gen_server fail "silently" with a new return value
+ for init/1.</p>
+ <p>
+ Own Id: OTP-18423 Aux Id:
+ https://github.com/erlang/backlog/issues/142 </p>
+ </item>
+ <item>
+ <p>Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.</p>
+ <p>This greatly improves the performance of
+ <c>gen_server:send_request/3</c>,
+ <c>gen_server:wait_response/2</c>, and similar
+ functions.</p>
+ <p>
+ Own Id: OTP-18431 Aux Id: PR-6739 </p>
+ </item>
+ <item>
+ <p>It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.</p>
+ <p>That means that to use feature <c>maybe_expr</c> in
+ Erlang/OTP 26, it is sufficient to enable it during
+ compilation.</p>
+ <p>In Erlang/OTP 27, feature <c>maybe_expr</c> will be
+ enabled by default, but it will be possible to disable
+ it.</p>
+ <p>
+ Own Id: OTP-18445</p>
+ </item>
+ <item>
+ <p>
+ Static supervisors are very idle processes after they
+ have started so they will now be hibernated after start
+ to improve resource management.</p>
+ <p>
+ Own Id: OTP-18474 Aux Id: PR-6895 </p>
+ </item>
+ <item>
+ <p>
+ Deprecates <c>dbg:stop_clear/0</c> because it is simply a
+ function alias to <c>dbg:stop/0</c></p>
+ <p>
+ Own Id: OTP-18478 Aux Id: GH-6903 </p>
+ </item>
+ <item>
+ <p>Support has been added in <c>ms_transform</c> for the
+ actions <c>caller_line/0</c>,
+ <c>current_stacktrace/0</c>, and
+ <c>current_stacktrace/1</c>.</p>
+ <p>
+ Own Id: OTP-18494 Aux Id: PR-6924 </p>
+ </item>
+ <item>
+ <p>The family of enumeration functions in module
+ <c>lists</c> has been extended with <c>enumerate/3</c>
+ that allows a step value to be supplied.</p>
+ <p>
+ Own Id: OTP-18495 Aux Id: PR-6943 </p>
+ </item>
+ <item>
+ <p>
+ Update Unicode to version 15.0.0.</p>
+ <p>
+ Own Id: OTP-18500</p>
+ </item>
+ <item>
+ <p>The regular expression library powering the <c>re</c>
+ module is likely to be changed in Erlang/OTP 27. See
+ <seeguide
+ marker="system/general_info:upcoming_incompatibilities#new_re_engine">Upcoming
+ Potential Incompatibilities</seeguide>.</p>
+ <p>
+ Own Id: OTP-18511 Aux Id: PR-7017 </p>
+ </item>
+ <item>
+ <p>Improved the performance of <c>sets:subtract/2</c>
+ when subtracting a small number of elements.</p>
+ <p>
+ Own Id: OTP-18515 Aux Id: GH-6990 </p>
+ </item>
+ <item>
+ <p>The linter will no longer raise warnings for
+ underspecified opaque types.</p>
+ <p>
+ Own Id: OTP-18518 Aux Id: GH-7015 </p>
+ </item>
+ <item>
+ <p>Added the new built-in type <c>dynamic()</c>
+ introduced in EEP-61, improving support for gradual type
+ checkers.</p>
+ <p>
+ Own Id: OTP-18522</p>
+ </item>
+ <item>
+ <p>
+ The by <c>gen_statem</c> previously used call proxy
+ process that was used for preventing late replies from
+ reaching the client at timeout or connection loss has
+ been removed. It is no longer needed since <i>process
+ aliases</i> take care of this, are used, and supported by
+ all Erlang nodes that an OTP 26 Erlang node can
+ communicate with.</p>
+ <p>
+ Own Id: OTP-18537 Aux Id: PR-7081 </p>
+ </item>
+ <item>
+ <p>Added the <c>argparse</c> module for simplified
+ argument handling in escripts and similar.</p>
+ <p>
+ Own Id: OTP-18558 Aux Id: PR-6852 </p>
+ </item>
+ <item>
+ <p>Added support for multiple line expressions and
+ navigation in the shell. Added new keybindings:</p>
+ <list> <item> navigate up (ctrl+up)/(alt+up) </item>
+ <item> navigate down (ctrl+down)/(alt+down) </item>
+ <item> insert newline in middle of line (alt+enter)
+ </item> <item> navigate top (alt+&lt;)/(alt+shift+up)
+ </item> <item> navigate bottom
+ (alt+&gt;)/(alt+shift+down) </item> <item> clear current
+ expression (alt+c) </item> <item> cancel search (alt+c)
+ </item> <item> opening editor on mac (option+o)/(alt+o)
+ </item> </list> <p>Modifies the prompt for new lines to
+ make it clearer that the prompt has entered multi-line
+ mode. Supports terminal with small window size, recommend
+ not go lower than 7 rows and 40 columns. Modifies the
+ search prompt to support multi-line statements. Redraw
+ the prompt after continuing from JCL menu. </p>
+ <p>
+ Own Id: OTP-18575 Aux Id: PR-7169 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>STDLIB 4.3.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/stdlib/doc/src/shell.xml b/lib/stdlib/doc/src/shell.xml
index ba6dc771e9..187b719dd2 100644
--- a/lib/stdlib/doc/src/shell.xml
+++ b/lib/stdlib/doc/src/shell.xml
@@ -957,7 +957,7 @@ q - quit erlang
</func>
<func>
- <name name="start_interactive" arity="0" since="OTP @OTP-17932@"/>
+ <name name="start_interactive" arity="0" since="OTP 26.0"/>
<fsummary>Start the interactive shell</fsummary>
<desc>
<p>Starts the interactive shell if it has not already been started.
@@ -967,9 +967,9 @@ q - quit erlang
</func>
<func>
- <name name="start_interactive" arity="1" clause_i="1" since="OTP @OTP-17932@"/>
- <name name="start_interactive" arity="1" clause_i="2" since="OTP @OTP-17932@"/>
- <name name="start_interactive" arity="1" clause_i="3" since="OTP @OTP-17932@"/>
+ <name name="start_interactive" arity="1" clause_i="1" since="OTP 26.0"/>
+ <name name="start_interactive" arity="1" clause_i="2" since="OTP 26.0"/>
+ <name name="start_interactive" arity="1" clause_i="3" since="OTP 26.0"/>
<fsummary>Start the interactive shell</fsummary>
<desc>
<p>Starts the interactive shell if it has not already been started.
@@ -1075,7 +1075,7 @@ q - quit erlang
</func>
<func>
- <name name="whereis" arity="0" since="OTP @OTP-17932@"/>
+ <name name="whereis" arity="0" since="OTP 26.0"/>
<fsummary>Return the current shell process.</fsummary>
<desc>
<p>Returns the current shell process on the node where the
diff --git a/lib/stdlib/doc/src/timer.xml b/lib/stdlib/doc/src/timer.xml
index 3fceddbec6..75706f7b2d 100644
--- a/lib/stdlib/doc/src/timer.xml
+++ b/lib/stdlib/doc/src/timer.xml
@@ -112,7 +112,7 @@
</func>
<func>
- <name name="apply_repeatedly" arity="4" since="OTP @OTP-18236@"/>
+ <name name="apply_repeatedly" arity="4" since="OTP 26.0"/>
<fsummary>Spawn a process evaluating <c>Module:Function(Arguments)</c>
repeatedly at intervals of <c>Time</c>.</fsummary>
<desc>
@@ -341,9 +341,9 @@
</func>
<func>
- <name name="tc" arity="2" clause_i="2" since="OTP @OTP-18355@"/>
- <name name="tc" arity="3" clause_i="2" since="OTP @OTP-18355@"/>
- <name name="tc" arity="4" since="OTP @OTP-18355@"/>
+ <name name="tc" arity="2" clause_i="2" since="OTP 26.0"/>
+ <name name="tc" arity="3" clause_i="2" since="OTP 26.0"/>
+ <name name="tc" arity="4" since="OTP 26.0"/>
<fsummary>Measure the real time it takes to evaluate <c>apply(Module,
Function, Arguments)</c> or <c>apply(Fun, Arguments)</c>.</fsummary>
<type_desc variable="Time">In the specified <c>TimeUnit</c></type_desc>
diff --git a/lib/stdlib/doc/src/zip.xml b/lib/stdlib/doc/src/zip.xml
index 6ba9f4c212..5d5d83d270 100644
--- a/lib/stdlib/doc/src/zip.xml
+++ b/lib/stdlib/doc/src/zip.xml
@@ -507,7 +507,7 @@
</func>
<func>
- <name name="zip_get_crc32" arity="2" since="OTP @OTP-18159@"/>
+ <name name="zip_get_crc32" arity="2" since="OTP 26.0"/>
<fsummary>Extracts a crc32 checksum from an open archive.</fsummary>
<desc>
<p>Extracts one crc32 checksum from an open archive.</p>
diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src
index a71ad0a954..2422a4def4 100644
--- a/lib/stdlib/src/stdlib.app.src
+++ b/lib/stdlib/src/stdlib.app.src
@@ -115,6 +115,6 @@
dets]},
{applications, [kernel]},
{env, []},
- {runtime_dependencies, ["sasl-3.0","kernel-@OTP-17932@","erts-13.1","crypto-4.5",
+ {runtime_dependencies, ["sasl-3.0","kernel-9.0","erts-13.1","crypto-4.5",
"compiler-5.0"]}
]}.
diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src
index 13efc74d85..922f4f8767 100644
--- a/lib/stdlib/src/stdlib.appup.src
+++ b/lib/stdlib/src/stdlib.appup.src
@@ -19,24 +19,16 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 23
%% - OTP 24
%% - OTP 25
+%% - OTP 26
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^3\\.13$">>,[restart_new_emulator]},
- {<<"^3\\.13\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.13\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.13\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.14$">>,[restart_new_emulator]},
- {<<"^3\\.14\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.14\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.14\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.15$">>,[restart_new_emulator]},
+ [{<<"^3\\.15$">>,[restart_new_emulator]},
{<<"^3\\.15\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.15\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.15\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
@@ -56,16 +48,9 @@
{<<"^4\\.2$">>,[restart_new_emulator]},
{<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^4\\.3$">>,[restart_new_emulator]},
- {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}],
- [{<<"^3\\.13$">>,[restart_new_emulator]},
- {<<"^3\\.13\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.13\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.13\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.14$">>,[restart_new_emulator]},
- {<<"^3\\.14\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.14\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.14\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.15$">>,[restart_new_emulator]},
+ {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
+ [{<<"^3\\.15$">>,[restart_new_emulator]},
{<<"^3\\.15\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.15\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.15\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
@@ -85,4 +70,5 @@
{<<"^4\\.2$">>,[restart_new_emulator]},
{<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^4\\.3$">>,[restart_new_emulator]},
- {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
+ {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk
index d6706e69bf..a114206c29 100644
--- a/lib/stdlib/vsn.mk
+++ b/lib/stdlib/vsn.mk
@@ -1 +1 @@
-STDLIB_VSN = 4.3.1
+STDLIB_VSN = 5.0
diff --git a/lib/syntax_tools/doc/src/notes.xml b/lib/syntax_tools/doc/src/notes.xml
index a4633065d0..f01a8b73c3 100644
--- a/lib/syntax_tools/doc/src/notes.xml
+++ b/lib/syntax_tools/doc/src/notes.xml
@@ -32,6 +32,21 @@
<p>This document describes the changes made to the Syntax_Tools
application.</p>
+<section><title>Syntax_Tools 3.1</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Map comprehensions as suggested in EEP 58 has now been
+ implemented.</p>
+ <p>
+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Syntax_Tools 3.0.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/syntax_tools/vsn.mk b/lib/syntax_tools/vsn.mk
index 1955fbdbc1..acc6cd01b7 100644
--- a/lib/syntax_tools/vsn.mk
+++ b/lib/syntax_tools/vsn.mk
@@ -1 +1 @@
-SYNTAX_TOOLS_VSN = 3.0.1
+SYNTAX_TOOLS_VSN = 3.1
diff --git a/lib/tftp/doc/src/notes.xml b/lib/tftp/doc/src/notes.xml
index e74800639b..81fda37336 100644
--- a/lib/tftp/doc/src/notes.xml
+++ b/lib/tftp/doc/src/notes.xml
@@ -33,7 +33,25 @@
<file>notes.xml</file>
</header>
- <section><title>Tftp 1.0.4</title>
+ <section><title>Tftp 1.1</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Tftp 1.0.4</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/tftp/src/tftp.app.src b/lib/tftp/src/tftp.app.src
index 28040ca142..2f6b4793a2 100644
--- a/lib/tftp/src/tftp.app.src
+++ b/lib/tftp/src/tftp.app.src
@@ -18,5 +18,5 @@
tftp_logger,
tftp_sup
]},
- {runtime_dependencies, ["erts-6.0","stdlib-@OTP-18490@","kernel-6.0"]}
+ {runtime_dependencies, ["erts-6.0","stdlib-5.0","kernel-6.0"]}
]}.
diff --git a/lib/tftp/vsn.mk b/lib/tftp/vsn.mk
index d1a14b4255..8c81f083cc 100644
--- a/lib/tftp/vsn.mk
+++ b/lib/tftp/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = tftp
-TFTP_VSN = 1.0.4
+TFTP_VSN = 1.1
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(TFTP_VSN)$(PRE_VSN)"
diff --git a/lib/tools/doc/src/notes.xml b/lib/tools/doc/src/notes.xml
index 84a6019e57..babc9fde4d 100644
--- a/lib/tools/doc/src/notes.xml
+++ b/lib/tools/doc/src/notes.xml
@@ -31,6 +31,27 @@
</header>
<p>This document describes the changes made to the Tools application.</p>
+<section><title>Tools 3.6</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Map comprehensions as suggested in EEP 58 has now been
+ implemented.</p>
+ <p>
+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727 </p>
+ </item>
+ <item>
+ <p>The <c>instrument</c> module has been moved from
+ <c>tools</c> to <c>runtime_tools</c>.</p>
+ <p>
+ Own Id: OTP-18487 Aux Id: PR-6829 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Tools 3.5.3</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/tools/vsn.mk b/lib/tools/vsn.mk
index 2d58c23e21..cfff79e80d 100644
--- a/lib/tools/vsn.mk
+++ b/lib/tools/vsn.mk
@@ -1 +1 @@
-TOOLS_VSN = 3.5.3
+TOOLS_VSN = 3.6
diff --git a/lib/wx/doc/src/notes.xml b/lib/wx/doc/src/notes.xml
index 08e339e097..751b51c527 100644
--- a/lib/wx/doc/src/notes.xml
+++ b/lib/wx/doc/src/notes.xml
@@ -32,6 +32,29 @@
<p>This document describes the changes made to the wxErlang
application.</p>
+<section><title>Wx 2.3</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Runtime dependencies have been updated.</p>
+ <p>
+ Own Id: OTP-18350</p>
+ </item>
+ <item>
+ <p> The implementation has been fixed to use
+ <c>proc_lib:init_fail/2,3</c> where appropriate, instead
+ of <c>proc_lib:init_ack/1,2</c>. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Wx 2.2.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/wx/src/wx.app.src b/lib/wx/src/wx.app.src
index 228800b76a..8b6298fb68 100644
--- a/lib/wx/src/wx.app.src
+++ b/lib/wx/src/wx.app.src
@@ -35,5 +35,5 @@
{registered, []},
{applications, [stdlib, kernel]},
{env, []},
- {runtime_dependencies, ["stdlib-@OTP-18490@","kernel-8.0","erts-12.0"]}
+ {runtime_dependencies, ["stdlib-5.0","kernel-8.0","erts-12.0"]}
]}.
diff --git a/lib/wx/vsn.mk b/lib/wx/vsn.mk
index 78f0fd3395..f6a9358c91 100644
--- a/lib/wx/vsn.mk
+++ b/lib/wx/vsn.mk
@@ -1 +1 @@
-WX_VSN = 2.2.2
+WX_VSN = 2.3
diff --git a/make/otp_version_tickets b/make/otp_version_tickets
index b8220e1a87..7e02e09798 100644
--- a/make/otp_version_tickets
+++ b/make/otp_version_tickets
@@ -1 +1,186 @@
-DEVELOPMENT
+OTP-14771
+OTP-14835
+OTP-15597
+OTP-15903
+OTP-16607
+OTP-16875
+OTP-17771
+OTP-17932
+OTP-18016
+OTP-18029
+OTP-18053
+OTP-18126
+OTP-18131
+OTP-18135
+OTP-18137
+OTP-18140
+OTP-18141
+OTP-18150
+OTP-18159
+OTP-18167
+OTP-18168
+OTP-18176
+OTP-18185
+OTP-18188
+OTP-18204
+OTP-18206
+OTP-18209
+OTP-18210
+OTP-18211
+OTP-18221
+OTP-18223
+OTP-18225
+OTP-18226
+OTP-18227
+OTP-18228
+OTP-18230
+OTP-18231
+OTP-18235
+OTP-18236
+OTP-18237
+OTP-18238
+OTP-18246
+OTP-18247
+OTP-18248
+OTP-18253
+OTP-18254
+OTP-18259
+OTP-18261
+OTP-18271
+OTP-18272
+OTP-18274
+OTP-18275
+OTP-18276
+OTP-18277
+OTP-18278
+OTP-18279
+OTP-18282
+OTP-18285
+OTP-18286
+OTP-18287
+OTP-18297
+OTP-18300
+OTP-18301
+OTP-18303
+OTP-18305
+OTP-18309
+OTP-18310
+OTP-18312
+OTP-18318
+OTP-18327
+OTP-18331
+OTP-18334
+OTP-18335
+OTP-18337
+OTP-18338
+OTP-18340
+OTP-18342
+OTP-18344
+OTP-18350
+OTP-18354
+OTP-18355
+OTP-18359
+OTP-18360
+OTP-18361
+OTP-18364
+OTP-18367
+OTP-18369
+OTP-18377
+OTP-18385
+OTP-18389
+OTP-18405
+OTP-18410
+OTP-18413
+OTP-18414
+OTP-18419
+OTP-18423
+OTP-18424
+OTP-18425
+OTP-18430
+OTP-18431
+OTP-18435
+OTP-18438
+OTP-18439
+OTP-18440
+OTP-18441
+OTP-18442
+OTP-18444
+OTP-18445
+OTP-18447
+OTP-18448
+OTP-18451
+OTP-18452
+OTP-18453
+OTP-18455
+OTP-18456
+OTP-18459
+OTP-18465
+OTP-18466
+OTP-18468
+OTP-18471
+OTP-18474
+OTP-18476
+OTP-18477
+OTP-18478
+OTP-18483
+OTP-18484
+OTP-18485
+OTP-18486
+OTP-18487
+OTP-18488
+OTP-18490
+OTP-18491
+OTP-18492
+OTP-18493
+OTP-18494
+OTP-18495
+OTP-18498
+OTP-18499
+OTP-18500
+OTP-18501
+OTP-18502
+OTP-18505
+OTP-18507
+OTP-18510
+OTP-18511
+OTP-18513
+OTP-18515
+OTP-18517
+OTP-18518
+OTP-18520
+OTP-18521
+OTP-18522
+OTP-18523
+OTP-18524
+OTP-18526
+OTP-18528
+OTP-18530
+OTP-18531
+OTP-18533
+OTP-18534
+OTP-18536
+OTP-18537
+OTP-18538
+OTP-18539
+OTP-18540
+OTP-18541
+OTP-18542
+OTP-18543
+OTP-18544
+OTP-18546
+OTP-18547
+OTP-18548
+OTP-18549
+OTP-18551
+OTP-18552
+OTP-18558
+OTP-18561
+OTP-18562
+OTP-18564
+OTP-18566
+OTP-18567
+OTP-18569
+OTP-18571
+OTP-18572
+OTP-18574
+OTP-18575
diff --git a/system/doc/efficiency_guide/maps.xml b/system/doc/efficiency_guide/maps.xml
index ce78863953..fdb84fca78 100644
--- a/system/doc/efficiency_guide/maps.xml
+++ b/system/doc/efficiency_guide/maps.xml
@@ -517,7 +517,7 @@ new() ->
<change>
<p>
- Before OTP @OTP-18502@ <c>maps:get/3</c> was implemented by calling
+ Before OTP 26.0 <c>maps:get/3</c> was implemented by calling
the function instead of rewriting it as an Erlang expression. It is
now slightly faster but can no longer be traced.
</p>
@@ -597,7 +597,7 @@ new() ->
<change>
<p>
The sharing of key tuples by <c>maps:merge/2</c> was introduced in
- OTP @OTP-18523@. Older versions always contructed a new key tuple on
+ OTP 26.0. Older versions always contructed a new key tuple on
the callers heap.
</p>
</change>