summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErlang/OTP <otp@erlang.org>2022-02-15 19:44:19 +0100
committerErlang/OTP <otp@erlang.org>2022-02-15 19:44:19 +0100
commit95f5a792610ed4c87457863cb03b047414ad4a14 (patch)
tree0d9c35ad1645d1b8a1295c4c7414a9ce9a30e2cd
parent7e702ac4b321c4870bdbbfc4c24ac3a5d5d572b5 (diff)
downloaderlang-95f5a792610ed4c87457863cb03b047414ad4a14.tar.gz
Prepare release
-rw-r--r--erts/doc/src/notes.xml410
-rw-r--r--erts/preloaded/src/erts.app.src2
-rw-r--r--erts/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.xml118
-rw-r--r--lib/compiler/src/compiler.app.src4
-rw-r--r--lib/compiler/vsn.mk2
-rw-r--r--lib/crypto/doc/src/notes.xml36
-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.xml74
-rw-r--r--lib/dialyzer/vsn.mk2
-rw-r--r--lib/edoc/doc/src/notes.xml39
-rw-r--r--lib/edoc/vsn.mk2
-rw-r--r--lib/eldap/doc/src/eldap.xml6
-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.xml61
-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.xml27
-rw-r--r--lib/jinterface/vsn.mk2
-rw-r--r--lib/kernel/doc/src/gen_sctp.xml8
-rw-r--r--lib/kernel/doc/src/gen_tcp.xml4
-rw-r--r--lib/kernel/doc/src/gen_udp.xml6
-rw-r--r--lib/kernel/doc/src/inet.xml6
-rw-r--r--lib/kernel/doc/src/notes.xml188
-rw-r--r--lib/kernel/src/kernel.app.src2
-rw-r--r--lib/kernel/src/kernel.appup.src28
-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.xml23
-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.xml16
-rw-r--r--lib/runtime_tools/doc/src/scheduler.xml4
-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.xml25
-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/gen_event.xml2
-rw-r--r--lib/stdlib/doc/src/gen_server.xml2
-rw-r--r--lib/stdlib/doc/src/gen_statem.xml2
-rw-r--r--lib/stdlib/doc/src/lists.xml4
-rw-r--r--lib/stdlib/doc/src/notes.xml243
-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.src36
-rw-r--r--lib/stdlib/vsn.mk2
-rw-r--r--lib/syntax_tools/doc/src/notes.xml19
-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.xml16
-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_tickets113
82 files changed, 1911 insertions, 142 deletions
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 78f971dba9..2cebcadcc3 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -31,6 +31,416 @@
</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>
+ </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>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>
+ Add 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>.</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 </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 JIT now does type-based optimizations based on
+ type information in the BEAM files.</p>
+ <p>
+ Own Id: OTP-17684 Aux Id: PR-5316 </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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 12.2.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 5f8a19f68a..94fd77b80d 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-3.13", "kernel-@OTP-17843@", "sasl-3.3"]}
+ {runtime_dependencies, ["stdlib-3.13", "kernel-8.3", "sasl-3.3"]}
]}.
%% vim: ft=erlang
diff --git a/erts/vsn.mk b/erts/vsn.mk
index f7bef92a70..e8c55b02ea 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -18,7 +18,7 @@
# %CopyrightEnd%
#
-VSN = 12.2.1
+VSN = 13.0
# Port number 4365 in 4.2
# Port number 4366 in 4.3
diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml
index 9864825f2a..c92cae9872 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</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/common_test/src/common_test.app.src b/lib/common_test/src/common_test.app.src
index fd6daf7d93..2ad6f8c6de 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.3",
"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 d6090aa544..4f8c4b55d2 100644
--- a/lib/common_test/vsn.mk
+++ b/lib/common_test/vsn.mk
@@ -1 +1 @@
-COMMON_TEST_VSN = 1.22
+COMMON_TEST_VSN = 1.23
diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml
index 7c4961be4f..6ffe7182f7 100644
--- a/lib/compiler/doc/src/notes.xml
+++ b/lib/compiler/doc/src/notes.xml
@@ -32,6 +32,124 @@
<p>This document describes the changes made to the Compiler
application.</p>
+<section><title>Compiler 8.1</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>
+ Add 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>.</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 </p>
+ </item>
+ <item>
+ <p>The JIT now does type-based optimizations based on
+ type information in the BEAM files.</p>
+ <p>
+ Own Id: OTP-17684 Aux Id: PR-5316 </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 has
+ 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,maybe_expr}</c> to the compiler. (The
+ exact option to use will change in the next release
+ candidate.) That option will not work if given inside the
+ module being compiled. We hope to lift that restriction
+ in the next release candidate.</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()</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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Compiler 8.0.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/compiler/src/compiler.app.src b/lib/compiler/src/compiler.app.src
index 5e8135bd1e..b2e82663f0 100644
--- a/lib/compiler/src/compiler.app.src
+++ b/lib/compiler/src/compiler.app.src
@@ -80,5 +80,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.3","erts-13.0",
+ "crypto-5.1"]}]}.
diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk
index a5a9fdb663..cb8a98d39a 100644
--- a/lib/compiler/vsn.mk
+++ b/lib/compiler/vsn.mk
@@ -1 +1 @@
-COMPILER_VSN = 8.0.4
+COMPILER_VSN = 8.1
diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml
index e503129511..f3bb88689e 100644
--- a/lib/crypto/doc/src/notes.xml
+++ b/lib/crypto/doc/src/notes.xml
@@ -31,6 +31,42 @@
</header>
<p>This document describes the changes made to the Crypto application.</p>
+<section><title>Crypto 5.1</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>
+ 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>
+ <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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Crypto 5.0.5</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk
index 3379d020be..57fb88cbb4 100644
--- a/lib/crypto/vsn.mk
+++ b/lib/crypto/vsn.mk
@@ -1 +1 @@
-CRYPTO_VSN = 5.0.5
+CRYPTO_VSN = 5.1
diff --git a/lib/debugger/doc/src/notes.xml b/lib/debugger/doc/src/notes.xml
index 3ca783ca1c..3aabe6112b 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</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/debugger/vsn.mk b/lib/debugger/vsn.mk
index 4498cd797a..bac7f4b6ae 100644
--- a/lib/debugger/vsn.mk
+++ b/lib/debugger/vsn.mk
@@ -1 +1 @@
-DEBUGGER_VSN = 5.2
+DEBUGGER_VSN = 5.3
diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml
index 6a295d4383..4a0deeebfa 100644
--- a/lib/dialyzer/doc/src/notes.xml
+++ b/lib/dialyzer/doc/src/notes.xml
@@ -32,6 +32,80 @@
<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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Dialyzer 4.4.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk
index f392cb763c..e353d02a05 100644
--- a/lib/dialyzer/vsn.mk
+++ b/lib/dialyzer/vsn.mk
@@ -1 +1 @@
-DIALYZER_VSN = 4.4.3
+DIALYZER_VSN = 5.0
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/eldap/doc/src/eldap.xml b/lib/eldap/doc/src/eldap.xml
index c4bcc59beb..bbbd2974f9 100644
--- a/lib/eldap/doc/src/eldap.xml
+++ b/lib/eldap/doc/src/eldap.xml
@@ -483,7 +483,7 @@
<desc> <p>Negate a filter.</p> </desc>
</func>
<func>
- <name since="OTP @OTP-17924@">paged_result_control(PageSize) -&gt;
+ <name since="OTP 25.0">paged_result_control(PageSize) -&gt;
{control, "1.2.840.113556.1.4.319", true, binary()}</name>
<fsummary>Create a paged result control tuple</fsummary>
<type>
@@ -502,7 +502,7 @@ Control = eldap:paged_result_control(50),
</desc>
</func>
<func>
- <name since="OTP @OTP-17924@">paged_result_control(PageSize, Cookie)
+ <name since="OTP 25.0">paged_result_control(PageSize, Cookie)
-&gt; {control, "1.2.840.113556.1.4.319", true,
binary()}</name>
<fsummary>Create a paged result control tuple with the given
@@ -531,7 +531,7 @@ Control2 = eldap:paged_result_control(PageSize, Cookie1),
</desc>
</func>
<func>
- <name since="OTP @OTP-17924@">paged_result_cookie(SearchResult)
+ <name since="OTP 25.0">paged_result_cookie(SearchResult)
-&gt; binary()</name>
<fsummary>Extract a cookie from search results for use in the
subsequent search.</fsummary>
diff --git a/lib/erl_docgen/doc/src/notes.xml b/lib/erl_docgen/doc/src/notes.xml
index 6aa1440596..0ef5dacc8c 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</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</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/erl_docgen/vsn.mk b/lib/erl_docgen/vsn.mk
index 12cc2eecf4..90715c9c82 100644
--- a/lib/erl_docgen/vsn.mk
+++ b/lib/erl_docgen/vsn.mk
@@ -1 +1 @@
-ERL_DOCGEN_VSN = 1.2
+ERL_DOCGEN_VSN = 1.3
diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml
index bcd942ea15..b67cb7c6dc 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.2</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.1</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk
index ae6f8e7935..28d350de7c 100644
--- a/lib/erl_interface/vsn.mk
+++ b/lib/erl_interface/vsn.mk
@@ -1,2 +1,2 @@
-EI_VSN = 5.1
+EI_VSN = 5.2
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 8a04dbf13e..9e086b4a69 100644
--- a/lib/inets/doc/src/notes.xml
+++ b/lib/inets/doc/src/notes.xml
@@ -33,7 +33,66 @@
<file>notes.xml</file>
</header>
- <section><title>Inets 7.5</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>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Inets 7.5</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 49df223017..8ba56d96a6 100644
--- a/lib/inets/vsn.mk
+++ b/lib/inets/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = inets
-INETS_VSN = 7.5
+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 d4f0c9e42c..62a6d715e7 100644
--- a/lib/jinterface/doc/src/notes.xml
+++ b/lib/jinterface/doc/src/notes.xml
@@ -31,6 +31,33 @@
</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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Jinterface 1.12.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/jinterface/vsn.mk b/lib/jinterface/vsn.mk
index f3e946db39..67802bef8c 100644
--- a/lib/jinterface/vsn.mk
+++ b/lib/jinterface/vsn.mk
@@ -1 +1 @@
-JINTERFACE_VSN = 1.12.1
+JINTERFACE_VSN = 1.13
diff --git a/lib/kernel/doc/src/gen_sctp.xml b/lib/kernel/doc/src/gen_sctp.xml
index 2aa97d07c2..9e2c30c114 100644
--- a/lib/kernel/doc/src/gen_sctp.xml
+++ b/lib/kernel/doc/src/gen_sctp.xml
@@ -128,7 +128,7 @@
</func>
<func>
- <name name="connect" arity="3" anchor="connect-sockaddr3" since="OTP @OTP-17455@"/>
+ <name name="connect" arity="3" anchor="connect-sockaddr3" since="OTP 25.0"/>
<fsummary>Same as <c>connect(Socket, SockAddr, Opts, infinity)</c>.</fsummary>
<desc>
<p>Same as <c>connect(<anno>Socket</anno>, <anno>SockAddr</anno>,
@@ -137,7 +137,7 @@
</func>
<func>
- <name name="connect" arity="4" clause_i="1" anchor="connect-sockaddr4" since="OTP @OTP-17455@"/>
+ <name name="connect" arity="4" clause_i="1" anchor="connect-sockaddr4" since="OTP 25.0"/>
<fsummary>Establish a new association for socket <c>Socket</c>, with a
peer (SCTP server socket).</fsummary>
<desc>
@@ -243,7 +243,7 @@ connect(Socket, Ip, Port>,
</func>
<func>
- <name name="connect_init" arity="3" anchor="connect_init-sockaddr3" since="OTP @OTP-17455@"/>
+ <name name="connect_init" arity="3" anchor="connect_init-sockaddr3" since="OTP 25.0"/>
<fsummary>Same as <c>connect_init(Socket, SockAddr, Opts, infinity)</c>.</fsummary>
<desc>
<p>Same as <c>connect_init(<anno>Socket</anno>, <anno>SockAddr</anno>,
@@ -252,7 +252,7 @@ connect(Socket, Ip, Port>,
</func>
<func>
- <name name="connect_init" arity="4" clause_i="1" anchor="connect_init-sockaddr4" since="OTP @OTP-17455@"/>
+ <name name="connect_init" arity="4" clause_i="1" anchor="connect_init-sockaddr4" since="OTP 25.0"/>
<fsummary>Same as <c>connect_init(Socket, Addr, Port, Opts, infinity)</c>..</fsummary>
<desc>
<p>This is conceptually the same as
diff --git a/lib/kernel/doc/src/gen_tcp.xml b/lib/kernel/doc/src/gen_tcp.xml
index 80fa78a3f8..a52c43bab6 100644
--- a/lib/kernel/doc/src/gen_tcp.xml
+++ b/lib/kernel/doc/src/gen_tcp.xml
@@ -294,8 +294,8 @@ do_recv(Sock, Bs) ->
</func>
<func>
- <name name="connect" arity="2" clause_i="1" since="OTP @OTP-17455@" anchor="connect-sockaddr2"/>
- <name name="connect" arity="3" clause_i="2" since="OTP @OTP-17455@" anchor="connect-sockaddr3"/>
+ <name name="connect" arity="2" clause_i="1" since="OTP 25.0" anchor="connect-sockaddr2"/>
+ <name name="connect" arity="3" clause_i="2" since="OTP 25.0" anchor="connect-sockaddr3"/>
<fsummary>Connect to a TCP port.</fsummary>
<desc>
<p>Connects to a server according to <c><anno>SockAddr</anno></c>.
diff --git a/lib/kernel/doc/src/gen_udp.xml b/lib/kernel/doc/src/gen_udp.xml
index c940cc2cdf..43a038895e 100644
--- a/lib/kernel/doc/src/gen_udp.xml
+++ b/lib/kernel/doc/src/gen_udp.xml
@@ -119,7 +119,7 @@
</func>
<func>
- <name name="connect" arity="2" since="OTP @OTP-17455@" anchor="connect-sockaddr"/>
+ <name name="connect" arity="2" since="OTP 25.0" anchor="connect-sockaddr"/>
<fsummary>Connect a UDP port.</fsummary>
<desc>
<p>Connecting a UDP socket only means storing the specified
@@ -142,7 +142,7 @@
</func>
<func>
- <name name="connect" arity="3" since="OTP @OTP-17455@" anchor="connect-addr-port"/>
+ <name name="connect" arity="3" since="OTP 25.0" anchor="connect-addr-port"/>
<fsummary>Connect a UDP port.</fsummary>
<desc>
<p>Connecting a UDP socket only means storing the specified
@@ -339,7 +339,7 @@
</func>
<func>
- <name name="send" arity="2" since="OTP @OTP-17455@" anchor="send-2"/>
+ <name name="send" arity="2" since="OTP 25.0" anchor="send-2"/>
<fsummary>Send a packet on a connected socket.</fsummary>
<desc>
<p>
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/notes.xml b/lib/kernel/doc/src/notes.xml
index 2f0cc44d9b..13bcdc59c1 100644
--- a/lib/kernel/doc/src/notes.xml
+++ b/lib/kernel/doc/src/notes.xml
@@ -31,6 +31,194 @@
</header>
<p>This document describes the changes made to the Kernel application.</p>
+<section><title>Kernel 8.3</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>
+ </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>
+ <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>
+ 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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Kernel 8.2</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 388a944955..1e261eb295 100644
--- a/lib/kernel/src/kernel.app.src
+++ b/lib/kernel/src/kernel.app.src
@@ -156,6 +156,6 @@
{prevent_overlapping_partitions, true}
]},
{mod, {kernel, []}},
- {runtime_dependencies, ["erts-@OTP-17843@", "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 116a45cddc..00414eb59e 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]},
@@ -53,15 +46,10 @@
{<<"^8\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^8\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^8\\.1\\.3(?:\\.[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\\.1\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^8\\.2$">>,[restart_new_emulator]},
+ {<<"^8\\.2\\.0(?:\\.[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]},
@@ -79,4 +67,6 @@
{<<"^8\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^8\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^8\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
- {<<"^8\\.1\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
+ {<<"^8\\.1\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
+ {<<"^8\\.2$">>,[restart_new_emulator]},
+ {<<"^8\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk
index cb2767987f..ac90eb0901 100644
--- a/lib/kernel/vsn.mk
+++ b/lib/kernel/vsn.mk
@@ -1 +1 @@
-KERNEL_VSN = 8.2
+KERNEL_VSN = 8.3
diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml
index 1d981f18e0..dab72080fb 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.2</title>
+ <section><title>Megaco 4.3</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.2</title>
<section><title>Improvements and New Features</title>
<list>
diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk
index 5283d6cf40..d1fd7c372a 100644
--- a/lib/megaco/vsn.mk
+++ b/lib/megaco/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = megaco
-MEGACO_VSN = 4.2
+MEGACO_VSN = 4.3
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 14cf0884d7..46faaa54e1 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.1</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.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/mnesia/vsn.mk b/lib/mnesia/vsn.mk
index e656522732..a7e13fc26d 100644
--- a/lib/mnesia/vsn.mk
+++ b/lib/mnesia/vsn.mk
@@ -1 +1 @@
-MNESIA_VSN = 4.20.1
+MNESIA_VSN = 4.21
diff --git a/lib/observer/doc/src/notes.xml b/lib/observer/doc/src/notes.xml
index 91e682026a..67647627b1 100644
--- a/lib/observer/doc/src/notes.xml
+++ b/lib/observer/doc/src/notes.xml
@@ -32,6 +32,29 @@
<p>This document describes the changes made to the Observer
application.</p>
+<section><title>Observer 2.11</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>Observer 2.10.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/observer/vsn.mk b/lib/observer/vsn.mk
index 54b5902448..8f09233e21 100644
--- a/lib/observer/vsn.mk
+++ b/lib/observer/vsn.mk
@@ -1 +1 @@
-OBSERVER_VSN = 2.10.1
+OBSERVER_VSN = 2.11
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 d90ff5acf2..77d44a7d33 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 8199277e25..2a5f965c9e 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.12</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.11.3</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk
index 262e927fce..9d4f2c4f6a 100644
--- a/lib/public_key/vsn.mk
+++ b/lib/public_key/vsn.mk
@@ -1 +1 @@
-PUBLIC_KEY_VSN = 1.11.3
+PUBLIC_KEY_VSN = 1.12
diff --git a/lib/runtime_tools/doc/src/notes.xml b/lib/runtime_tools/doc/src/notes.xml
index c08fb06205..8f067fe629 100644
--- a/lib/runtime_tools/doc/src/notes.xml
+++ b/lib/runtime_tools/doc/src/notes.xml
@@ -32,6 +32,22 @@
<p>This document describes the changes made to the Runtime_Tools
application.</p>
+<section><title>Runtime_Tools 1.18</title>
+
+ <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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Runtime_Tools 1.17</title>
<section><title>Improvements and New Features</title>
diff --git a/lib/runtime_tools/doc/src/scheduler.xml b/lib/runtime_tools/doc/src/scheduler.xml
index 6590c7d63b..329beb09df 100644
--- a/lib/runtime_tools/doc/src/scheduler.xml
+++ b/lib/runtime_tools/doc/src/scheduler.xml
@@ -127,7 +127,7 @@
<funcs>
<func>
- <name name="get_sample" arity="0" since="OTP @OTP-17830@"/>
+ <name name="get_sample" arity="0" since="OTP 25.0"/>
<fsummary>Get scheduler utilization sample.</fsummary>
<desc>
<p>Returns a scheduler utilization sample for normal and dirty-cpu
@@ -138,7 +138,7 @@
</func>
<func>
- <name name="get_sample_all" arity="0" since="OTP @OTP-17830@"/>
+ <name name="get_sample_all" arity="0" since="OTP 25.0"/>
<fsummary>Get scheduler utilization sample.</fsummary>
<desc>
<p>Return a scheduler utilization sample for all schedulers,
diff --git a/lib/runtime_tools/vsn.mk b/lib/runtime_tools/vsn.mk
index 1cfbda69be..3e7545b8c5 100644
--- a/lib/runtime_tools/vsn.mk
+++ b/lib/runtime_tools/vsn.mk
@@ -1 +1 @@
-RUNTIME_TOOLS_VSN = 1.17
+RUNTIME_TOOLS_VSN = 1.18
diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml
index a6369b1205..5f39a36bd2 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.1</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 03c1c35254..37381f31b5 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 f536696fc2..5212156e64 100644
--- a/lib/sasl/src/sasl.appup.src
+++ b/lib/sasl/src/sasl.appup.src
@@ -19,32 +19,26 @@
%%
%% 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]}],
- [{<<"^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\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^4\\.1\\.1(?:\\.[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\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
+ {<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}.
diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk
index 17e5664e32..0fbf91bf53 100644
--- a/lib/sasl/vsn.mk
+++ b/lib/sasl/vsn.mk
@@ -1 +1 @@
-SASL_VSN = 4.1.1
+SASL_VSN = 4.2
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml
index fa3e2355a3..ce1f1e46ba 100644
--- a/lib/snmp/doc/src/notes.xml
+++ b/lib/snmp/doc/src/notes.xml
@@ -34,7 +34,31 @@
</header>
- <section><title>SNMP 5.11</title>
+ <section><title>SNMP 5.12</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.11</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk
index 7d8bc57a67..c448034840 100644
--- a/lib/snmp/vsn.mk
+++ b/lib/snmp/vsn.mk
@@ -19,6 +19,6 @@
# %CopyrightEnd%
APPLICATION = snmp
-SNMP_VSN = 5.11
+SNMP_VSN = 5.12
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 3e09981938..bdf8e8114a 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</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk
index ccfe3b3aaf..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
+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 cf25f19277..e2e6a7a5d2 100644
--- a/lib/ssl/doc/src/notes.xml
+++ b/lib/ssl/doc/src/notes.xml
@@ -27,6 +27,31 @@
</header>
<p>This document describes the changes made to the SSL application.</p>
+<section><title>SSL 10.7</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <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>
+ </list>
+ </section>
+
+</section>
+
<section><title>SSL 10.6.1</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..aa609e389f 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.3",
"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 910118fa9a..00b5177e97 100644
--- a/lib/ssl/vsn.mk
+++ b/lib/ssl/vsn.mk
@@ -1 +1 @@
-SSL_VSN = 10.6.1
+SSL_VSN = 10.7
diff --git a/lib/stdlib/doc/src/erl_pp.xml b/lib/stdlib/doc/src/erl_pp.xml
index c1a9230b6e..5195054aaa 100644
--- a/lib/stdlib/doc/src/erl_pp.xml
+++ b/lib/stdlib/doc/src/erl_pp.xml
@@ -156,7 +156,7 @@
</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/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml
index 636b749ace..1de8b651cf 100644
--- a/lib/stdlib/doc/src/gen_event.xml
+++ b/lib/stdlib/doc/src/gen_event.xml
@@ -838,7 +838,7 @@ gen_event:stop -----> Module:terminate/2
</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 dae31faf48..716fac06f5 100644
--- a/lib/stdlib/doc/src/gen_server.xml
+++ b/lib/stdlib/doc/src/gen_server.xml
@@ -788,7 +788,7 @@ gen_server:abcast -----> Module:handle_cast/2
</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 3e88b19100..ce06db02de 100644
--- a/lib/stdlib/doc/src/gen_statem.xml
+++ b/lib/stdlib/doc/src/gen_statem.xml
@@ -2480,7 +2480,7 @@ init(Args) -> erlang:error(not_implemented, [Args]).</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 063c9d19a8..49f7b66dfe 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 57cbdcc925..e0eb91f629 100644
--- a/lib/stdlib/doc/src/notes.xml
+++ b/lib/stdlib/doc/src/notes.xml
@@ -31,6 +31,249 @@
</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>
+ 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>
+ </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>
+ 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>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>
+ </list>
+ </section>
+
+</section>
+
<section><title>STDLIB 3.17</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 a5b513d810..d67385157f 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>
@@ -384,8 +384,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>
@@ -407,7 +407,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>
@@ -425,7 +425,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>
@@ -437,7 +437,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
@@ -448,7 +448,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>
@@ -458,7 +458,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>
@@ -478,7 +478,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>
@@ -491,7 +491,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>
@@ -502,7 +502,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>,
@@ -523,7 +523,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>
<desc>
<p>Depending on the <c>shutdown</c> option used to start the peer,
diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src
index 9962fef931..3a905ec8fb 100644
--- a/lib/stdlib/src/stdlib.app.src
+++ b/lib/stdlib/src/stdlib.app.src
@@ -111,6 +111,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.3","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 47a5a16fa3..8fbdfdac19 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]},
@@ -52,20 +43,9 @@
{<<"^3\\.16$">>,[restart_new_emulator]},
{<<"^3\\.16\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.16\\.1(?:\\.[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$">>,[restart_new_emulator]},
+ {<<"^3\\.17\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}],
+ [{<<"^3\\.13$">>,[restart_new_emulator]},
{<<"^3\\.13\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.13\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
{<<"^3\\.13\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]},
@@ -80,7 +60,5 @@
{<<"^3\\.16$">>,[restart_new_emulator]},
{<<"^3\\.16\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]},
{<<"^3\\.16\\.1(?:\\.[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$">>,[restart_new_emulator]},
+ {<<"^3\\.17\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}.
diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk
index 147d565583..c9ee063987 100644
--- a/lib/stdlib/vsn.mk
+++ b/lib/stdlib/vsn.mk
@@ -1 +1 @@
-STDLIB_VSN = 3.17
+STDLIB_VSN = 4.0
diff --git a/lib/syntax_tools/doc/src/notes.xml b/lib/syntax_tools/doc/src/notes.xml
index 2f046e0791..65ca9277f3 100644
--- a/lib/syntax_tools/doc/src/notes.xml
+++ b/lib/syntax_tools/doc/src/notes.xml
@@ -32,6 +32,25 @@
<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>
+
<section><title>Syntax_Tools 2.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
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 8ad5269a05..4a647c6162 100644
--- a/lib/wx/doc/src/notes.xml
+++ b/lib/wx/doc/src/notes.xml
@@ -32,6 +32,22 @@
<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>
+ </list>
+ </section>
+
+</section>
+
<section><title>Wx 2.1.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/lib/wx/vsn.mk b/lib/wx/vsn.mk
index 6dfa80406a..d7bd5566a3 100644
--- a/lib/wx/vsn.mk
+++ b/lib/wx/vsn.mk
@@ -1 +1 @@
-WX_VSN = 2.1.1
+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..c2387127ca 100644
--- a/make/otp_version_tickets
+++ b/make/otp_version_tickets
@@ -1 +1,112 @@
-DEVELOPMENT
+OTP-15991
+OTP-16607
+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-17471
+OTP-17479
+OTP-17480
+OTP-17481
+OTP-17504
+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-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-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-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-17909
+OTP-17910
+OTP-17911
+OTP-17920
+OTP-17921
+OTP-17923
+OTP-17925
+OTP-17927
+OTP-17930
+OTP-17935