summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.xml475
-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.xml26
-rw-r--r--lib/asn1/vsn.mk2
-rw-r--r--lib/common_test/doc/src/notes.xml37
-rw-r--r--lib/common_test/vsn.mk2
-rw-r--r--lib/compiler/doc/src/notes.xml85
-rw-r--r--lib/compiler/src/compiler.app.src2
-rw-r--r--lib/compiler/vsn.mk2
-rw-r--r--lib/crypto/doc/src/notes.xml59
-rw-r--r--lib/crypto/vsn.mk2
-rw-r--r--lib/dialyzer/doc/src/notes.xml153
-rw-r--r--lib/dialyzer/vsn.mk2
-rw-r--r--lib/diameter/doc/src/notes.xml43
-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/ftp/doc/src/notes.xml29
-rw-r--r--lib/ftp/vsn.mk2
-rw-r--r--lib/inets/doc/src/notes.xml46
-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/code.xml20
-rw-r--r--lib/kernel/doc/src/inet.xml6
-rw-r--r--lib/kernel/doc/src/notes.xml393
-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/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.xml21
-rw-r--r--lib/observer/src/observer.app.src4
-rw-r--r--lib/observer/vsn.mk2
-rw-r--r--lib/os_mon/doc/src/disksup.xml4
-rw-r--r--lib/os_mon/doc/src/notes.xml39
-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.xml46
-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.xml37
-rw-r--r--lib/ssh/src/ssh.app.src6
-rw-r--r--lib/ssh/vsn.mk2
-rw-r--r--lib/ssl/doc/src/notes.xml141
-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.xml390
-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.src30
-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_tickets150
-rw-r--r--system/doc/efficiency_guide/maps.xml4
94 files changed, 2623 insertions, 171 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 40ada94031..6386fb9e44 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>
@@ -3526,7 +3526,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 9b88331367..1ea0217ad2 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -3042,9 +3042,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>
@@ -11932,7 +11932,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 f39f020c16..5bba476960 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -31,6 +31,481 @@
</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>
+ </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 from 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> </list>
+ <p>
+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343
+ GH-4225 </p>
+ </item>
+ <item>
+ <p>
+ Preparation for adding Windows support to 'socket'.</p>
+ <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 the command is not
+ 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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 13.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 c9cabd73d4..6e1382b875 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -18,7 +18,7 @@
# %CopyrightEnd%
#
-VSN = 13.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..b8af4a9df0 100644
--- a/lib/asn1/doc/src/notes.xml
+++ b/lib/asn1/doc/src/notes.xml
@@ -32,6 +32,32 @@
<p>This document describes the changes made to the asn1 application.</p>
+<section><title>Asn1 5.1</title>
+
+ <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..b44f8917bc 100644
--- a/lib/common_test/doc/src/notes.xml
+++ b/lib/common_test/doc/src/notes.xml
@@ -33,6 +33,43 @@
<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>
+ </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 af671ff7ba..40e992526d 100644
--- a/lib/compiler/doc/src/notes.xml
+++ b/lib/compiler/doc/src/notes.xml
@@ -32,6 +32,91 @@
<p>This document describes the changes made to the Compiler
application.</p>
+<section><title>Compiler 8.3</title>
+
+ <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>The compiler will now inline calls to
+ <c>maps:get/3</c>.</p>
+ <p>
+ Own Id: OTP-18502</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Compiler 8.2.4</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 0a39fcf419..c9aed4742c 100644
--- a/lib/compiler/vsn.mk
+++ b/lib/compiler/vsn.mk
@@ -1 +1 @@
-COMPILER_VSN = 8.2.4
+COMPILER_VSN = 8.3
diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml
index 954d5cd664..ae207290c7 100644
--- a/lib/crypto/doc/src/notes.xml
+++ b/lib/crypto/doc/src/notes.xml
@@ -31,6 +31,65 @@
</header>
<p>This document describes the changes made to the Crypto application.</p>
+<section><title>Crypto 5.2</title>
+
+ <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.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk
index 41dfbaef97..3fa6df6102 100644
--- a/lib/crypto/vsn.mk
+++ b/lib/crypto/vsn.mk
@@ -1 +1 @@
-CRYPTO_VSN = 5.1.3
+CRYPTO_VSN = 5.2
diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml
index fe859092f7..5d0f763d85 100644
--- a/lib/dialyzer/doc/src/notes.xml
+++ b/lib/dialyzer/doc/src/notes.xml
@@ -32,6 +32,159 @@
<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>Dialyzer was accepting typespecs containing singleton
+ type variables that appeared in an union type.</p>
+ <p>Before this change, singleton type variables in an
+ union type were accepted (see example below). However,
+ type variable <c>Foo</c> appears only once in each branch
+ of the union type, so it is a singleton type variable (in
+ each branch of the union type) that is not
+ bound.</p><pre> -spec run_test(Opts) -&gt; term() when
+ Opts :: {join_specs, Foo} | {test, Foo}. </pre>
+ <p>Unbound type variables should be rejected by Dialyzer,
+ which now detects this error and rejects it in the same
+ manner as its non-union equivalent:</p><pre> -spec
+ run_test_error(Opts) -&gt; term() when Opts ::
+ {join_specs, Foo}. </pre>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18389 Aux Id: GH-6508, PR-6864 </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>
+ </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 becomes is
+ 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>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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Dialyzer 5.0.5</title>
<section><title>Fixed Bugs and Malfunctions</title>
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..1c0ab754fa 100644
--- a/lib/diameter/doc/src/notes.xml
+++ b/lib/diameter/doc/src/notes.xml
@@ -43,6 +43,49 @@ 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> 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 a1bb84f224..8525569760 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.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk
index badd74c6da..b68159d947 100644
--- a/lib/erl_interface/vsn.mk
+++ b/lib/erl_interface/vsn.mk
@@ -1,2 +1,2 @@
-EI_VSN = 5.3.1
+EI_VSN = 5.4
ERL_INTERFACE_VSN = $(EI_VSN)
diff --git a/lib/ftp/doc/src/notes.xml b/lib/ftp/doc/src/notes.xml
index b131eee82b..13d1a930e5 100644
--- a/lib/ftp/doc/src/notes.xml
+++ b/lib/ftp/doc/src/notes.xml
@@ -33,7 +33,34 @@
<file>notes.xml</file>
</header>
- <section><title>Ftp 1.1.4</title>
+ <section><title>Ftp 1.1.5</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>
+
+<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..21528043dc 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.1.5
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 a6d3e10620..8ad38a36b6 100644
--- a/lib/inets/doc/src/notes.xml
+++ b/lib/inets/doc/src/notes.xml
@@ -33,7 +33,51 @@
<file>notes.xml</file>
</header>
- <section><title>Inets 8.3</title>
+ <section><title>Inets 8.4</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> 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>Inets 8.3</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 99285501c5..85b6c79d7d 100644
--- a/lib/inets/vsn.mk
+++ b/lib/inets/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = inets
-INETS_VSN = 8.3
+INETS_VSN = 8.4
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/code.xml b/lib/kernel/doc/src/code.xml
index 2268b4be44..75fb18ec6b 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
@@ -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/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..fa7b62e321 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -31,6 +31,399 @@
</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>
+ Fix 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>
+ </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 from 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> </list>
+ <p>
+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343
+ GH-4225 </p>
+ </item>
+ <item>
+ <p>
+ Preparation for adding Windows support to 'socket'.</p>
+ <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>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>
+ 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 bee 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>
+ </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/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..c2c5fd5e87 100644
--- a/lib/observer/doc/src/notes.xml
+++ b/lib/observer/doc/src/notes.xml
@@ -32,6 +32,27 @@
<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>
+ </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/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 1fac53d330..837685df7c 100644
--- a/lib/os_mon/doc/src/notes.xml
+++ b/lib/os_mon/doc/src/notes.xml
@@ -31,6 +31,45 @@
</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>
+ </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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Os_Mon 2.8.1</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 9e64a83612..b109e7a0ab 100644
--- a/lib/os_mon/vsn.mk
+++ b/lib/os_mon/vsn.mk
@@ -1 +1 @@
-OS_MON_VSN = 2.8.1
+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..6efe2c7cad 100644
--- a/lib/runtime_tools/doc/src/notes.xml
+++ b/lib/runtime_tools/doc/src/notes.xml
@@ -32,6 +32,52 @@
<p>This document describes the changes made to the Runtime_Tools
application.</p>
+<section><title>Runtime_Tools 1.20</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>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>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..162095fe79 100644
--- a/lib/runtime_tools/vsn.mk
+++ b/lib/runtime_tools/vsn.mk
@@ -1 +1 @@
-RUNTIME_TOOLS_VSN = 1.19
+RUNTIME_TOOLS_VSN = 1.20
diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml
index 78de4f2f39..179f8df9dc 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>
+ Improve error message from systools:make_script, 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 cb4eb5985f..13fdc1f834 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.4</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.4</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 4c11344234..102997609a 100644
--- a/lib/snmp/vsn.mk
+++ b/lib/snmp/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = snmp
-SNMP_VSN = 5.13.4
+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..d63bc60fe5 100644
--- a/lib/ssh/doc/src/notes.xml
+++ b/lib/ssh/doc/src/notes.xml
@@ -30,6 +30,43 @@
<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> 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 a36ac8d78d..fcaa8b6246 100644
--- a/lib/ssl/doc/src/notes.xml
+++ b/lib/ssl/doc/src/notes.xml
@@ -27,6 +27,147 @@
</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>
+ 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>
+ </list>
+ </section>
+
+</section>
+
<section><title>SSL 10.9</title>
<section><title>Fixed Bugs and Malfunctions</title>
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 7b821e2bc8..de283ec08a 100644
--- a/lib/ssl/vsn.mk
+++ b/lib/ssl/vsn.mk
@@ -1 +1 @@
-SSL_VSN = 10.9
+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 403abf2be8..81bc4a2d7a 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,6 +31,396 @@
</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>
+ </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 from 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> </list>
+ <p>
+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343
+ GH-4225 </p>
+ </item>
+ <item>
+ <p>
+ Added codepoint category to unicode_util</p>
+ <p>
+ Own Id: OTP-18150</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>
+ Add the new options <c>post_process_args</c> and
+ <c>detached</c> to <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 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 almost 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 inconveniente
+ 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>, 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>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>
+ </list>
+ </section>
+
+</section>
+
<section><title>STDLIB 4.3</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 69bff1511b..4228d3d0f9 100644
--- a/lib/stdlib/src/stdlib.app.src
+++ b/lib/stdlib/src/stdlib.app.src
@@ -114,6 +114,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 0cb84fd3dc..597d0a9aa6 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]},
@@ -54,16 +46,10 @@
{<<"^4\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^4\\.2$">>,[restart_new_emulator]},
- {<<"^4\\.2\\.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\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^4\\.3$">>,[restart_new_emulator]},
+ {<<"^4\\.3\\.0(?:\\.[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]},
@@ -81,4 +67,6 @@
{<<"^4\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^4\\.2$">>,[restart_new_emulator]},
- {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
+ {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^4\\.3$">>,[restart_new_emulator]},
+ {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk
index cd81d52182..a114206c29 100644
--- a/lib/stdlib/vsn.mk
+++ b/lib/stdlib/vsn.mk
@@ -1 +1 @@
-STDLIB_VSN = 4.3
+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 f155b7a551..7081eb90be 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.1</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 e7144bd6a2..f6a9358c91 100644
--- a/lib/wx/vsn.mk
+++ b/lib/wx/vsn.mk
@@ -1 +1 @@
-WX_VSN = 2.2.1
+WX_VSN = 2.3
diff --git a/make/otp_version_tickets b/make/otp_version_tickets
index b8220e1a87..f7907c5cc8 100644
--- a/make/otp_version_tickets
+++ b/make/otp_version_tickets
@@ -1 +1,149 @@
-DEVELOPMENT
+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-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-18466
+OTP-18468
+OTP-18471
+OTP-18474
+OTP-18476
+OTP-18477
+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-18510
+OTP-18511
+OTP-18513
+OTP-18515
+OTP-18517
+OTP-18518
+OTP-18520
+OTP-18521
+OTP-18522
+OTP-18523
+OTP-18524
diff --git a/system/doc/efficiency_guide/maps.xml b/system/doc/efficiency_guide/maps.xml
index 71fc7f3045..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-18503@. 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>