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