summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--erts/doc/src/notes.xml522
-rw-r--r--erts/preloaded/src/erts.app.src2
-rw-r--r--erts/vsn.mk2
-rw-r--r--lib/asn1/doc/src/notes.xml15
-rw-r--r--lib/asn1/vsn.mk2
-rw-r--r--lib/common_test/doc/src/notes.xml58
-rw-r--r--lib/common_test/src/common_test.app.src4
-rw-r--r--lib/common_test/vsn.mk2
-rw-r--r--lib/compiler/doc/src/notes.xml144
-rw-r--r--lib/compiler/src/compiler.app.src4
-rw-r--r--lib/compiler/vsn.mk2
-rw-r--r--lib/crypto/doc/src/notes.xml139
-rw-r--r--lib/crypto/vsn.mk2
-rw-r--r--lib/debugger/doc/src/notes.xml23
-rw-r--r--lib/debugger/vsn.mk2
-rw-r--r--lib/dialyzer/doc/src/notes.xml88
-rw-r--r--lib/dialyzer/vsn.mk2
-rw-r--r--lib/diameter/doc/src/notes.xml28
-rw-r--r--lib/diameter/vsn.mk2
-rw-r--r--lib/edoc/doc/src/notes.xml39
-rw-r--r--lib/edoc/vsn.mk2
-rw-r--r--lib/erl_docgen/doc/src/notes.xml22
-rw-r--r--lib/erl_docgen/vsn.mk2
-rw-r--r--lib/erl_interface/doc/src/notes.xml70
-rw-r--r--lib/erl_interface/vsn.mk2
-rw-r--r--lib/eunit/doc/src/notes.xml15
-rw-r--r--lib/eunit/vsn.mk2
-rw-r--r--lib/inets/doc/src/notes.xml68
-rw-r--r--lib/inets/src/inets_app/inets.app.src2
-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/erpc.xml18
-rw-r--r--lib/kernel/doc/src/gen_sctp.xml6
-rw-r--r--lib/kernel/doc/src/inet.xml6
-rw-r--r--lib/kernel/doc/src/net_kernel.xml2
-rw-r--r--lib/kernel/doc/src/notes.xml299
-rw-r--r--lib/kernel/src/kernel.app.src2
-rw-r--r--lib/kernel/src/kernel.appup.src26
-rw-r--r--lib/kernel/vsn.mk2
-rw-r--r--lib/megaco/doc/src/notes.xml25
-rw-r--r--lib/megaco/vsn.mk2
-rw-r--r--lib/mnesia/doc/src/notes.xml17
-rw-r--r--lib/mnesia/vsn.mk2
-rw-r--r--lib/observer/doc/src/notes.xml42
-rw-r--r--lib/observer/src/observer.app.src2
-rw-r--r--lib/observer/vsn.mk2
-rw-r--r--lib/odbc/doc/src/notes.xml18
-rw-r--r--lib/odbc/vsn.mk2
-rw-r--r--lib/parsetools/doc/src/notes.xml16
-rw-r--r--lib/parsetools/vsn.mk2
-rw-r--r--lib/public_key/doc/src/notes.xml35
-rw-r--r--lib/public_key/vsn.mk2
-rw-r--r--lib/runtime_tools/doc/src/notes.xml37
-rw-r--r--lib/runtime_tools/vsn.mk2
-rw-r--r--lib/sasl/doc/src/notes.xml34
-rw-r--r--lib/sasl/doc/src/release_handler.xml2
-rw-r--r--lib/sasl/src/sasl.appup.src20
-rw-r--r--lib/sasl/vsn.mk2
-rw-r--r--lib/snmp/doc/src/notes.xml26
-rw-r--r--lib/snmp/vsn.mk2
-rw-r--r--lib/ssh/doc/src/notes.xml22
-rw-r--r--lib/ssh/vsn.mk2
-rw-r--r--lib/ssl/doc/src/notes.xml53
-rw-r--r--lib/ssl/src/ssl.app.src2
-rw-r--r--lib/ssl/vsn.mk2
-rw-r--r--lib/stdlib/doc/src/erl_pp.xml2
-rw-r--r--lib/stdlib/doc/src/filelib.xml2
-rw-r--r--lib/stdlib/doc/src/gen_event.xml18
-rw-r--r--lib/stdlib/doc/src/gen_server.xml18
-rw-r--r--lib/stdlib/doc/src/gen_statem.xml18
-rw-r--r--lib/stdlib/doc/src/lists.xml4
-rw-r--r--lib/stdlib/doc/src/notes.xml369
-rw-r--r--lib/stdlib/doc/src/peer.xml24
-rw-r--r--lib/stdlib/src/stdlib.app.src2
-rw-r--r--lib/stdlib/src/stdlib.appup.src34
-rw-r--r--lib/stdlib/vsn.mk2
-rw-r--r--lib/syntax_tools/doc/src/notes.xml38
-rw-r--r--lib/syntax_tools/src/syntax_tools.app.src2
-rw-r--r--lib/syntax_tools/vsn.mk2
-rw-r--r--lib/tools/doc/src/notes.xml16
-rw-r--r--lib/tools/vsn.mk2
-rw-r--r--lib/wx/doc/src/notes.xml32
-rw-r--r--lib/wx/vsn.mk2
-rw-r--r--lib/xmerl/doc/src/notes.xml16
-rw-r--r--lib/xmerl/vsn.mk2
-rw-r--r--make/otp_version_tickets172
87 files changed, 2647 insertions, 170 deletions
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 344878ff56..adb49bf3b3 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -31,6 +31,528 @@
</header>
<p>This document describes the changes made to the ERTS application.</p>
+<section><title>Erts 13.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.</p>
+ <p>
+ Own Id: OTP-17447 Aux Id: GH-4819 </p>
+ </item>
+ <item>
+ <p>
+ The growth rate of writable binaries has been adjusted to
+ only increase by 20% after 16MB in size. Before this
+ change the size would always double.</p>
+ <p>
+ This change may degrade write performance of large
+ binaries.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17569 Aux Id: PR-4793 </p>
+ </item>
+ <item>
+ <p>
+ Fix reduction counting bug in <c>re:run</c> that caused
+ the function to yield too frequently when doing
+ <c>global</c> matches.</p>
+ <p>
+ Own Id: OTP-17661 Aux Id: PR-5165 </p>
+ </item>
+ <item>
+ <p>
+ Fix spelling mistakes in epmd error messages.</p>
+ <p>
+ Own Id: OTP-17758 Aux Id: PR-5391 </p>
+ </item>
+ <item>
+ <p>
+ Fix bug where the "newshell" would trigger a newline at
+ the column width of the terminal, even if the next
+ character to be printed was a newline. This would cause
+ the terminal to render two newlines instead of one.</p>
+ <p>
+ Own Id: OTP-17779 Aux Id: GH-5403 PR-5599 </p>
+ </item>
+ <item>
+ <p>
+ Fix the memory value returned from
+ <c>ets:info(Tid,memory)</c> when the
+ <c>read_concurrency</c> option is used.</p>
+ <p>
+ Before this fix the memory used by the scheduler specific
+ lock cache lines was not counted towards the total. This
+ caused the returned memory usage to be very incorrect on
+ systems with many schedulers for tables with man locks.</p>
+ <p>
+ Own Id: OTP-17832 Aux Id: PR-5494 </p>
+ </item>
+ <item>
+ <p>
+ Fix the undocumented <c>--profile_boot</c> option to work
+ again.</p>
+ <p>
+ Own Id: OTP-17836 Aux Id: PR-5546 </p>
+ </item>
+ <item>
+ <p>
+ Let EPMD tolerate failure when binding to IPv4/IPv6
+ loopback intefaces in addition to user-supplied addresses
+ via <c>ERL_EPMD_ADDRESS</c> or the <c>-address</c>
+ option. This can happen, for example, if the host system
+ has ipv6 disabled via the disable_ipv6 sysctl.</p>
+ <p>
+ Own Id: OTP-17970 Aux Id: PR-5762 </p>
+ </item>
+ <item>
+ <p>
+ [socket] Encode of sockaddr has been improved.</p>
+ <p>
+ Own Id: OTP-18020</p>
+ </item>
+ <item>
+ <p>Fixed a bug in <c>binary_to_term/1</c>,
+ <c>enif_make_map_from_arrays</c>,
+ <c>erl_drv_send_term</c>, and Erlang distribution that
+ could crash the emulator.</p>
+ <p>
+ Own Id: OTP-18027</p>
+ </item>
+ <item>
+ <p>
+ Fix <c>erl_child_setup</c> (the program used by
+ <c>open_port({spawn,...})</c> and <c>os:cmd/1</c>) to
+ better handle partial reads from the Erlang VM.</p>
+ <p>
+ Own Id: OTP-18047 Aux Id: PR-5861 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Users can now configure ETS tables with the
+ <c>{write_concurrency, auto}</c> option. This option
+ forces tables to automatically change the number of locks
+ that are used at run-time depending on how much
+ concurrency is detected. The <c>{decentralized_counters,
+ true}</c> option is enabled by default when
+ <c>{write_concurrency, auto}</c> is active.</p>
+ <p>
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:</p>
+ <p>
+ https://erlang.org/bench/ets_bench_result_lock_config.html</p>
+ <p>
+ Own Id: OTP-15991 Aux Id: PR-5208 </p>
+ </item>
+ <item>
+ <p>
+ The net module now works on Windows.</p>
+ <p>
+ Own Id: OTP-16464</p>
+ </item>
+ <item>
+ <p>To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.</p>
+ <p>
+ Own Id: OTP-16702</p>
+ </item>
+ <item>
+ <p>
+ Optimize minor garbage collection for processes with
+ large number of binaries, funs and/or external
+ pids/ports/refs. This is a continuation of the
+ optimization (OTP-17602) released in OTP-24.1.</p>
+ <p>
+ Own Id: OTP-16852 Aux Id: ERL-1347, PR-5195 </p>
+ </item>
+ <item>
+ <p>
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to allow
+ parallel reception of signals from multiple processes. </p>
+ <p>
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are ordered
+ in send order. However, there are no ordering guarantees
+ for signals sent from different processes to a particular
+ process. Therefore, several processes can send signals in
+ parallel to a specific process without synchronizing with
+ each other. However, such signal sending was previously
+ always serialized as the senders had to acquire the lock
+ for the outer signal queue of the receiving process. This
+ parallel signal sending optimization yields much better
+ scalability for signal sending than what was previously
+ possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.</p>
+ <p>
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.</p>
+ <p>
+ Own Id: OTP-16982 Aux Id: PR-5020 </p>
+ </item>
+ <item>
+ <p>The JIT now works for 64-bit ARM processors.</p>
+ <p>
+ Own Id: OTP-17119 Aux Id: PR-4869 </p>
+ </item>
+ <item>
+ <p>
+ Added support for the compile attribute <c>-nifs()</c> to
+ empower compiler and loader with information about which
+ functions may be overridden as NIFs by
+ <c>erlang:load_nif/2</c>. It is recommended to use this
+ attribute in all modules that load NIF libraries.</p>
+ <p>
+ Own Id: OTP-17151 Aux Id: ERIERL-590, PR-5479 </p>
+ </item>
+ <item>
+ <p>
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP team's
+ testing infrastructure and will be skipped if its
+ dependencies are not met.</p>
+ <p>
+ Own Id: OTP-17224</p>
+ </item>
+ <item>
+ <p>
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's <c>RELEASES</c> file are paths that are
+ relative to the installations root directory. The
+ <c>`release_handler:create_RELEASES/4</c> function can
+ generate a <c>RELEASES</c> file with relative paths if
+ its <c>RootDir</c> parameter is set to the empty string.</p>
+ <p>
+ Own Id: OTP-17304</p>
+ </item>
+ <item>
+ <p>The following distribution flags are now mandatory:
+ <c>DFLAG_BIT_BINARIES</c>, <c>DFLAG_EXPORT_PTR_TAG</c>,
+ <c>DFLAG_MAP_TAGS</c>, <c>DFLAG_NEW_FLOATS</c>, and
+ <c>DFLAG_FUN_TAGS</c>. This mainly concerns libraries or
+ application that implement the distribution protocol
+ themselves.</p>
+ <p>
+ Own Id: OTP-17318 Aux Id: PR-4972 </p>
+ </item>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ <item>
+ <p>When binary construction using the binary syntax
+ fails, the error message printed in the shell and by
+ <c>erl_error:format_exception/3,4</c> will contain more
+ detailed information about what went wrong.</p>
+ <p>
+ Own Id: OTP-17504 Aux Id: GH-4971, PR-5281, PR-5752 </p>
+ </item>
+ <item>
+ <p>
+ The configuration files <seecom
+ marker="erts:erl"><c>.erlang</c></seecom>, <seeguide
+ marker="system/reference_manual:distributed"><c>.erlang.cookie</c></seeguide>
+ and <seeerl
+ marker="stdlib:beam_lib#.erlang.crypt"><c>.erlang.crypt</c></seeerl>
+ can now be located in the XDG Config Home directory.</p>
+ <p>
+ See the documentation for each file and
+ <c>filename:basedir/2</c> for more details.</p>
+ <p>
+ Own Id: OTP-17554 Aux Id: GH-5016 PR-5408 OTP-17821 </p>
+ </item>
+ <item>
+ <p>
+ Make <c>byte_size/1</c> and <c>binary_part/2/3</c>
+ callable from match specs (in ETS and tracing).</p>
+ <p>
+ Own Id: OTP-17555 Aux Id: PR-5027 </p>
+ </item>
+ <item>
+ <p>
+ Dynamic node name improvements: <c>erlang:is_alive/0</c>
+ changed to return true for pending dynamic node name and
+ new function <c>net_kernel:get_state/0</c>.</p>
+ <p>
+ Own Id: OTP-17558 Aux Id: OTP-17538, PR-5111, GH-5402 </p>
+ </item>
+ <item>
+ <p>
+ A new option called <c>short</c> has been added to the
+ functions <c>erlang:float_to_list</c> and
+ <c>erlang:float_to_binary</c>. This option creates the
+ shortest correctly rounded string representation of the
+ given float that can be converted back to the same float
+ again.</p>
+ <p>
+ Own Id: OTP-17562 Aux Id: GH-4492 </p>
+ </item>
+ <item>
+ <p>
+ The tagged tuple tests and fun-calls have been optimized
+ and are now a little bit cheaper than previously.</p>
+ <p>
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty tuples.</p>
+ <p>
+ Own Id: OTP-17608</p>
+ </item>
+ <item>
+ <p>
+ The signal queue benchmark in parallel_messages_SUITE and
+ the ETS benchmark in ets_SUITE have benchmark result
+ visualization HTML pages with "fill-screen" buttons to
+ make the graphs bigger. This button did not work as
+ intended before. When pressing the button for a graph,
+ the last graph got replaced with a bigger version and not
+ the one over the button. This is now fixed.</p>
+ <p>
+ Own Id: OTP-17630</p>
+ </item>
+ <item>
+ <p>
+ The test case num_bif_SUITE:t_float_to_string previously
+ failed sometimes as it assumed a certain rounding of
+ floats printed with sprintf but the rounding type is
+ platform specific.</p>
+ <p>
+ Own Id: OTP-17636</p>
+ </item>
+ <item>
+ <p>
+ Optimize interpreter to create heap binaries of small
+ match contexts if possible.</p>
+ <p>
+ This optimization was already done in the JIT.</p>
+ <p>
+ Own Id: OTP-17660 Aux Id: PR-5164 </p>
+ </item>
+ <item>
+ <p>
+ Optimize integer multiplication for x86 JIT</p>
+ <p>
+ Own Id: OTP-17667 Aux Id: PR-5237 </p>
+ </item>
+ <item>
+ <p>
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ <c>erl_interface</c> and <c>jinterface</c> nodes.</p>
+ <p>
+ Own Id: OTP-17682 Aux Id: PR-5347 </p>
+ </item>
+ <item>
+ <p>
+ Distributed spawn operations now require <seeguide
+ marker="erts:erl_dist_protocol#DFLAG_SPAWN">distributed
+ <c>spawn_request()</c></seeguide> support. Distributed
+ <c>spawn_request()</c> was introduced in OTP 23. That is,
+ distributed spawn operations against Erlang nodes of
+ releases prior to OTP 23 will fail.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17683 Aux Id: PR-5306 </p>
+ </item>
+ <item>
+ <p>The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type information
+ to do optimizations such as eliminating or simplifying
+ type tests.</p>
+ <p>
+ Own Id: OTP-17684 Aux Id: PR-5316, PR-5664 </p>
+ </item>
+ <item>
+ <p>Improved the JIT's support for external tools like
+ <c>perf</c> and <c>gdb</c>, allowing them to show line
+ numbers and even the original Erlang source code when
+ that can be found.</p>
+ <p>To aid them in finding the source code, the
+ <c>absolute_path</c> compiler option has been added to
+ embed the absolute file path of a module.</p>
+ <p>
+ Own Id: OTP-17685</p>
+ </item>
+ <item>
+ <p>
+ Add [32-bit] to the Erlang shell title row for 32-bit
+ VMs.</p>
+ <p>
+ Own Id: OTP-17717 Aux Id: PR-5290 </p>
+ </item>
+ <item>
+ <p>Instructions for how to build the runtime system for
+ iOS/iPadOS can now be found in
+ <c>HOWTO/INSTALL.md</c>.</p>
+ <p>
+ Own Id: OTP-17728 Aux Id: PR-5284 </p>
+ </item>
+ <item>
+ <p>
+ Add support for static Elixir NIF modules with
+ non-alphanumeric characters by using new macro
+ <c>STATIC_ERLANG_NIF_LIBNAME</c>.</p>
+ <p>
+ Own Id: OTP-17729 Aux Id: PR-5477 </p>
+ </item>
+ <item>
+ <p>
+ Add new function <c>caller_line</c> to for trace match
+ specifications used by erlang:trace_pattern/3.</p>
+ <p>
+ This new option puts the line number of the caller into
+ the trace message sent to the trace receiver.</p>
+ <p>
+ Own Id: OTP-17753 Aux Id: PR-5305 GH-5297 </p>
+ </item>
+ <item>
+ <p>
+ A new <c>erl</c> command line argument <c>+ssrct</c> has
+ been introduced which will cause the runtime system to
+ skip reading CPU topology information. This reduce
+ startup time especially when the CPU topology is large.
+ Reading of CPU topology information is now also skipped
+ if a user defined CPU topology is set using the
+ <c>+sct</c> command line argument.</p>
+ <p>
+ Own Id: OTP-17762 Aux Id: GH-5204, PR-5219 </p>
+ </item>
+ <item>
+ <p>
+ The default time warp mode will change in Erlang/OTP 26.
+ Added a warning about this upcoming potential
+ incompatibility to the documentation.</p>
+ <p>
+ Own Id: OTP-17772 Aux Id: GH-4965 PR-5644 </p>
+ </item>
+ <item>
+ <p>The emulator will no longer mark unused memory as
+ discardable (e.g. through <c>madvise(2)</c>), as it
+ caused more problems than it solved.</p>
+ <p>
+ Own Id: OTP-17824</p>
+ </item>
+ <item>
+ <p>When a record matching or record update fails, a
+ <c>{badrecord,ExpectedRecordTag}</c> exception used to be
+ raised. In this release, the exception has been changed
+ to <c>{badrecord,ActualValue}</c>, where
+ <c>ActualValue</c> is the actual that was found instead
+ of the expected record.</p>
+ <p>
+ Own Id: OTP-17841 Aux Id: PR-5694 </p>
+ </item>
+ <item>
+ <p>
+ Removed the previously undocumented and unsupported
+ <c>emem</c> tool.</p>
+ <p>
+ Own Id: OTP-17892 Aux Id: PR-5591 </p>
+ </item>
+ <item>
+ <p>
+ Remove version number from the default install path on
+ Windows.</p>
+ <p>
+ Own Id: OTP-17899 Aux Id: PR-5524 </p>
+ </item>
+ <item>
+ <p>
+ On Windows apply the limit flag
+ JOB_OBJECT_LIMIT_BREAKAWAY_OK in the Erlang service to be
+ able to start a OS child process with a different session
+ number.</p>
+ <p>
+ Own Id: OTP-17927 Aux Id: PR-5283 </p>
+ </item>
+ <item>
+ <p>
+ New erl command line option <c>+IOs</c>. It can be used
+ to disable scheduler thread poll optimization, which has
+ been seen to cause degraded event latency in some use
+ cases.</p>
+ <p>
+ Own Id: OTP-17945 Aux Id: GH-4759, PR-5809 </p>
+ </item>
+ <item>
+ <p>
+ An API for multihomed SCTP connect has been added in the
+ guise of <c>gen_sctp:connectx_init/*</c></p>
+ <p>
+ Own Id: OTP-17951 Aux Id: PR-5656 </p>
+ </item>
+ <item>
+ <p>
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').</p>
+ <p>
+ Own Id: OTP-17968 Aux Id: OTP-16464 </p>
+ </item>
+ <item>
+ <p>
+ A cross compilation issue has been fixed about finding
+ libdlpi during the configure phase.</p>
+ <p>
+ Own Id: OTP-17985 Aux Id: GH-5728 </p>
+ </item>
+ <item>
+ <p>
+ <seemfa
+ marker="erts:erlang#process_info/2"><c>process_info/2</c></seemfa>
+ now also accepts <c>parent</c> as argument. When passed,
+ the process identifier of the parent process will be
+ returned.</p>
+ <p>
+ Own Id: OTP-17999 Aux Id: PR-5768 </p>
+ </item>
+ <item>
+ <p>
+ The exported type <seetype
+ marker="erts:erlang#send_destination"><c>erlang:send_destination/0</c></seetype>
+ has been introduced.</p>
+ <p>
+ Own Id: OTP-18033 Aux Id: PR-2926, GH-5376 </p>
+ </item>
+ <item>
+ <p>
+ Building of the C/C++ make dependencies on Windows has
+ been optimized to be a lot faster.</p>
+ <p>
+ Own Id: OTP-18036 Aux Id: PR-5846 </p>
+ </item>
+ <item>
+ <p><c>file:sync/1</c> will now use the
+ <c>F_BARRIERFSYNC</c> flag when available on Mac OS.</p>
+ <p>
+ Own Id: OTP-18038</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 12.3.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/erts/preloaded/src/erts.app.src b/erts/preloaded/src/erts.app.src
index 151129d93f..3f115fd9e1 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-@OTP-17988@", "kernel-8.3", "sasl-3.3"]}
+ {runtime_dependencies, ["stdlib-4.0", "kernel-8.3", "sasl-3.3"]}
]}.
%% vim: ft=erlang
diff --git a/erts/vsn.mk b/erts/vsn.mk
index c73ea84314..e8c55b02ea 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -18,7 +18,7 @@
# %CopyrightEnd%
#
-VSN = 12.3.1
+VSN = 13.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 15ffa64736..5885148b8a 100644
--- a/lib/asn1/doc/src/notes.xml
+++ b/lib/asn1/doc/src/notes.xml
@@ -32,6 +32,21 @@
<p>This document describes the changes made to the asn1 application.</p>
+<section><title>Asn1 5.0.19</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>The atom <c>maybe</c> has been quoted in the source
+ code.</p>
+ <p>
+ Own Id: OTP-17980</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Asn1 5.0.18</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk
index 5800ce8f67..8093d57b72 100644
--- a/lib/asn1/vsn.mk
+++ b/lib/asn1/vsn.mk
@@ -1 +1 @@
-ASN1_VSN = 5.0.18
+ASN1_VSN = 5.0.19
diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml
index 0e28e2da15..5d11bd49b7 100644
--- a/lib/common_test/doc/src/notes.xml
+++ b/lib/common_test/doc/src/notes.xml
@@ -33,6 +33,64 @@
<file>notes.xml</file>
</header>
+<section><title>Common_Test 1.23</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix bug when running parallel testcases and together with
+ one or more ct hooks that would cause the hook lock
+ process to crash and produce printouts in the ct logs.</p>
+ <p>
+ Own Id: OTP-17881 Aux Id: PR-5581 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ <item>
+ <p>
+ Remove unused and undocumented tracer node functionality.</p>
+ <p>
+ Own Id: OTP-17676 Aux Id: PR-5021 </p>
+ </item>
+ <item>
+ <p>
+ The new module <c>peer</c> supersedes the <c>slave</c>
+ module. The <c>slave</c> module is now deprecated and
+ will be removed in OTP 27.</p>
+ <p>
+ <c>peer</c> contains an extended and more robust API for
+ starting erlang nodes.</p>
+ <p>
+ Own Id: OTP-17720 Aux Id: PR-5162 </p>
+ </item>
+ <item>
+ <p>
+ The cth_surefire ct hook has been updated to include the
+ file and line number of the executed test case in the xml
+ output.</p>
+ <p>
+ The performance of the hook has also been improved
+ greatly for test runs with many test cases.</p>
+ <p>
+ Own Id: OTP-17882 Aux Id: PR-5581 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Common_Test 1.22.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/common_test/src/common_test.app.src b/lib/common_test/src/common_test.app.src
index fd6daf7d93..fd7025937f 100644
--- a/lib/common_test/src/common_test.app.src
+++ b/lib/common_test/src/common_test.app.src
@@ -84,13 +84,13 @@
"erts-7.0",
"ftp-1.0",
"inets-6.0",
- "kernel-@OTP-17720@",
+ "kernel-8.4",
"observer-2.1",
"runtime_tools-1.8.16",
"sasl-2.5",
"snmp-5.1.2",
"ssh-4.0",
- "stdlib-@OTP-17720@",
+ "stdlib-4.0",
"syntax_tools-1.7",
"tools-3.2",
"xmerl-1.3.8"
diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk
index 79ba7cfe07..4f8c4b55d2 100644
--- a/lib/common_test/vsn.mk
+++ b/lib/common_test/vsn.mk
@@ -1 +1 @@
-COMMON_TEST_VSN = 1.22.1
+COMMON_TEST_VSN = 1.23
diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml
index 9e5b8d4a4f..48499c1d94 100644
--- a/lib/compiler/doc/src/notes.xml
+++ b/lib/compiler/doc/src/notes.xml
@@ -32,6 +32,150 @@
<p>This document describes the changes made to the Compiler
application.</p>
+<section><title>Compiler 8.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>Fixed a rare bug that would crash the compiler during
+ type optimization.</p>
+ <p>
+ Own Id: OTP-17820</p>
+ </item>
+ <item>
+ <p>Starting in OTP 24, when a fun was created and
+ immediately used, it would be inlined. An unintended
+ consequence of the inlining was that what would be a
+ <c>function_clause</c> exception without the inlining
+ would now be a rather confusing <c>case_clause</c>
+ exception. This has been corrected, so that
+ <c>function_clause</c> exceptions remain
+ <c>function_clause</c> exceptions in inlined code.</p>
+ <p>
+ Own Id: OTP-17860 Aux Id: GH-5513, OTP-17226 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.</p>
+ <p>
+ Own Id: OTP-16702</p>
+ </item>
+ <item>
+ <p>
+ Added support for the compile attribute <c>-nifs()</c> to
+ empower compiler and loader with information about which
+ functions may be overridden as NIFs by
+ <c>erlang:load_nif/2</c>. It is recommended to use this
+ attribute in all modules that load NIF libraries.</p>
+ <p>
+ Own Id: OTP-17151 Aux Id: ERIERL-590, PR-5479 </p>
+ </item>
+ <item>
+ <p>When binary construction using the binary syntax
+ fails, the error message printed in the shell and by
+ <c>erl_error:format_exception/3,4</c> will contain more
+ detailed information about what went wrong.</p>
+ <p>
+ Own Id: OTP-17504 Aux Id: GH-4971, PR-5281, PR-5752 </p>
+ </item>
+ <item>
+ <p>The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type information
+ to do optimizations such as eliminating or simplifying
+ type tests.</p>
+ <p>
+ Own Id: OTP-17684 Aux Id: PR-5316, PR-5664 </p>
+ </item>
+ <item>
+ <p>Improved the JIT's support for external tools like
+ <c>perf</c> and <c>gdb</c>, allowing them to show line
+ numbers and even the original Erlang source code when
+ that can be found.</p>
+ <p>To aid them in finding the source code, the
+ <c>absolute_path</c> compiler option has been added to
+ embed the absolute file path of a module.</p>
+ <p>
+ Own Id: OTP-17685</p>
+ </item>
+ <item>
+ <p>The <c>maybe</c> ... <c>end</c> construction proposed
+ in EEP-49 has been implemented. It can simplify complex
+ code where otherwise deeply nested cases would have to be
+ used.</p> <p>To enable <c>maybe</c>, give the option
+ <c>-enable-feature maybe_expr</c> to <c>erlc</c> or add
+ <c>-feature(enable, maybe_expr).</c> inside the
+ module.</p>
+ <p>
+ Own Id: OTP-17705 Aux Id: PR-5411 </p>
+ </item>
+ <item>
+ <p>A subtle bug regarding variable scoping has been
+ corrected. Consider this example:</p>
+ <p><c>(A=1) + fun() -&gt; A = 2() end</c></p>
+ <p>In the shell, the expression correctly evaluates to
+ <c>3</c>. In compiled code, it raised a <c>{badmatch,
+ 2}</c> exception.</p>
+ <p>
+ Own Id: OTP-17810 Aux Id: GH-5379 </p>
+ </item>
+ <item>
+ <p>When a record matching or record update fails, a
+ <c>{badrecord,ExpectedRecordTag}</c> exception used to be
+ raised. In this release, the exception has been changed
+ to <c>{badrecord,ActualValue}</c>, where
+ <c>ActualValue</c> is the actual that was found instead
+ of the expected record.</p>
+ <p>
+ Own Id: OTP-17841 Aux Id: PR-5694 </p>
+ </item>
+ <item>
+ <p>Improved optimization of try/catch expressions.</p>
+ <p>
+ Own Id: OTP-17842</p>
+ </item>
+ <item>
+ <p>The <c>beam_trim</c> pass of the compiler could be
+ extremely slow for huge straight-line functions. It will
+ now compile such functions much faster (down to seconds
+ from minutes for some huge functions).</p>
+ <p>
+ Own Id: OTP-17885 Aux Id: GH-5140 </p>
+ </item>
+ <item>
+ <p>
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and <c>+term</c>) to
+ <c>erlc</c> as well as with directives in the file.
+ Similar options can be used to <c>erl</c> for
+ enabling/disabling features allowed at runtime. The new
+ <c>maybe</c> expression (EEP-49) is fully supported as
+ the feature <c>maybe_expr</c>.</p>
+ <p>
+ Own Id: OTP-17988</p>
+ </item>
+ <item>
+ <p>
+ Change format of feature options and directives for
+ better consistency. Options to <c>erlc</c> and the
+ <c>-compile(..)</c> directive now has the format
+ <c>{feature, feature-name, enable | disable}</c>. The
+ <c>-feature(..)</c> now has the format
+ <c>-feature(feature-name, enable | disable).</c></p>
+ <p>
+ Own Id: OTP-18039</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Compiler 8.1</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 345f81aa3a..b55d6687a4 100644
--- a/lib/compiler/src/compiler.app.src
+++ b/lib/compiler/src/compiler.app.src
@@ -81,5 +81,5 @@
{registered, []},
{applications, [kernel, stdlib]},
{env, []},
- {runtime_dependencies, ["stdlib-@OTP-17742@","kernel-@OTP-17742@","erts-@OTP-17742@",
- "crypto-@OTP-17742@"]}]}.
+ {runtime_dependencies, ["stdlib-4.0","kernel-8.4","erts-13.0",
+ "crypto-5.1"]}]}.
diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk
index cb8a98d39a..a1ed7bf10a 100644
--- a/lib/compiler/vsn.mk
+++ b/lib/compiler/vsn.mk
@@ -1 +1 @@
-COMPILER_VSN = 8.1
+COMPILER_VSN = 8.2
diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml
index 3d73ee3a76..a4b4963d2e 100644
--- a/lib/crypto/doc/src/notes.xml
+++ b/lib/crypto/doc/src/notes.xml
@@ -31,6 +31,145 @@
</header>
<p>This document describes the changes made to the Crypto application.</p>
+<section><title>Crypto 5.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Remove faulty types <c>run_time_error()</c> and
+ <c>descriptive_error()</c>.</p>
+ <p>
+ Own Id: OTP-17984</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The deprecated low-level DH API is not used when crypto
+ is compiled with OpenSSL 3.0.</p>
+ <p>
+ Own Id: OTP-16643 Aux Id: OTP-16282 </p>
+ </item>
+ <item>
+ <p>
+ The deprecated low-level RSA API is not used when crypto
+ is compiled with OpenSSL 3.0.</p>
+ <p>
+ Own Id: OTP-16644 Aux Id: OTP-16282 </p>
+ </item>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ <item>
+ <p>
+ Add crypto:hash_equals/2</p>
+ <p>
+ Own Id: OTP-17471 Aux Id: PR-4750 </p>
+ </item>
+ <item>
+ <p>
+ Add /opt/homebrew/opt/openssl to standard locations to
+ search for OpenSSL cryptolib.</p>
+ <p>
+ Own Id: OTP-17561</p>
+ </item>
+ <item>
+ <p>
+ The deprecated low-level DSA API is not used when crypto
+ is compiled with OpenSSL 3.0.</p>
+ <p>
+ Own Id: OTP-17701 Aux Id: OTP-16282 </p>
+ </item>
+ <item>
+ <p>
+ The deprecated BN_pseudo_rand_range is not used when
+ crypto is compiled with OpenSSL 3.0.</p>
+ <p>
+ Own Id: OTP-17704 Aux Id: OTP-16282 </p>
+ </item>
+ <item>
+ <p>
+ <c>crypto_dyn_iv_init/3</c> and
+ <c>crypto_dyn_iv_update/3</c> are deprecated.</p>
+ <p>
+ Own Id: OTP-17870</p>
+ </item>
+ <item>
+ <p>
+ The infomation in error messages are increased.</p>
+ <p>
+ Previously the error was signaled with en error class
+ exception <c>badarg</c>, <c>notsup</c> or <c>error</c>,
+ and also in some more ways like an other exception or a
+ return value in a non-standardized format.</p>
+ <p>
+ Now it is an error-class exception
+ <c>{notsup|badarg|error, InfoFromCfile,
+ Description::string()}</c>.</p>
+ <p>
+ The <c>InfoFromCfile</c> is a term with name and line
+ number of the C-file where the error was found. This is
+ primarily intended for a crypto maitntainer or an
+ advanced user to find the cause of complicated errors -
+ maybe in crypto itself. The contents of that term might
+ be changed in the future.</p>
+ <p>
+ The <c>Description</c> is a clear text string that
+ describes the error. In case of <c>badarg</c> and
+ <c>notsup</c> the intention is that it should help the
+ user to find the cause ("Bad key size" as an example).
+ Specially for some <c>error</c> that are unlikely, the
+ string may not be possible to understand without deep
+ knowledge of the underlying cryptolib. Such messages are
+ intended for a crypto maintainer.</p>
+ <p>
+ The first element on call stack (the <c>S</c> in <c>try
+ ... catch error:E:S .... end</c>) gives more information
+ like the actual argument list in the call of crypto and
+ the argument number (if possible) in the call to the NIF
+ inside crypto.</p>
+ <p>
+ The functions in crypto affected by this change are:</p>
+ <p>
+ sign/4, sign/5, verify/5, verify/6,</p>
+ <p>
+ generate_key/2, generate_key/3, compute_key/4,</p>
+ <p>
+ hash/2, hash/4, hash_init/1, hash_update/4, hash_final/1,</p>
+ <p>
+ mac/3,4, mac_init/3, mac_update/2, mac_final/2,</p>
+ <p>
+ pbkdf2_hmac/5,</p>
+ <p>
+ public_encrypt/4, private_decrypt/4, private_encrypt/4,
+ public_decrypt/4</p>
+ <p>
+ This schema was introduced earlier in:</p>
+ <p>
+ crypto_init/3, crypto_init/4, crypto_update/2,
+ crypto_final/1, crypto_get_data/1,</p>
+ <p>
+ crypto_one_time/4, crypto_one_time/5,
+ crypto_one_time_aead/6, crypto_one_time_aead/7</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17965</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Crypto 5.0.6</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk
index 9e3356b8c2..57fb88cbb4 100644
--- a/lib/crypto/vsn.mk
+++ b/lib/crypto/vsn.mk
@@ -1 +1 @@
-CRYPTO_VSN = 5.0.6
+CRYPTO_VSN = 5.1
diff --git a/lib/debugger/doc/src/notes.xml b/lib/debugger/doc/src/notes.xml
index f43c53bce7..5835ff15f5 100644
--- a/lib/debugger/doc/src/notes.xml
+++ b/lib/debugger/doc/src/notes.xml
@@ -33,6 +33,29 @@
<p>This document describes the changes made to the Debugger
application.</p>
+<section><title>Debugger 5.3</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The configuration files <seecom
+ marker="erts:erl"><c>.erlang</c></seecom>, <seeguide
+ marker="system/reference_manual:distributed"><c>.erlang.cookie</c></seeguide>
+ and <seeerl
+ marker="stdlib:beam_lib#.erlang.crypt"><c>.erlang.crypt</c></seeerl>
+ can now be located in the XDG Config Home directory.</p>
+ <p>
+ See the documentation for each file and
+ <c>filename:basedir/2</c> for more details.</p>
+ <p>
+ Own Id: OTP-17554 Aux Id: GH-5016 PR-5408 OTP-17821 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Debugger 5.2.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/debugger/vsn.mk b/lib/debugger/vsn.mk
index c95d0fda17..bac7f4b6ae 100644
--- a/lib/debugger/vsn.mk
+++ b/lib/debugger/vsn.mk
@@ -1 +1 @@
-DEBUGGER_VSN = 5.2.1
+DEBUGGER_VSN = 5.3
diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml
index 6a40990d7d..04eae1ff4d 100644
--- a/lib/dialyzer/doc/src/notes.xml
+++ b/lib/dialyzer/doc/src/notes.xml
@@ -32,6 +32,94 @@
<p>This document describes the changes made to the Dialyzer
application.</p>
+<section><title>Dialyzer 5.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>Fixed a bug that could cause the type analyzer to
+ enter an infinite loop.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17644 Aux Id: PR-5223 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Optimize operations in the <c>erl_types</c> module.
+ Parallelize the Dialyzer pass <c>remote</c>.</p>
+ <p>
+ Own Id: OTP-17524</p>
+ </item>
+ <item>
+ <p>Added the <c>missing_return</c> and
+ <c>extra_return</c> options to raise warnings when
+ specifications differ from inferred types. These are
+ similar to, but not quite as verbose as <c>overspecs</c>
+ and <c>underspecs</c>.</p>
+ <p>
+ Own Id: OTP-17654 Aux Id: GH-5214 </p>
+ </item>
+ <item>
+ <p>The <c>race_conditions</c> option has been
+ removed.</p>
+ <p>
+ Own Id: OTP-17819</p>
+ </item>
+ <item>
+ <p>
+ The default location of the plt has been changed from
+ <c>$HOME</c> to
+ <c>filename:basedir(user_cache,"erlang")</c>.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17821 Aux Id: GH-5016 PR-5408 OTP-17554 </p>
+ </item>
+ <item>
+ <p><c>dialyzer</c> will now honor dependencies inside
+ type declarations. That is, if the declaration of an
+ exported type changes, all modules using said type will
+ be revisited.</p>
+ <p>
+ Own Id: OTP-17826 Aux Id: PR-5498 </p>
+ </item>
+ <item>
+ <p>Dialyzer now better understands the types for
+ <c>min/2</c>, <c>max/2</c>, and <c>erlang:raise/3</c>.
+ Because of that, Dialyzer can potentially generate new
+ warnings. In particular, functions that use
+ <c>erlang:raise/3</c> could now need a spec with a
+ <c>no_return()</c> return type to avoid an unwanted
+ warning.</p>
+ <p>
+ Own Id: OTP-17897 Aux Id: PR-5651 </p>
+ </item>
+ <item>
+ <p>The <c>typer_core</c> module has been added to provide
+ an Erlang API for running <c>typer</c>.</p>
+ <p>
+ Own Id: OTP-17964 Aux Id: PR-5660 </p>
+ </item>
+ <item>
+ <p>Added the <c>--annotate-in-place</c> option to
+ <c>typer</c>, which can be used to annotate the specs
+ that the tool inferred directly into the source code
+ files.</p>
+ <p>
+ Own Id: OTP-18035 Aux Id: PR-5802 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Dialyzer 4.4.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk
index fc10b86d46..e353d02a05 100644
--- a/lib/dialyzer/vsn.mk
+++ b/lib/dialyzer/vsn.mk
@@ -1 +1 @@
-DIALYZER_VSN = 4.4.4
+DIALYZER_VSN = 5.0
diff --git a/lib/diameter/doc/src/notes.xml b/lib/diameter/doc/src/notes.xml
index b42cc2dad2..19a2d278fc 100644
--- a/lib/diameter/doc/src/notes.xml
+++ b/lib/diameter/doc/src/notes.xml
@@ -43,6 +43,34 @@ first.</p>
<!-- ===================================================================== -->
+<section><title>diameter 2.2.6</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix decode of non-IP address types; that is, of values of
+ the derived AVP data format Address whose first two
+ octets specify an address family other than 1 (IP) or 2
+ (IP6). Such values have never been decoded, and were
+ treated as decode errors. They're now decoded to a
+ 2-tuple of the integer() address family and binary()
+ remaining octets, with no family-specific decode. The
+ 2-tuple distinguishes the decode from the 4-tuple and
+ 8-tuple IP address decodes. 2-tuples are also now
+ encoded.</p>
+ <p>
+ Note that even currently unassigned address families are
+ decoded: only the reserved values, 0 and 65535, are
+ treated as errors.</p>
+ <p>
+ Own Id: OTP-17976 Aux Id: GH-5463 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>diameter 2.2.5</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/diameter/vsn.mk b/lib/diameter/vsn.mk
index 0aafdde57c..e0dbd4c442 100644
--- a/lib/diameter/vsn.mk
+++ b/lib/diameter/vsn.mk
@@ -17,5 +17,5 @@
# %CopyrightEnd%
APPLICATION = diameter
-DIAMETER_VSN = 2.2.5
+DIAMETER_VSN = 2.2.6
APP_VSN = $(APPLICATION)-$(DIAMETER_VSN)$(PRE_VSN)
diff --git a/lib/edoc/doc/src/notes.xml b/lib/edoc/doc/src/notes.xml
index 849a816257..a3a89e6810 100644
--- a/lib/edoc/doc/src/notes.xml
+++ b/lib/edoc/doc/src/notes.xml
@@ -32,6 +32,45 @@
<p>This document describes the changes made to the EDoc
application.</p>
+<section><title>Edoc 1.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix unused types warnings in internal edoc module.</p>
+ <p>
+ Own Id: OTP-17550 Aux Id: GH-5094 PR-5106 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Add source file to the warning on skipped tags when
+ generating EEP-48 style docs.</p>
+ <p>
+ Own Id: OTP-17556 Aux Id: PR-5023 </p>
+ </item>
+ <item>
+ <p>
+ Fix the doc chunks generators to emit documentation even
+ if there is not module level documentation.</p>
+ <p>
+ Fix the doc chunks generators to respect the
+ <c>@hidden</c> and <c>@private</c> tags properly for both
+ modules and functions.</p>
+ <p>
+ Own Id: OTP-17733 Aux Id: PR-5205 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Edoc 1.1</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/edoc/vsn.mk b/lib/edoc/vsn.mk
index 2dec3951e3..f8feac1c37 100644
--- a/lib/edoc/vsn.mk
+++ b/lib/edoc/vsn.mk
@@ -1 +1 @@
-EDOC_VSN = 1.1
+EDOC_VSN = 1.2
diff --git a/lib/erl_docgen/doc/src/notes.xml b/lib/erl_docgen/doc/src/notes.xml
index 797efb5216..0bae7cdc88 100644
--- a/lib/erl_docgen/doc/src/notes.xml
+++ b/lib/erl_docgen/doc/src/notes.xml
@@ -31,7 +31,27 @@
</header>
<p>This document describes the changes made to the <em>erl_docgen</em> application.</p>
- <section><title>Erl_Docgen 1.2.1</title>
+ <section><title>Erl_Docgen 1.3</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.</p>
+ <p>
+ Before this change, exported but private functions and
+ modules did not have any entry at all.</p>
+ <p>
+ Own Id: OTP-17669 Aux Id: PR-5226 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Erl_Docgen 1.2.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/erl_docgen/vsn.mk b/lib/erl_docgen/vsn.mk
index e621f3a897..90715c9c82 100644
--- a/lib/erl_docgen/vsn.mk
+++ b/lib/erl_docgen/vsn.mk
@@ -1 +1 @@
-ERL_DOCGEN_VSN = 1.2.1
+ERL_DOCGEN_VSN = 1.3
diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml
index 45f04a7083..af9a874b6a 100644
--- a/lib/erl_interface/doc/src/notes.xml
+++ b/lib/erl_interface/doc/src/notes.xml
@@ -31,6 +31,76 @@
</header>
<p>This document describes the changes made to the Erl_interface application.</p>
+<section><title>Erl_Interface 5.3</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ <c>erl_call</c> no longer links against <c>nsl</c> on
+ platforms where <c>gethostbyname</c> is provided by libc.</p>
+ <p>
+ Own Id: OTP-17846 Aux Id: PR-5558 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>The following distribution flags are now mandatory:
+ <c>DFLAG_BIT_BINARIES</c>, <c>DFLAG_EXPORT_PTR_TAG</c>,
+ <c>DFLAG_MAP_TAGS</c>, <c>DFLAG_NEW_FLOATS</c>, and
+ <c>DFLAG_FUN_TAGS</c>. This mainly concerns libraries or
+ application that implement the distribution protocol
+ themselves.</p>
+ <p>
+ Own Id: OTP-17318 Aux Id: PR-4972 </p>
+ </item>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ <item>
+ <p>
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ <c>erl_interface</c> and <c>jinterface</c> nodes.</p>
+ <p>
+ Own Id: OTP-17682 Aux Id: PR-5347 </p>
+ </item>
+ <item>
+ <p>
+ Changed <c>creation</c> arguments, of function
+ <c>ei_connet_init</c> and friends, from type <c>short</c>
+ to <c>unsigned int</c> for full 32-bit range.</p>
+ <p>
+ Own Id: OTP-17802 Aux Id: PR-5347 </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.2.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk
index b0833390af..f06a7e869b 100644
--- a/lib/erl_interface/vsn.mk
+++ b/lib/erl_interface/vsn.mk
@@ -1,2 +1,2 @@
-EI_VSN = 5.2.2
+EI_VSN = 5.3
ERL_INTERFACE_VSN = $(EI_VSN)
diff --git a/lib/eunit/doc/src/notes.xml b/lib/eunit/doc/src/notes.xml
index fad15b48fc..c9bd570770 100644
--- a/lib/eunit/doc/src/notes.xml
+++ b/lib/eunit/doc/src/notes.xml
@@ -33,6 +33,21 @@
</header>
<p>This document describes the changes made to the EUnit application.</p>
+<section><title>Eunit 2.7.1</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Minor internal improvements.</p>
+ <p>
+ Own Id: OTP-17884 Aux Id: GH-5617 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Eunit 2.7</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/eunit/vsn.mk b/lib/eunit/vsn.mk
index 7528a7d57d..757bc168d7 100644
--- a/lib/eunit/vsn.mk
+++ b/lib/eunit/vsn.mk
@@ -1 +1 @@
-EUNIT_VSN = 2.7
+EUNIT_VSN = 2.7.1
diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml
index 90f6d1b374..57ce8979c4 100644
--- a/lib/inets/doc/src/notes.xml
+++ b/lib/inets/doc/src/notes.xml
@@ -33,7 +33,73 @@
<file>notes.xml</file>
</header>
- <section><title>Inets 7.5.2</title>
+ <section><title>Inets 8.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no port
+ value or URI map with port => undefined).</p>
+ <p>
+ Remove redundant normalization from http_request module.</p>
+ <p>
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17627</p>
+ </item>
+ <item>
+ <p>
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.</p>
+ <p>
+ After this change, could_not_establish_ssl_tunnel atom is
+ returned within Reason term.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17889</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.</p>
+ <p>
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.</p>
+ <p>
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17866</p>
+ </item>
+ <item>
+ <p>
+ After this change, connect_timeout value is re-used when
+ upgrading TCP connection to TLS over a proxy.</p>
+ <p>
+ Own Id: OTP-17997 Aux Id: GH-5782 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 7.5.2</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 9a0de7edc1..56d100125e 100644
--- a/lib/inets/src/inets_app/inets.app.src
+++ b/lib/inets/src/inets_app/inets.app.src
@@ -97,5 +97,5 @@
%% If the "new" ssl is used then 'crypto' must be started before inets.
{applications,[kernel,stdlib]},
{mod,{inets_app,[]}},
- {runtime_dependencies, ["stdlib-@OTP-17778@","ssl-9.0","runtime_tools-1.8.14",
+ {runtime_dependencies, ["stdlib-4.0","ssl-9.0","runtime_tools-1.8.14",
"mnesia-4.12","kernel-6.0","erts-6.0"]}]}.
diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk
index 65e6b8dc49..8ba56d96a6 100644
--- a/lib/inets/vsn.mk
+++ b/lib/inets/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = inets
-INETS_VSN = 7.5.2
+INETS_VSN = 8.0
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(INETS_VSN)$(PRE_VSN)"
diff --git a/lib/jinterface/doc/src/notes.xml b/lib/jinterface/doc/src/notes.xml
index 5f39266d50..aa50a19343 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.13</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>The following distribution flags are now mandatory:
+ <c>DFLAG_BIT_BINARIES</c>, <c>DFLAG_EXPORT_PTR_TAG</c>,
+ <c>DFLAG_MAP_TAGS</c>, <c>DFLAG_NEW_FLOATS</c>, and
+ <c>DFLAG_FUN_TAGS</c>. This mainly concerns libraries or
+ application that implement the distribution protocol
+ themselves.</p>
+ <p>
+ Own Id: OTP-17318 Aux Id: PR-4972 </p>
+ </item>
+ <item>
+ <p>
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ <c>erl_interface</c> and <c>jinterface</c> nodes.</p>
+ <p>
+ Own Id: OTP-17682 Aux Id: PR-5347 </p>
+ </item>
+ <item>
+ <p>
+ Add new abstract class <c>OtpGenericTransportFactory</c>
+ to allow implementation of any transport protocol without
+ dependency on epmd.</p>
+ <p>
+ Own Id: OTP-17961 Aux Id: PR-4839 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Jinterface 1.12.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/jinterface/vsn.mk b/lib/jinterface/vsn.mk
index 04de6b642b..67802bef8c 100644
--- a/lib/jinterface/vsn.mk
+++ b/lib/jinterface/vsn.mk
@@ -1 +1 @@
-JINTERFACE_VSN = 1.12.2
+JINTERFACE_VSN = 1.13
diff --git a/lib/kernel/doc/src/erpc.xml b/lib/kernel/doc/src/erpc.xml
index 7b1791765c..a7b2c7fe1f 100644
--- a/lib/kernel/doc/src/erpc.xml
+++ b/lib/kernel/doc/src/erpc.xml
@@ -383,7 +383,7 @@
</func>
<func>
- <name name="check_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="check_response" arity="3" since="OTP 25.0"/>
<fsummary>Check if a message is a response corresponding to a
previously sent call request.</fsummary>
<desc>
@@ -704,7 +704,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="receive_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="receive_response" arity="3" since="OTP 25.0"/>
<fsummary>Receive a call response corresponding to a
previously sent call request.</fsummary>
<desc>
@@ -788,7 +788,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="reqids_add" arity="3" since="OTP @OTP-17784@"/>
+ <name name="reqids_add" arity="3" since="OTP 25.0"/>
<fsummary>Save a request identifier.</fsummary>
<desc>
<p>
@@ -801,7 +801,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="reqids_new" arity="0" since="OTP @OTP-17784@"/>
+ <name name="reqids_new" arity="0" since="OTP 25.0"/>
<fsummary>Create a new empty request identifier collection.</fsummary>
<desc>
<p>
@@ -831,7 +831,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="reqids_size" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_size" arity="1" since="OTP 25.0"/>
<fsummary>Get size of a request identifier collection.</fsummary>
<desc>
<p>
@@ -842,7 +842,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="reqids_to_list" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_to_list" arity="1" since="OTP 25.0"/>
<fsummary>Get a list a request identifier/label associations in a collection.</fsummary>
<desc>
<p>
@@ -944,7 +944,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="send_request" arity="4" clause_i="2" since="OTP @OTP-17784@"/>
+ <name name="send_request" arity="4" clause_i="2" since="OTP 25.0"/>
<fsummary>Send a request to evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -971,7 +971,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="send_request" arity="6" since="OTP @OTP-17784@"/>
+ <name name="send_request" arity="6" since="OTP 25.0"/>
<fsummary>Send a request to evaluate a function call on a node.</fsummary>
<desc>
<p>
@@ -1079,7 +1079,7 @@ my_call(Node, Module, Function, Args, Timeout) ->
</func>
<func>
- <name name="wait_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="wait_response" arity="3" since="OTP 25.0"/>
<fsummary>Wait or poll for a call response corresponding to a previously
sent call request.</fsummary>
<desc>
diff --git a/lib/kernel/doc/src/gen_sctp.xml b/lib/kernel/doc/src/gen_sctp.xml
index f8b5530069..f340a573e5 100644
--- a/lib/kernel/doc/src/gen_sctp.xml
+++ b/lib/kernel/doc/src/gen_sctp.xml
@@ -305,7 +305,7 @@ connect(Socket, Ip, Port>,
</func>
<func>
- <name name="connectx_init" arity="3" since="OTP @OTP-17951@"/>
+ <name name="connectx_init" arity="3" since="OTP 25.0"/>
<fsummary>Same as <c>connectx_init(Socket, SockAddrs, Opts, infinity)</c>..</fsummary>
<desc>
<p>Similar to
@@ -320,7 +320,7 @@ connect(Socket, Ip, Port>,
</func>
<func>
- <name name="connectx_init" arity="4" since="OTP @OTP-17951@"/>
+ <name name="connectx_init" arity="4" since="OTP 25.0"/>
<fsummary>Same as <c>connectx_init(Socket, Addrs, Port, Opts, infinity)</c>..</fsummary>
<desc>
<p>Same as <c>connectx_init(<anno>Socket</anno>, <anno>Addrs</anno>,
@@ -329,7 +329,7 @@ connect(Socket, Ip, Port>,
</func>
<func>
- <name name="connectx_init" arity="5" since="OTP @OTP-17951@"/>
+ <name name="connectx_init" arity="5" since="OTP 25.0"/>
<fsummary>Initiate a new association for socket <c>Socket</c>, with a
peer (SCTP server socket).</fsummary>
<desc>
diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml
index 145a5a9751..cb709e73c4 100644
--- a/lib/kernel/doc/src/inet.xml
+++ b/lib/kernel/doc/src/inet.xml
@@ -783,7 +783,7 @@ get_tcpi_sacked(Sock) ->
</func>
<func>
- <name name="is_ip_address" arity="1" since="OTP @OTP-17923@"/>
+ <name name="is_ip_address" arity="1" since="OTP 25.0"/>
<fsummary>Tests if <c>IPAddress</c> is an IPv4 or IPv6 address tuple.</fsummary>
<desc>
<p>Tests if <c>IPAddress</c> is an
@@ -793,7 +793,7 @@ get_tcpi_sacked(Sock) ->
</func>
<func>
- <name name="is_ipv4_address" arity="1" since="OTP @OTP-17923@"/>
+ <name name="is_ipv4_address" arity="1" since="OTP 25.0"/>
<fsummary>Tests if <c>IPAddress</c> is an IPv4 address tuple.</fsummary>
<desc>
<p>Tests if <c>IPAddress</c> is an
@@ -803,7 +803,7 @@ get_tcpi_sacked(Sock) ->
</func>
<func>
- <name name="is_ipv6_address" arity="1" since="OTP @OTP-17923@"/>
+ <name name="is_ipv6_address" arity="1" since="OTP 25.0"/>
<fsummary>Tests if <c>IPAddress</c> is an IPv6 address tuple.</fsummary>
<desc>
<p>Tests if <c>IPAddress</c> is an
diff --git a/lib/kernel/doc/src/net_kernel.xml b/lib/kernel/doc/src/net_kernel.xml
index f56d95f094..f0d9d46b08 100644
--- a/lib/kernel/doc/src/net_kernel.xml
+++ b/lib/kernel/doc/src/net_kernel.xml
@@ -150,7 +150,7 @@ $ <input>erl -sname foobar</input></pre>
</func>
<func>
- <name name="get_state" arity="0" since="OTP @OTP-17558@"/>
+ <name name="get_state" arity="0" since="OTP 25.0"/>
<fsummary>Get various distribution state.</fsummary>
<desc>
<p>Get the current state of the distribution for the local node.</p>
diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml
index 23b040570b..69433c6921 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -31,6 +31,305 @@
</header>
<p>This document describes the changes made to the Kernel application.</p>
+<section><title>Kernel 8.4</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The DNS resolver implementation has been rewritten to
+ validate replies more thoroughly, and a bit optimized to
+ create less garbage.</p>
+ <p>
+ Own Id: OTP-17323</p>
+ </item>
+ <item>
+ <p>
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.</p>
+ <p>
+ Own Id: OTP-17447 Aux Id: GH-4819 </p>
+ </item>
+ <item>
+ <p>
+ Fix bug where using the atoms <c>string</c> or
+ <c>report</c> as the format when calling
+ <c>logger:log(Level, Format, Args)</c> (or any other
+ logging function) would cause a crash or incorrect
+ logging.</p>
+ <p>
+ Own Id: OTP-17551 Aux Id: GH-5071 PR-5075 </p>
+ </item>
+ <item>
+ <p> As of OTP 25, <c>global</c> will by default prevent
+ overlapping partitions due to network issues by actively
+ disconnecting from nodes that reports that they have lost
+ connections to other nodes. This will cause fully
+ connected partitions to form instead of leaving the
+ network in a state with overlapping partitions. </p> <p>
+ Prevention of overlapping partitions can be disabled
+ using the <seeapp
+ marker="kernel_app#prevent_overlapping_partitions"><c>prevent_overlapping_partitions</c></seeapp>
+ <c>kernel(6)</c> parameter, making <c>global</c> behave
+ like it used to do. This is, however, problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example <c>mnesia</c>, but also for
+ <c>global</c> itself. A network of overlapping partitions
+ might cause the internal state of <c>global</c> to become
+ inconsistent. Such an inconsistency can remain even after
+ such partitions have been brought together to form a
+ fully connected network again. The effect on other
+ applications that expects that a fully connected network
+ is maintained may vary, but they might misbehave in very
+ subtle hard to detect ways during such a partitioning.
+ Since you might get hard to detect issues without this
+ fix, you are <i>strongly</i> advised <i>not</i> to
+ disable this fix. Also note that this fix <i>has</i> to
+ be enabled on <i>all</i> nodes in the network in order to
+ work properly. </p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17911 Aux Id: PR-5687, PR-5611, OTP-17843 </p>
+ </item>
+ <item>
+ <p> Starting the helper program for name resolving;
+ <c>inet_gethost</c>, has been improved to use an absolute
+ file system path to ensure that the right program is
+ started. </p><p> If the helper program can not be started
+ - the system now halts, to avoid running with a silently
+ broken name resolver. </p>
+ <p>
+ Own Id: OTP-17958 Aux Id: OTP-17978 </p>
+ </item>
+ <item>
+ <p>
+ The type specification for <c>inet_res:getbyname/2,3</c>
+ has been corrected to reflect that it can return peculiar
+ <c>#hostent{}</c> records.</p>
+ <p>
+ Own Id: OTP-17986 Aux Id: PR-5412 </p>
+ </item>
+ <item>
+ <p><c>code:module_status/1</c> would always report BEAM
+ files loaded from an archive as <c>modified</c>, and
+ <c>code:modified_modules/0</c> would always return the
+ name of all modules loaded from archives.</p>
+ <p>
+ Own Id: OTP-17990 Aux Id: GH-5801 </p>
+ </item>
+ <item>
+ <p>
+ In logger fix file handler shutdown delay by using erlang
+ timers instead of the timer modul's timers.</p>
+ <p>
+ Own Id: OTP-18001 Aux Id: GH-5780 PR-5829 </p>
+ </item>
+ <item>
+ <p>
+ Fix the metadata in log events generated by logger on
+ failure to not contain the original log event's metadata.</p>
+ <p>
+ Own Id: OTP-18003 Aux Id: PR-5771 </p>
+ </item>
+ <item>
+ <p>
+ Fix logger file backend to re-create the log folder if it
+ has been deleted.</p>
+ <p>
+ Own Id: OTP-18015 Aux Id: GH-5828 PR-5845 </p>
+ </item>
+ <item>
+ <p>
+ [socket] Encode of sockaddr has been improved.</p>
+ <p>
+ Own Id: OTP-18020</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The net module now works on Windows.</p>
+ <p>
+ Own Id: OTP-16464</p>
+ </item>
+ <item>
+ <p>
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's <c>RELEASES</c> file are paths that are
+ relative to the installations root directory. The
+ <c>`release_handler:create_RELEASES/4</c> function can
+ generate a <c>RELEASES</c> file with relative paths if
+ its <c>RootDir</c> parameter is set to the empty string.</p>
+ <p>
+ Own Id: OTP-17304</p>
+ </item>
+ <item>
+ <p>The following distribution flags are now mandatory:
+ <c>DFLAG_BIT_BINARIES</c>, <c>DFLAG_EXPORT_PTR_TAG</c>,
+ <c>DFLAG_MAP_TAGS</c>, <c>DFLAG_NEW_FLOATS</c>, and
+ <c>DFLAG_FUN_TAGS</c>. This mainly concerns libraries or
+ application that implement the distribution protocol
+ themselves.</p>
+ <p>
+ Own Id: OTP-17318 Aux Id: PR-4972 </p>
+ </item>
+ <item>
+ <p>
+ Fix <c>os:cmd</c> to work on Android OS.</p>
+ <p>
+ Own Id: OTP-17479 Aux Id: PR-4917 </p>
+ </item>
+ <item>
+ <p>
+ The configuration files <seecom
+ marker="erts:erl"><c>.erlang</c></seecom>, <seeguide
+ marker="system/reference_manual:distributed"><c>.erlang.cookie</c></seeguide>
+ and <seeerl
+ marker="stdlib:beam_lib#.erlang.crypt"><c>.erlang.crypt</c></seeerl>
+ can now be located in the XDG Config Home directory.</p>
+ <p>
+ See the documentation for each file and
+ <c>filename:basedir/2</c> for more details.</p>
+ <p>
+ Own Id: OTP-17554 Aux Id: GH-5016 PR-5408 OTP-17821 </p>
+ </item>
+ <item>
+ <p>
+ Dynamic node name improvements: <c>erlang:is_alive/0</c>
+ changed to return true for pending dynamic node name and
+ new function <c>net_kernel:get_state/0</c>.</p>
+ <p>
+ Own Id: OTP-17558 Aux Id: OTP-17538, PR-5111, GH-5402 </p>
+ </item>
+ <item>
+ <p>
+ The types for callback result types in <c>gen_statem</c>
+ has bee augmented with arity 2 types where it is possible
+ for a callback module to specify the type of the callback
+ data, so the callback module can get type validation of
+ it.</p>
+ <p>
+ Own Id: OTP-17589 Aux Id: PR-4926 </p>
+ </item>
+ <item>
+ <p>
+ The tagged tuple tests and fun-calls have been optimized
+ and are now a little bit cheaper than previously.</p>
+ <p>
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty tuples.</p>
+ <p>
+ Own Id: OTP-17608</p>
+ </item>
+ <item>
+ <p>
+ A <seeapp
+ marker="kernel:kernel_app#net_ticker_spawn_options"><c>net_ticker_spawn_options</c></seeapp>
+ <c>kernel</c> configuration parameter with which one can
+ set spawn options for the distribution channel ticker
+ processes has been introduced.</p>
+ <p>
+ Own Id: OTP-17617 Aux Id: PR-5069 </p>
+ </item>
+ <item>
+ <p>
+ The most, or at least the most used, <seeerl
+ marker="kernel:rpc"><c>rpc</c></seeerl> operations now
+ require <seeerl marker="kernel:erpc"><c>erpc</c></seeerl>
+ support in order to communicate with other Erlang nodes.
+ <c>erpc</c> was introduced in OTP 23. That is, <c>rpc</c>
+ operations against Erlang nodes of releases prior to OTP
+ 23 will fail.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17681 Aux Id: PR-5307 </p>
+ </item>
+ <item>
+ <p>
+ The new module <c>peer</c> supersedes the <c>slave</c>
+ module. The <c>slave</c> module is now deprecated and
+ will be removed in OTP 27.</p>
+ <p>
+ <c>peer</c> contains an extended and more robust API for
+ starting erlang nodes.</p>
+ <p>
+ Own Id: OTP-17720 Aux Id: PR-5162 </p>
+ </item>
+ <item>
+ <p>
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous <c>call</c> requests,
+ new functionality utilizing request identifier
+ collections have been introduced in <seetype
+ marker="kernel:erpc#request_id_collection"><c>erpc</c></seetype>,
+ <seetype
+ marker="stdlib:gen_server#request_id_collection"><c>gen_server</c></seetype>,
+ <seetype
+ marker="stdlib:gen_statem#request_id_collection"><c>gen_statem</c></seetype>,
+ and <seetype
+ marker="stdlib:gen_event#request_id_collection"><c>gen_event</c></seetype>.</p>
+ <p>
+ Own Id: OTP-17784 Aux Id: PR-5792 </p>
+ </item>
+ <item>
+ <p>Type specifications have been added to the
+ <c>gen_server</c>, and the documentation has been updated
+ to utilize this. </p><p>This surfaced a few type
+ violations that has been corrected in <c>global</c>,
+ <c>logger_olp</c> and <c>rpc</c>. </p>
+ <p>
+ Own Id: OTP-17915 Aux Id: PR-5751, GH-2375, GH-2690 </p>
+ </item>
+ <item>
+ <p>
+ IP address validation functions <c>is_ipv4_address/1</c>,
+ <c>is_ipv6_address/1</c> and <c>is_ip_address/1</c> have
+ been added to the module <c>inet</c> in Kernel.</p>
+ <p>
+ Own Id: OTP-17923 Aux Id: PR-5646 </p>
+ </item>
+ <item>
+ <p>
+ An API for multihomed SCTP connect has been added in the
+ guise of <c>gen_sctp:connectx_init/*</c></p>
+ <p>
+ Own Id: OTP-17951 Aux Id: PR-5656 </p>
+ </item>
+ <item>
+ <p>
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').</p>
+ <p>
+ Own Id: OTP-17968 Aux Id: OTP-16464 </p>
+ </item>
+ <item>
+ <p>
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and <c>+term</c>) to
+ <c>erlc</c> as well as with directives in the file.
+ Similar options can be used to <c>erl</c> for
+ enabling/disabling features allowed at runtime. The new
+ <c>maybe</c> expression (EEP-49) is fully supported as
+ the feature <c>maybe_expr</c>.</p>
+ <p>
+ Own Id: OTP-17988</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Kernel 8.3.1</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 9165f562c3..3c225fd1b2 100644
--- a/lib/kernel/src/kernel.app.src
+++ b/lib/kernel/src/kernel.app.src
@@ -158,6 +158,6 @@
{shell_docs_ansi,auto}
]},
{mod, {kernel, []}},
- {runtime_dependencies, ["erts-@OTP-17951:OTP-17968:OTP-16464@", "stdlib-@OTP-17720@", "sasl-3.0", "crypto-5.0"]}
+ {runtime_dependencies, ["erts-13.0", "stdlib-4.0", "sasl-3.0", "crypto-5.0"]}
]
}.
diff --git a/lib/kernel/src/kernel.appup.src b/lib/kernel/src/kernel.appup.src
index 4f041cda4a..9db2512b60 100644
--- a/lib/kernel/src/kernel.appup.src
+++ b/lib/kernel/src/kernel.appup.src
@@ -19,23 +19,16 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 22
%% - OTP 23
%% - OTP 24
+%% - OTP 25
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^6\\.4$">>,[restart_new_emulator]},
- {<<"^6\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^6\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^6\\.5$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^7\\.0$">>,[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]},
@@ -57,15 +50,9 @@
{<<"^8\\.2$">>,[restart_new_emulator]},
{<<"^8\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.3$">>,[restart_new_emulator]},
- {<<"^8\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}],
- [{<<"^6\\.4$">>,[restart_new_emulator]},
- {<<"^6\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^6\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^6\\.5$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^6\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^7\\.0$">>,[restart_new_emulator]},
+ {<<"^8\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^8\\.3\\.1(?:\\.[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]},
@@ -87,4 +74,5 @@
{<<"^8\\.2$">>,[restart_new_emulator]},
{<<"^8\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.3$">>,[restart_new_emulator]},
- {<<"^8\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
+ {<<"^8\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^8\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk
index 817f66720e..0d66e51f89 100644
--- a/lib/kernel/vsn.mk
+++ b/lib/kernel/vsn.mk
@@ -1 +1 @@
-KERNEL_VSN = 8.3.1
+KERNEL_VSN = 8.4
diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml
index 8787d63375..e42f484091 100644
--- a/lib/megaco/doc/src/notes.xml
+++ b/lib/megaco/doc/src/notes.xml
@@ -37,7 +37,30 @@
section is the version number of Megaco.</p>
- <section><title>Megaco 4.3</title>
+ <section><title>Megaco 4.4</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ <item>
+ <p>
+ Megaco test suite(s) use the new peer module for node
+ starts.</p>
+ <p>
+ Own Id: OTP-17910</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Megaco 4.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk
index d1fd7c372a..a58cf04e2a 100644
--- a/lib/megaco/vsn.mk
+++ b/lib/megaco/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = megaco
-MEGACO_VSN = 4.3
+MEGACO_VSN = 4.4
PRE_VSN =
APP_VSN = "$(APPLICATION)-$(MEGACO_VSN)$(PRE_VSN)"
diff --git a/lib/mnesia/doc/src/notes.xml b/lib/mnesia/doc/src/notes.xml
index 8559884a5d..347dd1a052 100644
--- a/lib/mnesia/doc/src/notes.xml
+++ b/lib/mnesia/doc/src/notes.xml
@@ -39,7 +39,22 @@
thus constitutes one section in this document. The title of each
section is the version number of Mnesia.</p>
- <section><title>Mnesia 4.20.3</title>
+ <section><title>Mnesia 4.21</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Documentation fixes.</p>
+ <p>
+ Own Id: OTP-17930</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Mnesia 4.20.3</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/mnesia/vsn.mk b/lib/mnesia/vsn.mk
index 182e3ff20c..a7e13fc26d 100644
--- a/lib/mnesia/vsn.mk
+++ b/lib/mnesia/vsn.mk
@@ -1 +1 @@
-MNESIA_VSN = 4.20.3
+MNESIA_VSN = 4.21
diff --git a/lib/observer/doc/src/notes.xml b/lib/observer/doc/src/notes.xml
index ef95459d1e..f8ffc76158 100644
--- a/lib/observer/doc/src/notes.xml
+++ b/lib/observer/doc/src/notes.xml
@@ -32,6 +32,48 @@
<p>This document describes the changes made to the Observer
application.</p>
+<section><title>Observer 2.12</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fixed default handling of Mac specific menus.</p>
+ <p>
+ Own Id: OTP-17996 Aux Id: PR-5795 </p>
+ </item>
+ <item>
+ <p>
+ Reading port socket options on macOS and Windows "skips"
+ invalid options.</p>
+ <p>
+ Own Id: OTP-18012 Aux Id: #5798 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The configuration files <seecom
+ marker="erts:erl"><c>.erlang</c></seecom>, <seeguide
+ marker="system/reference_manual:distributed"><c>.erlang.cookie</c></seeguide>
+ and <seeerl
+ marker="stdlib:beam_lib#.erlang.crypt"><c>.erlang.crypt</c></seeerl>
+ can now be located in the XDG Config Home directory.</p>
+ <p>
+ See the documentation for each file and
+ <c>filename:basedir/2</c> for more details.</p>
+ <p>
+ Own Id: OTP-17554 Aux Id: GH-5016 PR-5408 OTP-17821 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Observer 2.11.1</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 bc94e236ff..a2f012ebd5 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-1.2","stdlib-3.13","runtime_tools-@OTP-18012@",
+ {runtime_dependencies, ["wx-1.2","stdlib-3.13","runtime_tools-1.19",
"kernel-8.1","et-1.5","erts-11.0"]}]}.
diff --git a/lib/observer/vsn.mk b/lib/observer/vsn.mk
index 5ea7b062fc..cc6f77a8a2 100644
--- a/lib/observer/vsn.mk
+++ b/lib/observer/vsn.mk
@@ -1 +1 @@
-OBSERVER_VSN = 2.11.1
+OBSERVER_VSN = 2.12
diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml
index 33b232fc84..8526a5b383 100644
--- a/lib/odbc/doc/src/notes.xml
+++ b/lib/odbc/doc/src/notes.xml
@@ -32,7 +32,23 @@
<p>This document describes the changes made to the odbc application.
</p>
- <section><title>ODBC 2.13.5</title>
+ <section><title>ODBC 2.14</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>ODBC 2.13.5</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/odbc/vsn.mk b/lib/odbc/vsn.mk
index 04aea9d2a4..7856175267 100644
--- a/lib/odbc/vsn.mk
+++ b/lib/odbc/vsn.mk
@@ -1 +1 @@
-ODBC_VSN = 2.13.5
+ODBC_VSN = 2.14
diff --git a/lib/parsetools/doc/src/notes.xml b/lib/parsetools/doc/src/notes.xml
index 7f18fb17f2..eeab5d776d 100644
--- a/lib/parsetools/doc/src/notes.xml
+++ b/lib/parsetools/doc/src/notes.xml
@@ -31,6 +31,22 @@
</header>
<p>This document describes the changes made to the Parsetools application.</p>
+<section><title>Parsetools 2.4</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>In the generated code, <c>yecc</c> will now quote all
+ atoms coming from terminals in the grammar, in order to
+ avoid conflicts with future reserved words.</p>
+ <p>
+ Own Id: OTP-17755</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Parsetools 2.3.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/parsetools/vsn.mk b/lib/parsetools/vsn.mk
index d68af7fd01..fa41d05179 100644
--- a/lib/parsetools/vsn.mk
+++ b/lib/parsetools/vsn.mk
@@ -1 +1 @@
-PARSETOOLS_VSN = 2.3.2
+PARSETOOLS_VSN = 2.4
diff --git a/lib/public_key/doc/src/notes.xml b/lib/public_key/doc/src/notes.xml
index 2b711b4e40..2585dd48fa 100644
--- a/lib/public_key/doc/src/notes.xml
+++ b/lib/public_key/doc/src/notes.xml
@@ -35,6 +35,41 @@
<file>notes.xml</file>
</header>
+<section><title>Public_Key 1.13</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Allow key file passwords to be input as a single binary,
+ that is we change the datatype to be the more for the
+ purpose logical data type iodata() instead of string().</p>
+ <p>
+ Own Id: OTP-17890</p>
+ </item>
+ <item>
+ <p>
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.</p>
+ <p>
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.</p>
+ <p>
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be needed.
+ Se the manual for more information.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17921</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Public_Key 1.12</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk
index 9d4f2c4f6a..6ca08cfddb 100644
--- a/lib/public_key/vsn.mk
+++ b/lib/public_key/vsn.mk
@@ -1 +1 @@
-PUBLIC_KEY_VSN = 1.12
+PUBLIC_KEY_VSN = 1.13
diff --git a/lib/runtime_tools/doc/src/notes.xml b/lib/runtime_tools/doc/src/notes.xml
index 03e6a9af8c..56c77be0a4 100644
--- a/lib/runtime_tools/doc/src/notes.xml
+++ b/lib/runtime_tools/doc/src/notes.xml
@@ -32,6 +32,43 @@
<p>This document describes the changes made to the Runtime_Tools
application.</p>
+<section><title>Runtime_Tools 1.19</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Reading port socket options on macOS and Windows "skips"
+ invalid options.</p>
+ <p>
+ Own Id: OTP-18012 Aux Id: #5798 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p><c>dbg:stop/0</c> now behaves like
+ <c>dbg:stop_clear/0</c>, clearing all global trace
+ patterns for all functions.</p>
+ <p>
+ Own Id: OTP-17909 Aux Id: ERIERL-760 </p>
+ </item>
+ <item>
+ <p><c>erts_alloc_config</c> has been scheduled for
+ removal in OTP 26. It has not produced good
+ configurations for a very long time, and unfortunately it
+ cannot be fixed in a backwards compatible manner.</p>
+ <p>
+ Own Id: OTP-17939</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Runtime_Tools 1.18</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/runtime_tools/vsn.mk b/lib/runtime_tools/vsn.mk
index 3e7545b8c5..15ef680b67 100644
--- a/lib/runtime_tools/vsn.mk
+++ b/lib/runtime_tools/vsn.mk
@@ -1 +1 @@
-RUNTIME_TOOLS_VSN = 1.18
+RUNTIME_TOOLS_VSN = 1.19
diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml
index f9162b67e7..78de4f2f39 100644
--- a/lib/sasl/doc/src/notes.xml
+++ b/lib/sasl/doc/src/notes.xml
@@ -31,6 +31,40 @@
</header>
<p>This document describes the changes made to the SASL application.</p>
+<section><title>SASL 4.2</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Fix systools:make* to recursively search for source code
+ when doing a <c>src_tests</c>.</p>
+ <p>
+ Own Id: OTP-17752 Aux Id: PR-5302 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's <c>RELEASES</c> file are paths that are
+ relative to the installations root directory. The
+ <c>`release_handler:create_RELEASES/4</c> function can
+ generate a <c>RELEASES</c> file with relative paths if
+ its <c>RootDir</c> parameter is set to the empty string.</p>
+ <p>
+ Own Id: OTP-17304</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>SASL 4.1.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/sasl/doc/src/release_handler.xml b/lib/sasl/doc/src/release_handler.xml
index cb9ce94f15..f5eb0ccbd1 100644
--- a/lib/sasl/doc/src/release_handler.xml
+++ b/lib/sasl/doc/src/release_handler.xml
@@ -202,7 +202,7 @@
</func>
<func>
- <name since="OTP @OTP-17304@">create_RELEASES(RelDir, RelFile, AppDirs) -> ok | {error, Reason}</name>
+ <name since="OTP 25.0">create_RELEASES(RelDir, RelFile, AppDirs) -> ok | {error, Reason}</name>
<name since="">create_RELEASES(Root, RelDir, RelFile, AppDirs) -> ok | {error, Reason}</name>
<fsummary>Creates an initial <c>RELEASES</c> file.</fsummary>
<type>
diff --git a/lib/sasl/src/sasl.appup.src b/lib/sasl/src/sasl.appup.src
index e2fc3e5b7f..3752c085e2 100644
--- a/lib/sasl/src/sasl.appup.src
+++ b/lib/sasl/src/sasl.appup.src
@@ -19,34 +19,28 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 22
%% - OTP 23
%% - OTP 24
+%% - OTP 25
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^3\\.4$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.0$">>,[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\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
- [{<<"^3\\.4$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.4\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^4\\.0$">>,[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\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
+ {<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk
index c38e64d0a9..0fbf91bf53 100644
--- a/lib/sasl/vsn.mk
+++ b/lib/sasl/vsn.mk
@@ -1 +1 @@
-SASL_VSN = 4.1.2
+SASL_VSN = 4.2
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml
index 26aa02f794..837022cdd9 100644
--- a/lib/snmp/doc/src/notes.xml
+++ b/lib/snmp/doc/src/notes.xml
@@ -34,7 +34,31 @@
</header>
- <section><title>SNMP 5.12</title>
+ <section><title>SNMP 5.13</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ <item>
+ <p>
+ Removed deprecated functions slated for removal in
+ OTP-25. Also removed "dead" code, kept for backward
+ compatibility reasons.</p>
+ <p>
+ Own Id: OTP-17612</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>SNMP 5.12</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk
index c448034840..a607273107 100644
--- a/lib/snmp/vsn.mk
+++ b/lib/snmp/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = snmp
-SNMP_VSN = 5.12
+SNMP_VSN = 5.13
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 4e644e6c0e..789cfdb64a 100644
--- a/lib/ssh/doc/src/notes.xml
+++ b/lib/ssh/doc/src/notes.xml
@@ -30,6 +30,28 @@
<file>notes.xml</file>
</header>
+<section><title>Ssh 4.14</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).</p>
+ <p>
+ That is now changed to the public_key form. See the
+ manual for more information.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17920</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Ssh 4.13.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk
index 3a88e96f93..d265fac8a0 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.13.2
+SSH_VSN = 4.14
APP_VSN = "ssh-$(SSH_VSN)"
diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml
index 7163b077ee..dbbf00f09e 100644
--- a/lib/ssl/doc/src/notes.xml
+++ b/lib/ssl/doc/src/notes.xml
@@ -27,6 +27,59 @@
</header>
<p>This document describes the changes made to the SSL application.</p>
+<section><title>SSL 10.8</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Now also accepts the signature_algs_cert option in
+ TLS-1.2 configuration.</p>
+ <p>
+ Own Id: OTP-18014</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ With this change, it is possible to provide several
+ certificates. Most appropriate will be selected based on
+ extensions.</p>
+ <p>
+ Own Id: OTP-15993 Aux Id: GH-4143 </p>
+ </item>
+ <item>
+ <p>
+ Add options for users to be able to set spawn_opts for
+ TLS processes (sender and receiver) this may be useful
+ for tuning trade-offs between CPU and Memory usage.</p>
+ <p>
+ Own Id: OTP-17855 Aux Id: PR-5328 </p>
+ </item>
+ <item>
+ <p>
+ Allow key file passwords to be input as a single binary,
+ that is we change the datatype to be the more for the
+ purpose logical data type iodata() instead of string().</p>
+ <p>
+ Own Id: OTP-17890</p>
+ </item>
+ <item>
+ <p>
+ Logging enhancement, add location information to the
+ warning log message.</p>
+ <p>
+ Own Id: OTP-18000 Aux Id: PR-5790 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>SSL 10.7.2</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 a52b6cc463..8cdf651684 100644
--- a/lib/ssl/src/ssl.app.src
+++ b/lib/ssl/src/ssl.app.src
@@ -85,6 +85,6 @@
{applications, [crypto, public_key, kernel, stdlib]},
{env, []},
{mod, {ssl_app, []}},
- {runtime_dependencies, ["stdlib-3.12","public_key-1.11.3","kernel-@OTP-17617@",
+ {runtime_dependencies, ["stdlib-3.12","public_key-1.11.3","kernel-8.4",
"erts-10.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 672ae7a2df..e7ad4494e0 100644
--- a/lib/ssl/vsn.mk
+++ b/lib/ssl/vsn.mk
@@ -1 +1 @@
-SSL_VSN = 10.7.2
+SSL_VSN = 10.8
diff --git a/lib/stdlib/doc/src/erl_pp.xml b/lib/stdlib/doc/src/erl_pp.xml
index 721a567faa..7a05067443 100644
--- a/lib/stdlib/doc/src/erl_pp.xml
+++ b/lib/stdlib/doc/src/erl_pp.xml
@@ -156,7 +156,7 @@
</func>
<func>
- <name name="legalize_vars" arity="1" since="OTP @OTP-17742@"/>
+ <name name="legalize_vars" arity="1" since="OTP 25.0"/>
<fsummary>Ensure all variable names are valid.</fsummary>
<desc>
<p>The Erlang compiler will, when expanding records to tuples,
diff --git a/lib/stdlib/doc/src/filelib.xml b/lib/stdlib/doc/src/filelib.xml
index 84e1d2a260..8ca5f30901 100644
--- a/lib/stdlib/doc/src/filelib.xml
+++ b/lib/stdlib/doc/src/filelib.xml
@@ -108,7 +108,7 @@
</func>
<func>
- <name name="ensure_path" arity="1" since="OTP @OTP-17953@"/>
+ <name name="ensure_path" arity="1" since="OTP 25.0"/>
<fsummary>Ensure that all parent directories for a target directory exist.</fsummary>
<desc>
<p>Ensures that all parent directories for the specified path
diff --git a/lib/stdlib/doc/src/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml
index 676d643072..8e947ebc0c 100644
--- a/lib/stdlib/doc/src/gen_event.xml
+++ b/lib/stdlib/doc/src/gen_event.xml
@@ -408,7 +408,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name name="check_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="check_response" arity="3" since="OTP 25.0"/>
<fsummary>Check if a message is a response to an asynchronous call request
to a generic event manager.</fsummary>
<desc>
@@ -586,7 +586,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name name="receive_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="receive_response" arity="3" since="OTP 25.0"/>
<fsummary>Receive a response to an asynchronous call request
to a generic event manager.</fsummary>
<desc>
@@ -668,7 +668,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name name="reqids_add" arity="3" since="OTP @OTP-17784@"/>
+ <name name="reqids_add" arity="3" since="OTP 25.0"/>
<fsummary>Save a request identifier.</fsummary>
<desc>
<p>
@@ -681,7 +681,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name name="reqids_new" arity="0" since="OTP @OTP-17784@"/>
+ <name name="reqids_new" arity="0" since="OTP 25.0"/>
<fsummary>Create a new empty request identifier collection.</fsummary>
<desc>
<p>
@@ -711,7 +711,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name name="reqids_size" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_size" arity="1" since="OTP 25.0"/>
<fsummary>Get size of a request identifier collection.</fsummary>
<desc>
<p>
@@ -722,7 +722,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name name="reqids_to_list" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_to_list" arity="1" since="OTP 25.0"/>
<fsummary>List a request identifiers.</fsummary>
<desc>
<p>
@@ -783,7 +783,7 @@ gen_event:stop -----> Module:terminate/2
<func>
- <name name="send_request" arity="5" since="OTP @OTP-17784@"/>
+ <name name="send_request" arity="5" since="OTP 25.0"/>
<fsummary>Sends a request to a generic server.</fsummary>
<desc>
<p>
@@ -1095,7 +1095,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name name="wait_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="wait_response" arity="3" since="OTP 25.0"/>
<fsummary>Wait or poll for a response to an asynchronous call request
to a generic event manager.</fsummary>
<desc>
@@ -1239,7 +1239,7 @@ gen_event:stop -----> Module:terminate/2
</func>
<func>
- <name since="OTP @OTP-17351@">Module:format_status(Status) -> NewStatus</name>
+ <name since="OTP 25.0">Module:format_status(Status) -> NewStatus</name>
<fsummary>Optional function for providing a term describing the
current event handler state.</fsummary>
<type>
diff --git a/lib/stdlib/doc/src/gen_server.xml b/lib/stdlib/doc/src/gen_server.xml
index 6f5a650acc..23c5569761 100644
--- a/lib/stdlib/doc/src/gen_server.xml
+++ b/lib/stdlib/doc/src/gen_server.xml
@@ -692,7 +692,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="check_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="check_response" arity="3" since="OTP 25.0"/>
<fsummary>Check if a message is a response from a server.</fsummary>
<desc>
<p>
@@ -948,7 +948,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="receive_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="receive_response" arity="3" since="OTP 25.0"/>
<fsummary>Receive a response from a server.</fsummary>
<desc>
<p>
@@ -1052,7 +1052,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="reqids_add" arity="3" since="OTP @OTP-17784@"/>
+ <name name="reqids_add" arity="3" since="OTP 25.0"/>
<fsummary>Save a request identifier.</fsummary>
<desc>
<p>
@@ -1065,7 +1065,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="reqids_new" arity="0" since="OTP @OTP-17784@"/>
+ <name name="reqids_new" arity="0" since="OTP 25.0"/>
<fsummary>Create a new empty request identifier collection.</fsummary>
<desc>
<p>
@@ -1095,7 +1095,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="reqids_size" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_size" arity="1" since="OTP 25.0"/>
<fsummary>Get size of a request identifier collection.</fsummary>
<desc>
<p>
@@ -1106,7 +1106,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="reqids_to_list" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_to_list" arity="1" since="OTP 25.0"/>
<fsummary>List a request identifiers.</fsummary>
<desc>
<p>
@@ -1171,7 +1171,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="send_request" arity="4" since="OTP @OTP-17784@"/>
+ <name name="send_request" arity="4" since="OTP 25.0"/>
<fsummary>Sends a request to a generic server.</fsummary>
<desc>
<p>
@@ -1377,7 +1377,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name name="wait_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="wait_response" arity="3" since="OTP 25.0"/>
<fsummary>Wait or poll for a response from a server.</fsummary>
<desc>
<p>
@@ -1505,7 +1505,7 @@ gen_server:abcast -----> Module:handle_cast/2
</func>
<func>
- <name since="OTP @OTP-17351@">Module:format_status(Status) -> NewStatus</name>
+ <name since="OTP 25.0">Module:format_status(Status) -> NewStatus</name>
<fsummary>Optional function for providing a term describing the
current <c>gen_server</c> status.</fsummary>
<type>
diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml
index 6711addc1c..398b32ae05 100644
--- a/lib/stdlib/doc/src/gen_statem.xml
+++ b/lib/stdlib/doc/src/gen_statem.xml
@@ -1831,7 +1831,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="check_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="check_response" arity="3" since="OTP 25.0"/>
<fsummary>Check if a message is a reply from a server.</fsummary>
<desc>
<p>
@@ -2050,7 +2050,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="receive_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="receive_response" arity="3" since="OTP 25.0"/>
<fsummary>Receive a response from a server.</fsummary>
<desc>
<p>
@@ -2164,7 +2164,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="reqids_add" arity="3" since="OTP @OTP-17784@"/>
+ <name name="reqids_add" arity="3" since="OTP 25.0"/>
<fsummary>Save a request identifier.</fsummary>
<desc>
<p>
@@ -2177,7 +2177,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="reqids_new" arity="0" since="OTP @OTP-17784@"/>
+ <name name="reqids_new" arity="0" since="OTP 25.0"/>
<fsummary>Create a new empty request identifier collection.</fsummary>
<desc>
<p>
@@ -2207,7 +2207,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="reqids_size" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_size" arity="1" since="OTP 25.0"/>
<fsummary>Get size of a request identifier collection.</fsummary>
<desc>
<p>
@@ -2218,7 +2218,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="reqids_to_list" arity="1" since="OTP @OTP-17784@"/>
+ <name name="reqids_to_list" arity="1" since="OTP 25.0"/>
<fsummary>List a request identifiers.</fsummary>
<desc>
<p>
@@ -2286,7 +2286,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="send_request" arity="4" since="OTP @OTP-17784@"/>
+ <name name="send_request" arity="4" since="OTP 25.0"/>
<fsummary>Sends a request to a generic server.</fsummary>
<desc>
<p>
@@ -2599,7 +2599,7 @@ handle_event(_, _, State, Data) ->
</func>
<func>
- <name name="wait_response" arity="3" since="OTP @OTP-17784@"/>
+ <name name="wait_response" arity="3" since="OTP 25.0"/>
<fsummary>Wait or poll for a response from a server.</fsummary>
<desc>
<p>
@@ -2914,7 +2914,7 @@ init(Args) -> erlang:error(not_implemented, [Args]).</pre>
</func>
<func>
- <name since="OTP @OTP-17351@">Module:format_status(Status) -> NewStatus</name>
+ <name since="OTP 25.0">Module:format_status(Status) -> NewStatus</name>
<fsummary>Optional function for providing a term describing the
current <c>gen_statem</c> status.</fsummary>
<type>
diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml
index 455f4295e4..46bdd34288 100644
--- a/lib/stdlib/doc/src/lists.xml
+++ b/lib/stdlib/doc/src/lists.xml
@@ -175,7 +175,7 @@
</func>
<func>
- <name name="enumerate" arity="1" since="OTP @OTP-17523@"/>
+ <name name="enumerate" arity="1" since="OTP 25.0"/>
<fsummary>Annotates elements with their index.</fsummary>
<desc>
<p>Returns <c><anno>List1</anno></c> with each element
@@ -196,7 +196,7 @@ enumerate(List) ->
</func>
<func>
- <name name="enumerate" arity="2" since="OTP @OTP-17523@"/>
+ <name name="enumerate" arity="2" since="OTP 25.0"/>
<fsummary>Annotates elements with their index.</fsummary>
<desc>
<p>Returns <c><anno>List1</anno></c> with each element
diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml
index 0eece83846..552dba7577 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,6 +31,375 @@
</header>
<p>This document describes the changes made to the STDLIB application.</p>
+<section><title>STDLIB 4.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Improve the Erlang code linter's check of unused types.</p>
+ <p>
+ Own Id: OTP-17370 Aux Id: GH-4784 </p>
+ </item>
+ <item>
+ <p>
+ Fix race condition in <seemfa
+ marker="stdlib:proc_lib#stop/3"><c>proc_lib:stop/3</c></seemfa>
+ where the process is not stopped when the timeout given
+ is very short.</p>
+ <p>
+ Own Id: OTP-17480 Aux Id: GH-4853 PR-4872 </p>
+ </item>
+ <item>
+ <p>Maps are now fully supported in by
+ <c>ms_transform</c>.</p>
+ <p>
+ Own Id: OTP-17518 Aux Id: GH-4915 </p>
+ </item>
+ <item>
+ <p>
+ Fix gen_server:call with the first argument as self() to
+ throw an error instead of failing with a timeout.</p>
+ <p>
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.</p>
+ <p>
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current process.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17544 Aux Id: PR-5008 </p>
+ </item>
+ <item>
+ <p>
+ erl_pp printed unary - and + operators with a space
+ between the operator and the operand. This is fixed by
+ not having any space in between.</p>
+ <p>
+ Own Id: OTP-17566 Aux Id: PR-5095, GH-5093 </p>
+ </item>
+ <item>
+ <p>
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no port
+ value or URI map with port => undefined).</p>
+ <p>
+ Remove redundant normalization from http_request module.</p>
+ <p>
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17627</p>
+ </item>
+ <item>
+ <p>
+ Fix reduction counting bug in <c>re:run</c> that caused
+ the function to yield too frequently when doing
+ <c>global</c> matches.</p>
+ <p>
+ Own Id: OTP-17661 Aux Id: PR-5165 </p>
+ </item>
+ <item>
+ <p>
+ Fix the memory value returned from
+ <c>ets:info(Tid,memory)</c> when the
+ <c>read_concurrency</c> option is used.</p>
+ <p>
+ Before this fix the memory used by the scheduler specific
+ lock cache lines was not counted towards the total. This
+ caused the returned memory usage to be very incorrect on
+ systems with many schedulers for tables with man locks.</p>
+ <p>
+ Own Id: OTP-17832 Aux Id: PR-5494 </p>
+ </item>
+ <item>
+ <p>
+ Avoid confusion by correcting the argument order in the
+ gen_event crash log printout.</p>
+ <p>
+ Own Id: OTP-17878</p>
+ </item>
+ <item>
+ <p>
+ Fixed <c>string:next_grapheme/1</c> to return an empty
+ binary in the tail for binary input for the last grapheme
+ cluster.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-18009 Aux Id: PR-5785 </p>
+ </item>
+ <item>
+ <p>
+ Fixed type specifications of the
+ <c>supervisor:sup_name/0</c> and
+ <c>supervisor:sup_ref/0</c> types.</p>
+ <p>
+ Own Id: OTP-18034 Aux Id: PR-4661, GH-4622 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Users can now configure ETS tables with the
+ <c>{write_concurrency, auto}</c> option. This option
+ forces tables to automatically change the number of locks
+ that are used at run-time depending on how much
+ concurrency is detected. The <c>{decentralized_counters,
+ true}</c> option is enabled by default when
+ <c>{write_concurrency, auto}</c> is active.</p>
+ <p>
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:</p>
+ <p>
+ https://erlang.org/bench/ets_bench_result_lock_config.html</p>
+ <p>
+ Own Id: OTP-15991 Aux Id: PR-5208 </p>
+ </item>
+ <item>
+ <p>
+ The <c>format_status/2</c> callback for
+ <c>gen_server</c>, <c>gen_statem</c> and <c>gen_event</c>
+ has been deprecated in favor of the new
+ <c>format_status/1</c> callback.</p>
+ <p>
+ The new callback adds the possibility to limit and change
+ many more things than the just the state, such as the
+ last received message, the reason for terminating and
+ more events specific to each type of behavior. See the
+ respective modules documentation for more details.</p>
+ <p>
+ Own Id: OTP-17351 Aux Id: GH-4673 PR-4952 </p>
+ </item>
+ <item>
+ <p>The <c>timer</c> module has been modernized and made
+ more efficient, which makes the timer server less
+ susceptible to being overloaded. The <c>timer:sleep/1</c>
+ function now accepts an arbitrarily large integer.</p>
+ <p>
+ Own Id: OTP-17481 Aux Id: PR-4811 </p>
+ </item>
+ <item>
+ <p>
+ Add <c>lists:enumerate/[1,2]</c>.</p>
+ <p>
+ Own Id: OTP-17523 Aux Id: PR-4928 </p>
+ </item>
+ <item>
+ <p>
+ The configuration files <seecom
+ marker="erts:erl"><c>.erlang</c></seecom>, <seeguide
+ marker="system/reference_manual:distributed"><c>.erlang.cookie</c></seeguide>
+ and <seeerl
+ marker="stdlib:beam_lib#.erlang.crypt"><c>.erlang.crypt</c></seeerl>
+ can now be located in the XDG Config Home directory.</p>
+ <p>
+ See the documentation for each file and
+ <c>filename:basedir/2</c> for more details.</p>
+ <p>
+ Own Id: OTP-17554 Aux Id: GH-5016 PR-5408 OTP-17821 </p>
+ </item>
+ <item>
+ <p>
+ Support <c>native</c> time unit in <c>calendar</c>
+ functions <c>system_time_to_rfc3339/2</c> and
+ <c>rfc3339_to_system_time</c>.</p>
+ <p>
+ Own Id: OTP-17592 Aux Id: ERIERL-663, PR-5243 </p>
+ </item>
+ <item>
+ <p>
+ The tagged tuple tests and fun-calls have been optimized
+ and are now a little bit cheaper than previously.</p>
+ <p>
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty tuples.</p>
+ <p>
+ Own Id: OTP-17608</p>
+ </item>
+ <item>
+ <p>
+ The signal queue benchmark in parallel_messages_SUITE and
+ the ETS benchmark in ets_SUITE have benchmark result
+ visualization HTML pages with "fill-screen" buttons to
+ make the graphs bigger. This button did not work as
+ intended before. When pressing the button for a graph,
+ the last graph got replaced with a bigger version and not
+ the one over the button. This is now fixed.</p>
+ <p>
+ Own Id: OTP-17630</p>
+ </item>
+ <item>
+ <p>
+ The new module <c>peer</c> supersedes the <c>slave</c>
+ module. The <c>slave</c> module is now deprecated and
+ will be removed in OTP 27.</p>
+ <p>
+ <c>peer</c> contains an extended and more robust API for
+ starting erlang nodes.</p>
+ <p>
+ Own Id: OTP-17720 Aux Id: PR-5162 </p>
+ </item>
+ <item>
+ <p>
+ This change introduces quote and unquote functions in
+ uri_string module - a replacement for deprecated encode
+ and decode functions from http_uri.</p>
+ <p>
+ Own Id: OTP-17778 Aux Id: GH-5368 </p>
+ </item>
+ <item>
+ <p>
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous <c>call</c> requests,
+ new functionality utilizing request identifier
+ collections have been introduced in <seetype
+ marker="kernel:erpc#request_id_collection"><c>erpc</c></seetype>,
+ <seetype
+ marker="stdlib:gen_server#request_id_collection"><c>gen_server</c></seetype>,
+ <seetype
+ marker="stdlib:gen_statem#request_id_collection"><c>gen_statem</c></seetype>,
+ and <seetype
+ marker="stdlib:gen_event#request_id_collection"><c>gen_event</c></seetype>.</p>
+ <p>
+ Own Id: OTP-17784 Aux Id: PR-5792 </p>
+ </item>
+ <item>
+ <p>
+ Update to the Unicode 14.0 specification.</p>
+ <p>
+ Own Id: OTP-17869 Aux Id: PR-5595 </p>
+ </item>
+ <item>
+ <p>
+ The following ets types have been renamed to a clearer
+ name: <c>tab/0</c> to <c>table/0</c> and
+ <c>comp_match_spec/0</c> to <c>compiled_match_spec/0</c>.</p>
+ <p>
+ The types <c>table_access/0</c> and <c>table_type/0</c>
+ have been exported.</p>
+ <p>
+ Own Id: OTP-17901 Aux Id: GH-4968 PR-5649 </p>
+ </item>
+ <item>
+ <p>
+ Add support for locating <c>.asn1</c> files to the
+ default search rules of <c>filelib:find_file/1</c> and
+ <c>filelib:find_source/1</c>.</p>
+ <p>
+ Own Id: OTP-17908 Aux Id: GH-5655 PR-5669 </p>
+ </item>
+ <item>
+ <p>Type specifications have been added to the
+ <c>gen_server</c>, and the documentation has been updated
+ to utilize this. </p><p>This surfaced a few type
+ violations that has been corrected in <c>global</c>,
+ <c>logger_olp</c> and <c>rpc</c>. </p>
+ <p>
+ Own Id: OTP-17915 Aux Id: PR-5751, GH-2375, GH-2690 </p>
+ </item>
+ <item>
+ <p>The non-local function handler for the <c>erl_eval</c>
+ can now be called with either two or three arguments.
+ When called with three arguments, the first argument is
+ the annotation for the node in the abstract format.</p>
+ <p>All errors during evaluation will now be passed
+ through <c>erlang:raise/3</c>. If the restricted shell is
+ active and it does not let <c>erlang:raise/3</c> through,
+ evaluation errors will be printed in less clear way. See
+ the documentation for restricted shell in
+ <c>shell</c>.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17925 Aux Id: PR-5631 </p>
+ </item>
+ <item>
+ <p>Added <c>filelib:ensure_path/1</c> that ensures that
+ all directories for the given path exists (unlike
+ <c>filelib:ensure_dir/1</c>, which will not create the
+ last segment of the path).</p>
+ <p>
+ Own Id: OTP-17953 Aux Id: PR-5621 </p>
+ </item>
+ <item>
+ <p>The functions <c>groups_from_list/2</c> and
+ <c>groups_from_list/3</c> have been added to the
+ <c>maps</c> module.</p>
+ <p>
+ Own Id: OTP-17969 Aux Id: PR-5588 </p>
+ </item>
+ <item>
+ <p>
+ <c>gen_server</c> has been refactored to throw more
+ readable exceptions when a callback returns bad values in
+ the <c>Timeout</c> field (<c>timeout() | 'hibernate' |
+ {'continue,_}</c>), and also to verify that argument in
+ the <c>gen_server:enter_loop/3,4,5</c> API function.</p>
+ <p>
+ Own Id: OTP-17974 Aux Id: GH-5683 </p>
+ </item>
+ <item>
+ <p>The functions <c>uniq/1</c> and <c>uniq/2</c> for
+ removing duplicates have been added to the <c>lists</c>
+ module.</p>
+ <p>
+ Own Id: OTP-17977 Aux Id: GH-5606, PR-5766 </p>
+ </item>
+ <item>
+ <p>
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and <c>+term</c>) to
+ <c>erlc</c> as well as with directives in the file.
+ Similar options can be used to <c>erl</c> for
+ enabling/disabling features allowed at runtime. The new
+ <c>maybe</c> expression (EEP-49) is fully supported as
+ the feature <c>maybe_expr</c>.</p>
+ <p>
+ Own Id: OTP-17988</p>
+ </item>
+ <item>
+ <p>The function <c>filename:safe_relative_path/1</c>,
+ which has been deprecated since OTP 25, has been removed.
+ Use <c>filelib:safe_relative_path/2</c> instead.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17991</p>
+ </item>
+ <item>
+ <p> Two ancient well-known PRNG:s have been added to the
+ <c>rand</c> module: <c>mcg35</c> and <c>lcg35</c>. These
+ are intended for applications that need really fast
+ pseudo-random numbers and are not sensitive to lesser
+ quality ones. </p><p> Two internal functions for the
+ <c>exsp</c> generator have also been exported so they can
+ be used outside the <c>rand</c> plug-in framework to
+ shave off some overhead. </p><p> The internal
+ <c>splitmix64</c> generator has also been exported which
+ can be useful for seeding other kinds of PRNG:s than its
+ own. </p>
+ <p>
+ Own Id: OTP-18011</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>STDLIB 3.17.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/stdlib/doc/src/peer.xml b/lib/stdlib/doc/src/peer.xml
index 6ac2c6b278..278b3f215e 100644
--- a/lib/stdlib/doc/src/peer.xml
+++ b/lib/stdlib/doc/src/peer.xml
@@ -31,7 +31,7 @@
<rev></rev>
<file>peer.xml</file>
</header>
- <module since="OTP @OTP-17720@">peer</module>
+ <module since="OTP 25.0">peer</module>
<modulesummary>Start and control linked Erlang nodes.
</modulesummary>
<description>
@@ -389,8 +389,8 @@
<funcs>
<func>
- <name name="call" arity="4" since="OTP @OTP-17720@"/>
- <name name="call" arity="5" since="OTP @OTP-17720@"/>
+ <name name="call" arity="4" since="OTP 25.0"/>
+ <name name="call" arity="5" since="OTP 25.0"/>
<fsummary>Evaluates a function call on a peer node.</fsummary>
<desc>
<p>
@@ -412,7 +412,7 @@
</func>
<func>
- <name name="cast" arity="4" since="OTP @OTP-17720@"/>
+ <name name="cast" arity="4" since="OTP 25.0"/>
<fsummary>Evaluates a function call on a peer node ignoring the result.</fsummary>
<desc>
<p>
@@ -430,7 +430,7 @@
</func>
<func>
- <name name="send" arity="3" since="OTP @OTP-17720@"/>
+ <name name="send" arity="3" since="OTP 25.0"/>
<fsummary>Sends a message to a process on the peer node.</fsummary>
<desc>
<p>
@@ -442,7 +442,7 @@
</func>
<func>
- <name name="get_state" arity="1" since="OTP @OTP-17720@"/>
+ <name name="get_state" arity="1" since="OTP 25.0"/>
<fsummary>Returns peer node state.</fsummary>
<desc>
<p>Returns the peer node state. Th initial state is <c>booting</c>; the node stays in that
@@ -453,7 +453,7 @@
</func>
<func>
- <name name="random_name" arity="0" since="OTP @OTP-17720@"/>
+ <name name="random_name" arity="0" since="OTP 25.0"/>
<fsummary>Creates a sufficiently unique node name.</fsummary>
<desc>
<p>
@@ -463,7 +463,7 @@
</func>
<func>
- <name name="random_name" arity="1" since="OTP @OTP-17720@"/>
+ <name name="random_name" arity="1" since="OTP 25.0"/>
<fsummary>Creates a sufficiently unique node name given a prefix.</fsummary>
<desc>
<p>
@@ -483,7 +483,7 @@
</func>
<func>
- <name name="start" arity="1" since="OTP @OTP-17720@"/>
+ <name name="start" arity="1" since="OTP 25.0"/>
<fsummary>Starts a peer node.</fsummary>
<desc>
<p>
@@ -496,7 +496,7 @@
</func>
<func>
- <name name="start_link" arity="0" since="OTP @OTP-17720@"/>
+ <name name="start_link" arity="0" since="OTP 25.0"/>
<fsummary>Starts a peer node, and links controlling process to caller process.</fsummary>
<desc>
<p>
@@ -507,7 +507,7 @@
</func>
<func>
- <name name="start_link" arity="1" since="OTP @OTP-17720@"/>
+ <name name="start_link" arity="1" since="OTP 25.0"/>
<fsummary>Starts a peer node, and links controlling process to caller process.</fsummary>
<desc>
<p>Starts a peer node in the same way as <seemfa marker="#start/1"><c>start/1</c></seemfa>,
@@ -528,7 +528,7 @@
</func>
<func>
- <name name="stop" arity="1" since="OTP @OTP-17720@"/>
+ <name name="stop" arity="1" since="OTP 25.0"/>
<fsummary>Stop controlling process and terminate peer node.</fsummary>
<type name="disconnect_timeout"/>
<desc>
diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src
index fbf0e73149..4b88864606 100644
--- a/lib/stdlib/src/stdlib.app.src
+++ b/lib/stdlib/src/stdlib.app.src
@@ -112,6 +112,6 @@
dets]},
{applications, [kernel]},
{env, []},
- {runtime_dependencies, ["sasl-3.0","kernel-@OTP-17720@","erts-12.0","crypto-4.5",
+ {runtime_dependencies, ["sasl-3.0","kernel-8.4","erts-12.0","crypto-4.5",
"compiler-5.0"]}
]}.
diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src
index a01e8c0e10..588fd446bb 100644
--- a/lib/stdlib/src/stdlib.appup.src
+++ b/lib/stdlib/src/stdlib.appup.src
@@ -19,25 +19,16 @@
%%
%% We allow upgrade from, and downgrade to all previous
%% versions from the following OTP releases:
-%% - OTP 22
%% - OTP 23
%% - OTP 24
+%% - OTP 25
%%
%% We also allow upgrade from, and downgrade to all
%% versions that have branched off from the above
%% stated previous versions.
%%
{"%VSN%",
- [{<<"^3\\.10$">>,[restart_new_emulator]},
- {<<"^3\\.10\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.11$">>,[restart_new_emulator]},
- {<<"^3\\.11\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.11\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.11\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.12$">>,[restart_new_emulator]},
- {<<"^3\\.12\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.12\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.13$">>,[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]},
@@ -54,20 +45,8 @@
{<<"^3\\.16\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.17$">>,[restart_new_emulator]},
{<<"^3\\.17\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.9$">>,[restart_new_emulator]},
- {<<"^3\\.9\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.9\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.9\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}],
- [{<<"^3\\.10$">>,[restart_new_emulator]},
- {<<"^3\\.10\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.11$">>,[restart_new_emulator]},
- {<<"^3\\.11\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.11\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.11\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.12$">>,[restart_new_emulator]},
- {<<"^3\\.12\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.12\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.13$">>,[restart_new_emulator]},
+ {<<"^3\\.17\\.1(?:\\.[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]},
@@ -84,7 +63,4 @@
{<<"^3\\.16\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.17$">>,[restart_new_emulator]},
{<<"^3\\.17\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.9$">>,[restart_new_emulator]},
- {<<"^3\\.9\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
- {<<"^3\\.9\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^3\\.9\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
+ {<<"^3\\.17\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk
index a38292f165..c9ee063987 100644
--- a/lib/stdlib/vsn.mk
+++ b/lib/stdlib/vsn.mk
@@ -1 +1 @@
-STDLIB_VSN = 3.17.1
+STDLIB_VSN = 4.0
diff --git a/lib/syntax_tools/doc/src/notes.xml b/lib/syntax_tools/doc/src/notes.xml
index 2f046e0791..32a4f6c667 100644
--- a/lib/syntax_tools/doc/src/notes.xml
+++ b/lib/syntax_tools/doc/src/notes.xml
@@ -32,6 +32,44 @@
<p>This document describes the changes made to the Syntax_Tools
application.</p>
+<section><title>Syntax_Tools 3.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>The <c>erl_syntax_lib:analyze_attribute/1</c> function
+ would return <c>{Name, {Name, Value}}</c> instead of
+ <c>{Name, Value}</c> (which is the documented return
+ value).</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17894 Aux Id: PR-5509 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and <c>+term</c>) to
+ <c>erlc</c> as well as with directives in the file.
+ Similar options can be used to <c>erl</c> for
+ enabling/disabling features allowed at runtime. The new
+ <c>maybe</c> expression (EEP-49) is fully supported as
+ the feature <c>maybe_expr</c>.</p>
+ <p>
+ Own Id: OTP-17988</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Syntax_Tools 2.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/syntax_tools/src/syntax_tools.app.src b/lib/syntax_tools/src/syntax_tools.app.src
index e122c36fb4..a6eeeba5dc 100644
--- a/lib/syntax_tools/src/syntax_tools.app.src
+++ b/lib/syntax_tools/src/syntax_tools.app.src
@@ -16,4 +16,4 @@
{applications, [stdlib]},
{env, []},
{runtime_dependencies,
- ["compiler-7.0","erts-9.0","kernel-5.0","stdlib-@OTP-17988@"]}]}.
+ ["compiler-7.0","erts-9.0","kernel-5.0","stdlib-4.0"]}]}.
diff --git a/lib/syntax_tools/vsn.mk b/lib/syntax_tools/vsn.mk
index 87a6cb0158..1f94985baa 100644
--- a/lib/syntax_tools/vsn.mk
+++ b/lib/syntax_tools/vsn.mk
@@ -1 +1 @@
-SYNTAX_TOOLS_VSN = 2.6
+SYNTAX_TOOLS_VSN = 3.0
diff --git a/lib/tools/doc/src/notes.xml b/lib/tools/doc/src/notes.xml
index 0680f28f71..84a6019e57 100644
--- a/lib/tools/doc/src/notes.xml
+++ b/lib/tools/doc/src/notes.xml
@@ -31,6 +31,22 @@
</header>
<p>This document describes the changes made to the Tools application.</p>
+<section><title>Tools 3.5.3</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Removed the previously undocumented and unsupported
+ <c>emem</c> tool.</p>
+ <p>
+ Own Id: OTP-17892 Aux Id: PR-5591 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Tools 3.5.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/tools/vsn.mk b/lib/tools/vsn.mk
index 4d10ec0d2a..2d58c23e21 100644
--- a/lib/tools/vsn.mk
+++ b/lib/tools/vsn.mk
@@ -1 +1 @@
-TOOLS_VSN = 3.5.2
+TOOLS_VSN = 3.5.3
diff --git a/lib/wx/doc/src/notes.xml b/lib/wx/doc/src/notes.xml
index 5a9632cd01..7b37b59420 100644
--- a/lib/wx/doc/src/notes.xml
+++ b/lib/wx/doc/src/notes.xml
@@ -32,6 +32,38 @@
<p>This document describes the changes made to the wxErlang
application.</p>
+<section><title>Wx 2.2</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Input for <c>configure</c> scripts adapted to
+ <c>autoconf</c> 2.71.</p>
+ <p>
+ Own Id: OTP-17414 Aux Id: PR-4967 </p>
+ </item>
+ <item>
+ <p>
+ Added <c>aux1Down</c> and <c>aux2Down</c> fields to the
+ <c>wxMouseState</c> record. Since one record have been
+ changed a recompilation of user code might be required.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-17950</p>
+ </item>
+ <item>
+ <p>
+ Add mac specific menubar functions.</p>
+ <p>
+ Own Id: OTP-18008 Aux Id: PR-5816 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Wx 2.1.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/wx/vsn.mk b/lib/wx/vsn.mk
index b3c8589b83..d7bd5566a3 100644
--- a/lib/wx/vsn.mk
+++ b/lib/wx/vsn.mk
@@ -1 +1 @@
-WX_VSN = 2.1.3
+WX_VSN = 2.2
diff --git a/lib/xmerl/doc/src/notes.xml b/lib/xmerl/doc/src/notes.xml
index fc8f686462..276d3dab57 100644
--- a/lib/xmerl/doc/src/notes.xml
+++ b/lib/xmerl/doc/src/notes.xml
@@ -32,6 +32,22 @@
<p>This document describes the changes made to the Xmerl application.</p>
+<section><title>Xmerl 1.3.29</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ Fixed misspellings in both documentation, comments and
+ code (internal data structures).</p>
+ <p>
+ Own Id: OTP-17935 Aux Id: PR-5590 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Xmerl 1.3.28</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/xmerl/vsn.mk b/lib/xmerl/vsn.mk
index 562e38ebc0..53f4ffa895 100644
--- a/lib/xmerl/vsn.mk
+++ b/lib/xmerl/vsn.mk
@@ -1 +1 @@
-XMERL_VSN = 1.3.28
+XMERL_VSN = 1.3.29
diff --git a/make/otp_version_tickets b/make/otp_version_tickets
index b8220e1a87..c6d8eddef3 100644
--- a/make/otp_version_tickets
+++ b/make/otp_version_tickets
@@ -1 +1,171 @@
-DEVELOPMENT
+OTP-15991
+OTP-15993
+OTP-16464
+OTP-16607
+OTP-16643
+OTP-16644
+OTP-16702
+OTP-16852
+OTP-16982
+OTP-17119
+OTP-17151
+OTP-17224
+OTP-17304
+OTP-17318
+OTP-17323
+OTP-17351
+OTP-17370
+OTP-17414
+OTP-17447
+OTP-17457
+OTP-17471
+OTP-17479
+OTP-17480
+OTP-17481
+OTP-17504
+OTP-17518
+OTP-17523
+OTP-17524
+OTP-17544
+OTP-17550
+OTP-17551
+OTP-17554
+OTP-17555
+OTP-17556
+OTP-17558
+OTP-17561
+OTP-17562
+OTP-17566
+OTP-17569
+OTP-17589
+OTP-17592
+OTP-17595
+OTP-17608
+OTP-17612
+OTP-17617
+OTP-17619
+OTP-17627
+OTP-17630
+OTP-17636
+OTP-17644
+OTP-17654
+OTP-17660
+OTP-17661
+OTP-17667
+OTP-17669
+OTP-17676
+OTP-17678
+OTP-17681
+OTP-17682
+OTP-17683
+OTP-17684
+OTP-17685
+OTP-17701
+OTP-17704
+OTP-17705
+OTP-17710
+OTP-17717
+OTP-17720
+OTP-17728
+OTP-17729
+OTP-17733
+OTP-17742
+OTP-17752
+OTP-17753
+OTP-17755
+OTP-17758
+OTP-17762
+OTP-17772
+OTP-17778
+OTP-17779
+OTP-17784
+OTP-17788
+OTP-17802
+OTP-17810
+OTP-17819
+OTP-17820
+OTP-17821
+OTP-17824
+OTP-17826
+OTP-17832
+OTP-17836
+OTP-17837
+OTP-17841
+OTP-17842
+OTP-17846
+OTP-17855
+OTP-17860
+OTP-17866
+OTP-17869
+OTP-17870
+OTP-17873
+OTP-17878
+OTP-17881
+OTP-17882
+OTP-17884
+OTP-17885
+OTP-17889
+OTP-17890
+OTP-17892
+OTP-17894
+OTP-17897
+OTP-17899
+OTP-17901
+OTP-17908
+OTP-17909
+OTP-17910
+OTP-17911
+OTP-17913
+OTP-17915
+OTP-17920
+OTP-17921
+OTP-17923
+OTP-17925
+OTP-17927
+OTP-17930
+OTP-17935
+OTP-17939
+OTP-17945
+OTP-17950
+OTP-17951
+OTP-17953
+OTP-17956
+OTP-17958
+OTP-17961
+OTP-17964
+OTP-17965
+OTP-17968
+OTP-17969
+OTP-17970
+OTP-17974
+OTP-17976
+OTP-17977
+OTP-17980
+OTP-17984
+OTP-17985
+OTP-17986
+OTP-17988
+OTP-17990
+OTP-17991
+OTP-17996
+OTP-17997
+OTP-17999
+OTP-18000
+OTP-18001
+OTP-18003
+OTP-18008
+OTP-18009
+OTP-18011
+OTP-18012
+OTP-18014
+OTP-18015
+OTP-18020
+OTP-18027
+OTP-18033
+OTP-18034
+OTP-18035
+OTP-18036
+OTP-18038
+OTP-18039
+OTP-18047
+OTP-18052