From 2f361f653d649d002a26d1d2a5c8c3efd1303832 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Mon, 15 May 2023 12:36:07 +0200 Subject: Prepare release --- erts/doc/src/erl_ext_dist.xml | 2 +- erts/doc/src/erl_nif.xml | 8 +- erts/doc/src/erlang.xml | 6 +- erts/doc/src/notes.xml | 564 ++++++++++++++++++++++++++++++++++ erts/emulator/beam/erl_nif.h | 2 +- erts/preloaded/src/erts.app.src | 2 +- erts/vsn.mk | 2 +- lib/asn1/doc/src/notes.xml | 40 +++ lib/asn1/vsn.mk | 2 +- lib/common_test/doc/src/notes.xml | 44 +++ lib/common_test/vsn.mk | 2 +- lib/compiler/doc/src/notes.xml | 117 +++++++ lib/compiler/src/compiler.app.src | 2 +- lib/compiler/vsn.mk | 2 +- lib/crypto/doc/src/notes.xml | 71 +++++ lib/crypto/vsn.mk | 2 +- lib/dialyzer/doc/src/notes.xml | 168 ++++++++++ lib/dialyzer/src/dialyzer.app.src | 2 +- lib/dialyzer/vsn.mk | 2 +- lib/diameter/doc/src/notes.xml | 50 +++ lib/diameter/src/diameter.app.src | 2 +- lib/diameter/vsn.mk | 2 +- lib/erl_docgen/doc/src/notes.xml | 28 +- lib/erl_docgen/vsn.mk | 2 +- lib/erl_interface/doc/src/notes.xml | 50 +++ lib/erl_interface/vsn.mk | 2 +- lib/et/doc/src/notes.xml | 16 + lib/et/vsn.mk | 2 +- lib/ftp/doc/src/notes.xml | 48 ++- lib/ftp/vsn.mk | 2 +- lib/inets/doc/src/notes.xml | 77 ++++- lib/inets/src/inets_app/inets.app.src | 4 +- lib/inets/vsn.mk | 2 +- lib/jinterface/doc/src/notes.xml | 35 +++ lib/jinterface/vsn.mk | 2 +- lib/kernel/doc/src/application.xml | 4 +- lib/kernel/doc/src/code.xml | 22 +- lib/kernel/doc/src/disk_log.xml | 2 +- lib/kernel/doc/src/inet.xml | 6 +- lib/kernel/doc/src/notes.xml | 512 ++++++++++++++++++++++++++++++ lib/kernel/src/kernel.app.src | 2 +- lib/kernel/src/kernel.appup.src | 32 +- lib/kernel/vsn.mk | 2 +- lib/megaco/doc/src/notes.xml | 20 +- lib/megaco/vsn.mk | 2 +- lib/mnesia/doc/src/notes.xml | 26 +- lib/mnesia/src/mnesia.app.src | 2 +- lib/mnesia/vsn.mk | 2 +- lib/observer/doc/src/notes.xml | 28 ++ lib/observer/src/observer.app.src | 4 +- lib/observer/vsn.mk | 2 +- lib/odbc/doc/src/notes.xml | 18 +- lib/odbc/vsn.mk | 2 +- lib/os_mon/doc/src/disksup.xml | 4 +- lib/os_mon/doc/src/notes.xml | 52 ++++ lib/os_mon/src/os_mon.app.src | 2 +- lib/os_mon/vsn.mk | 2 +- lib/parsetools/doc/src/notes.xml | 15 + lib/parsetools/vsn.mk | 2 +- lib/public_key/doc/src/notes.xml | 21 ++ lib/public_key/vsn.mk | 2 +- lib/reltool/doc/src/notes.xml | 41 ++- lib/reltool/src/reltool.app.src | 6 +- lib/reltool/vsn.mk | 2 +- lib/runtime_tools/doc/src/notes.xml | 65 ++++ lib/runtime_tools/vsn.mk | 2 +- lib/sasl/doc/src/notes.xml | 17 + lib/sasl/src/sasl.appup.src | 22 +- lib/sasl/vsn.mk | 2 +- lib/snmp/doc/src/notes.xml | 20 +- lib/snmp/src/app/snmp.app.src | 2 +- lib/snmp/vsn.mk | 2 +- lib/ssh/doc/src/notes.xml | 44 +++ lib/ssh/src/ssh.app.src | 6 +- lib/ssh/vsn.mk | 2 +- lib/ssl/doc/src/notes.xml | 202 ++++++++++++ lib/ssl/doc/src/ssl.xml | 2 +- lib/ssl/src/ssl.app.src | 4 +- lib/ssl/vsn.mk | 2 +- lib/stdlib/doc/src/base64.xml | 12 +- lib/stdlib/doc/src/binary.xml | 2 +- lib/stdlib/doc/src/edlin_expand.xml | 6 +- lib/stdlib/doc/src/ets.xml | 2 +- lib/stdlib/doc/src/lists.xml | 10 +- lib/stdlib/doc/src/math.xml | 2 +- lib/stdlib/doc/src/notes.xml | 445 +++++++++++++++++++++++++++ lib/stdlib/doc/src/shell.xml | 10 +- lib/stdlib/doc/src/timer.xml | 8 +- lib/stdlib/doc/src/zip.xml | 2 +- lib/stdlib/src/stdlib.app.src | 2 +- lib/stdlib/src/stdlib.appup.src | 28 +- lib/stdlib/vsn.mk | 2 +- lib/syntax_tools/doc/src/notes.xml | 15 + lib/syntax_tools/vsn.mk | 2 +- lib/tftp/doc/src/notes.xml | 20 +- lib/tftp/src/tftp.app.src | 2 +- lib/tftp/vsn.mk | 2 +- lib/tools/doc/src/notes.xml | 21 ++ lib/tools/vsn.mk | 2 +- lib/wx/doc/src/notes.xml | 23 ++ lib/wx/src/wx.app.src | 2 +- lib/wx/vsn.mk | 2 +- make/otp_version_tickets | 187 ++++++++++- system/doc/efficiency_guide/maps.xml | 4 +- 104 files changed, 3226 insertions(+), 182 deletions(-) diff --git a/erts/doc/src/erl_ext_dist.xml b/erts/doc/src/erl_ext_dist.xml index 712c30afc0..ef431723b4 100644 --- a/erts/doc/src/erl_ext_dist.xml +++ b/erts/doc/src/erl_ext_dist.xml @@ -1457,7 +1457,7 @@ intentionally forged encoding on the local external term format.

- LOCAL_EXT was introduced in OTP @OTP-18477@. + LOCAL_EXT was introduced in OTP 26.0.

diff --git a/erts/doc/src/erl_nif.xml b/erts/doc/src/erl_nif.xml index 1be152b601..befe198630 100644 --- a/erts/doc/src/erl_nif.xml +++ b/erts/doc/src/erl_nif.xml @@ -1647,7 +1647,7 @@ enif_free_iovec(iovec);]]> - intenif_get_string_length(ErlNifEnv *env, + intenif_get_string_length(ErlNifEnv *env, ERL_NIF_TERM list, unsigned *len, ErlNifCharEncoding encoding) Get the length of a C-string list. @@ -2395,7 +2395,7 @@ enif_inspect_iovec(env, max_elements, term, &tail, &iovec); - intenif_make_new_atom(ErlNifEnv *env, + intenif_make_new_atom(ErlNifEnv *env, const char *name, ERL_NIF_TERM *atom, ErlNifCharEncoding encoding) Create a new or existing atom term. @@ -2412,7 +2412,7 @@ enif_inspect_iovec(env, max_elements, term, &tail, &iovec); - intenif_make_new_atom_len(ErlNifEnv *env, + intenif_make_new_atom_len(ErlNifEnv *env, const char *name, size_t len, ERL_NIF_TERM *atom, ErlNifCharEncoding encoding) Create a new or existing atom term. @@ -3528,7 +3528,7 @@ if (retval & ERL_NIF_SELECT_STOP_CALLED) { - + intenif_set_option(ErlNifEnv *env, ErlNifOption opt, ...) diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index d7fa7b8149..76d69ee82a 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -3064,9 +3064,9 @@ os_prompt%

- Runtime systems prior to OTP @OTP-17771@ called all installed + Runtime systems prior to OTP 26.0 called all installed atexit/on_exit callbacks also when flush - was disabled, but as of OTP @OTP-17771@ this is no longer the case. + was disabled, but as of OTP 26.0 this is no longer the case.

@@ -11984,7 +11984,7 @@ hello This option cannot be combined with the local option.

- local + local

diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index 1f372823e8..c9316d644c 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -31,6 +31,570 @@

This document describes the changes made to the ERTS application.

+
Erts 14.0 + +
Fixed Bugs and Malfunctions + + +

If a local fun was called while reloading the + exact same module that defined said fun, there + was a small window in which the call would land in code + that was yet to be fully loaded.

+

+ Own Id: OTP-18016

+
+ +

+ Fix the TLS distribution to work when starting Erlang in + embedded mode and a connection is done before kernel is + fully started.

+

+ Own Id: OTP-18248 Aux Id: PR-6227 GH-6085

+
+ +

+ erl -remsh has been improved to provide better + error reasons and work when using a shell without + terminal support (that is an "oldshell").

+

+ Own Id: OTP-18271 Aux Id: PR-6279

+
+ +

+ Fix so that -fno-omit-frame-pointer is applied to + all of the Erlang VM when using the JIT so that tools, + such as perf, can crawl the process stacks.

+

+ Own Id: OTP-18274 Aux Id: PR-6048

+
+ +

+ Compilation server now support unicode paths in + compilation server for filesystems that are encoded with + unicode.

+

+ Own Id: OTP-18277 Aux Id: PR-6306

+
+ +

Reintroduced the optimization that turned anonymous + functions without free variables into literals + (OTP-15195). This optimization was lost during + refactoring in OTP 24.

Alongside this fix, we plan + to remove the "fun creator pid" feature in OTP 27. See + Upcoming + Potential Incompatibilities for more + details.

+

+ Own Id: OTP-18498

+
+ +

Fixed a crash during tracing on certain platforms that + cannot use the machine stack for Erlang code (mainly + OpenBSD and Linux with musl).

+

+ Own Id: OTP-18561

+
+
+
+ + +
Improvements and New Features + + +

+ The enif_set_option() + function has been introduced into the NIF API. It can be + used in order to set the ERL_NIF_OPT_DELAY_HALT + and/or ERL_NIF_OPT_ON_HALT + options with which one can synchronize halt of the + runtime system with flushing enabled and execution of + NIFs. Halt of the + runtime system without flushing enabled, + now terminates the runtime system without execution of + atexit/on_exit handlers that may have been + installed into the runtime system which might be + considered a potential incompatibility.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-17771 Aux Id: GH-5325, PR-6370

+
+ +

The TTY/terminal subsystem has been rewritten by + moving more code to Erlang from the old linked-in driver + and implementing all the I/O primitives needed in a NIF + instead.

On Unix platforms the user should not + notice a lot of difference, besides better handling of + unicode characters and fixing of some long standing bugs. +

Windows users will notice that erl.exe has the + same functionality as a normal Unix shell and that + werl.exe has been removed and replaced with a symlink to + erl.exe. This makes the Windows Erlang terminal + experience identical to that of Unix.

The + re-write brings with it a number of bug fixes and feature + additions:

The TTY is now reset when + Erlang exits, fixing zsh to not break when terminating an + Erlang session. standard_error now + uses the same unicode mode as standard_io. + Hitting backspace when searching the shell history + with an empty search string no longer breaks the + shell. Tab expansion now works on remote + nodes started using the JCL interface. It is + now possible to configure the shell slogan and the + session slogans (that is the texts that appear when you + start an Erlang shell). See the kernel documentation for + more details. Added shell:start_interactive + for starting the interactive shell from a non-interactive + Erlang session (for example an escript). On + Windows, when starting in detached mode the standard + handler are now set to nul devices instead of + being unset. Standard I/O now always + defaults to unicode mode if supported. Previously + the default was latin1 if the runtime system had + been started with -oldshell or -noshell + (for example in an escript). To send raw bytes + over standard out, one now explicitly has to specify + io:setopts(standard_io, [{encoding, latin1}]). + +

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343 + GH-4225

+
+ +

Add support for socket on Windows.

+ Pre release status. Error codes not + finalized. No explicit support for Windows + specific options (socket options, flags for read and + write). New async api for Windows + (completion). See the Asynchronous calls chapter + in the (Socket Usage) Users Guide. To ensure + platform independence, gen_tcp and gen_udp is + intended to be used (not yet updated). + +

+ Own Id: OTP-18029

+
+ +

+ Updated configure cache for Windows. This makes configure + run faster on Windows as many more checks are cached.

+

+ Own Id: OTP-18053 Aux Id: PR-6101

+
+ +

Optimized record updates.

+

+ Own Id: OTP-18126 Aux Id: PR-6033

+
+ +

Optimized internal hash routines.

+

+ Own Id: OTP-18131

+
+ +

As announced when OTP 25 was released, multi + time warp mode is now enabled by default. This + assumes that all code executing on the system is + time + warp safe.

If you have old code in + the system that is not time warp safe, you now explicitly + need to start the system in no time + warp mode (or singe + time warp mode if it is partially time warp + safe) in order to avoid problems. When starting the + system in no time warp mode, the system behaves as it did + prior to the introduction of the extended time + functionality introduced in OTP 18.

If you have + code that is not time warp safe, you are strongly + encouraged to change this so that you can use multi time + warp mode. Compared to no time warp mode, multi time warp + mode improves scalability and performance as well as + accuracy and precision of time measurements.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18135 Aux Id: GH-4965, PR-6046

+
+ +

There are several new optimization for binary syntax + in the JIT:

Creation and matching of + binaries with segments of fixed sizes have been + optimized. Creation and matching of UTF-8 + segments have been optimized. Appending to + binaries has been optimized. +

+ Own Id: OTP-18137 Aux Id: PR-6259, PR-6404, PR-6576, + PR-6804

+
+ +

As announced since the release of OTP 24, support + for:

version 4 node container types + in the external term format are now mandatory. That is, + references supporting up to 5 32-bit integer identifiers, + and process and port identifiers with support for 64-bit + data storage. The distribution flag DFLAG_V4_NC + is therefor now also mandatory. OTP has since OTP 24 + supported this. Also note that the external format + produced by term_to_binary() and + term_to_iovec() will unconditionally produce pids, + ports, and references supporting this larger format. +

the new + link protocol introduced in OTP 23.3 is now + mandatory. The distribution flag DFLAG_UNLINK_ID + is therefor now also mandatory.

+

Due to the above, OTP 26 nodes will refuse to connect + to OTP nodes from releases prior to OTP 24.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18140 Aux Id: PR-6072

+
+ +

Optimization of process + aliases made possible now that support for + version + 4 node container types in the external term + format is mandatory.

+

+ Own Id: OTP-18141 Aux Id: OTP-18140, PR-6073

+
+ +

The compiler and JIT now generate better code for + creation of small maps where all keys are literals known + at compile time.

+

+ Own Id: OTP-18185 Aux Id: GH-6139

+
+ +

+ When erl -eval fails to execute a command, an + error description is printed to standard_error.

+

+ Own Id: OTP-18227 Aux Id: PR-6254

+
+ +

Support for UTF-8 atoms and strings in the NIF + interface including new functions + enif_make_new_atom, enif_make_new_atom_len + and enif_get_string_length.

+

+ Own Id: OTP-18334 Aux Id: PR-6434

+
+ +

The following inet:setopts/2 + options have been introduced:

reuseport +

Reuse of local port. Load balancing may or may + not be provided depending on underlying OS.

+ reuseport_lb +

Reuse of local port. Load balancing + provided.

exclusiveaddruse +

Exclusive address/port usage on Windows. This + socket option is Windows specific and will silently be + ignored on other systems.

The + behavior of setting reuseaddr + on Windows have changed in a backwards + incompatible way. The underlying SO_REUSEADDR + socket option is now only set if both the reusaddr + and the reuseport inet options have been + set. This since the underlying SO_REUSEADDR socket + option on Windows behaves similar to how BSD behaves if + both the underlying socket options SO_REUSEADDR + and SO_REUSEPORT have been set. See the + documentation of the reuseaddr option for more + information.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18344 Aux Id: PR-6522, PR-6944, OTP-18324, + PR-6481, GH-6461

+
+ +

erlang:display/1 will now print large maps in a + more readable way (similar to how small maps are + printed).

+

+ Own Id: OTP-18360 Aux Id: PR-6497

+
+ +

The BIFs min/2 and max/2 are now allowed + to be used in guards and match specs.

+

+ Own Id: OTP-18367 Aux Id: GH-6544

+
+ +

+ Fail enif_init_resource_type and friends by + returning NULL if not called during load/upgrade. Old + behavior was undefined.

+

+ Own Id: OTP-18369

+
+ +

+ New option include_shared_binaries for the + max_heap_size process limit. If set to + true, large binaries (> 64 bytes), which may be + referred by several processes, are included in the memory + sum compared against the max_heap_size limit.

+

+ Own Id: OTP-18410 Aux Id: GH-5889, PR-6345

+
+ +

Map comprehensions as suggested in EEP 58 has now been + implemented.

+

+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727

+
+ +

Some map operations have been optimized by changing + the internal sort order of atom keys. This changes the + (undocumented) order of how atom keys in small maps are + printed and returned by maps:to_list/1 and + maps:next/1. The new order is unpredictable and + may change between different invocations of the Erlang + VM.

+

For applications where order is important, there is a + new function maps:iterator/2 for creating + iterators that return the map elements in a deterministic + order. There are also new modifiers k and K + for the format string for io:format() to support + printing map elements ordered.

+

+ Own Id: OTP-18414 Aux Id: PR-6151

+
+ +

Reduced memory usage of + file:read_file_info/1,2

+

+ Own Id: OTP-18424 Aux Id: PR-6716

+
+ +

Add new function current_stacktrace for trace + match specifications used by + erlang:trace_pattern/3.

This new option + puts the current stacktrace of the caller into the trace + message sent to the trace receiver.

+

+ Own Id: OTP-18425 Aux Id: PR-6628, GH-5333

+
+ +

+ The amount of significant bits in node local process + identifiers and port identifiers has been extended from + 28 bits to 60 bits on 64-bit runtime systems. This makes + these identifiers large enough to in practice never + having to be reused during the life time of a node.

+

+ Own Id: OTP-18435 Aux Id: PR-6827

+
+ +

+ New trace feature call_memory. Similar to + call_time tracing, but instead of measure + accumulated time in traced functions it measures + accumulated heap space consumed by traced functions. It + can be used to compare how much different functions are + contributing to garbage collection being triggered.

+

+ Own Id: OTP-18440 Aux Id: PR-6351

+
+ +

It is no longer necessary to enable a feature in the + runtime system in order to load modules that are using + it. It is sufficient to enable the feature in the + compiler when compiling it.

+

That means that to use feature maybe_expr in + Erlang/OTP 26, it is sufficient to enable it during + compilation.

+

In Erlang/OTP 27, feature maybe_expr will be + enabled by default, but it will be possible to disable + it.

+

+ Own Id: OTP-18445

+
+ +

Handling of on_load modules during boot has + been improved by adding an extra step in the boot order + for embedded mode that runs all on_load handlers, + instead of relying on explicit invocation of them, later, + when the kernel supervision tree starts.

This is + mostly a code improvement and OTP internal simplification + to avoid future bugs and to simplify code maintenance. +

+

+ Own Id: OTP-18447

+
+ +

+ Introduced the local + option of term_to_binary/2 + and term_to_iovec/2.

+

+ Own Id: OTP-18477 Aux Id: PR-7006

+
+ +

+ Document the commonly used practice to create and store + static atoms at NIF load time in callbacks load or + upgrade.

+

+ Own Id: OTP-18483 Aux Id: PR-6888

+
+ +

+ Optimize ets:lookup_element for uncompressed + tables by using a more efficient method to copy the term + from ETS to the heap of the calling process.

+

+ Own Id: OTP-18493 Aux Id: PR-6272

+
+ +

The default encoding of atoms by term_to_binary + and term_to_iovec have changed from Latin1 to + UTF-8. The old encoding can still be obtained with + options {minor_version, 1}.

Apart from + encoding code points between 128 and 255 with two bytes + (UTF-8) instead of one, most atoms will occupy one less + byte as the length field use only one byte instead of two + if possible.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18505 Aux Id: PR-6991

+
+ +

+ The version of zlib included in the Erlang/OTP source + code is now 1.2.13.

+

+ Own Id: OTP-18517

+
+ +

+ gen_tcp:send/*, gen_udp:send/* and + gen_sctp:send/* have been optimized to use the + infamous receive reference optimization, so now sending + should not have bad performance when the calling process + has a large message queue.

+

+ Own Id: OTP-18520 Aux Id: GH-6455

+
+ +

Added the new built-in type dynamic() + introduced in EEP-61, improving support for gradual type + checkers.

+

+ Own Id: OTP-18522

+
+ +

+ Optimize maps:merge/2 memory consumption for small + maps (<33 keys) by reusing key tuples or entire maps + if the result map has the same number of keys as any of + the argument maps.

+

+ Own Id: OTP-18523 Aux Id: PR-7004

+
+ +

+ Optimize maps:merge/2 memory consumption further + for small maps by mutating 2nd map to use literal key + tuple of 1st map if both have the same keys.

+

+ Own Id: OTP-18524 Aux Id: PR-7004, OTP-18523

+
+ +

ceil/1, floor/1, is_bitstring/1, + is_boolean/1, is_function/2, and + tuple_size/1 can now be used in match + specifications.

+

+ Own Id: OTP-18526 Aux Id: GH-7045

+
+ +

+ Allow IPv6 addresses as host in http packets + decoded by erlang:decode_packet/3 and + gen_tcp packet option. The IPv6 address should be + enclosed within [] according to RFC2732.

+

+ Own Id: OTP-18540 Aux Id: PR-6900

+
+ +

+ Removed the experimental erts_alloc_config module. + It no longer produced good configurations and cannot be + fixed in a reasonably backwards compatible manner. It has + since OTP 25 been deprecated and scheduled for removal in + OTP 26.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18549 Aux Id: PR-7105

+
+ +

+ ERTS internal thread names have been changed. All threads + created by ERTS now have a prefix erts_ followed + by a type name potentially followed by an integer index. + For example, normal schedulers are now named + erts_sched_<IX>, dirty CPU schedulers + erts_dcpus_<IX>, and dirty IO schedulers + erts_dios_<IX>. NIF and driver thread names + are truncated at 15 characters regardless of whether the + underlying platform support more characters or not.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18552 Aux Id: PR-6973

+
+ +

+ Further robustify implementation of large maps (> 32 + keys). Keys that happen to have same internal 32-bit hash + values are now put in collision nodes which are traversed + with linear search. This removes the demand for the + internal hash function when salted to eventually produce + different hashes for all possible pairs of unequal terms.

+

+ Own Id: OTP-18569

+
+ +

In Erlang/OTP 27, 0.0 will no longer be + considered to be exactly equal to -0.0. See + Upcoming + Potential Incompatibilities.

+

+ Own Id: OTP-18574

+
+
+
+ +
+
Erts 13.2.2
Fixed Bugs and Malfunctions diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h index f4e8f5f76f..e2e631e8d6 100644 --- a/erts/emulator/beam/erl_nif.h +++ b/erts/emulator/beam/erl_nif.h @@ -72,7 +72,7 @@ * If you're not on the OTP team, you should use a placeholder like * erts-@MyName@ instead. */ -#define ERL_NIF_MIN_ERTS_VERSION "erts-@OTP-17771:OTP-18334@" +#define ERL_NIF_MIN_ERTS_VERSION "erts-14.0" /* * The emulator will refuse to load a nif-lib with a major version diff --git a/erts/preloaded/src/erts.app.src b/erts/preloaded/src/erts.app.src index 8b3d3288a5..17cb04e62e 100644 --- a/erts/preloaded/src/erts.app.src +++ b/erts/preloaded/src/erts.app.src @@ -42,7 +42,7 @@ {registered, []}, {applications, []}, {env, []}, - {runtime_dependencies, ["stdlib-4.1", "kernel-@OTP-18344@", "sasl-3.3"]} + {runtime_dependencies, ["stdlib-4.1", "kernel-9.0", "sasl-3.3"]} ]}. %% vim: ft=erlang diff --git a/erts/vsn.mk b/erts/vsn.mk index 67df301d2e..6e1382b875 100644 --- a/erts/vsn.mk +++ b/erts/vsn.mk @@ -18,7 +18,7 @@ # %CopyrightEnd% # -VSN = 13.2.2 +VSN = 14.0 # Port number 4365 in 4.2 # Port number 4366 in 4.3 diff --git a/lib/asn1/doc/src/notes.xml b/lib/asn1/doc/src/notes.xml index b39c5c50a9..380b56a5c6 100644 --- a/lib/asn1/doc/src/notes.xml +++ b/lib/asn1/doc/src/notes.xml @@ -32,6 +32,46 @@

This document describes the changes made to the asn1 application.

+
Asn1 5.1 + +
Fixed Bugs and Malfunctions + + +

+ The ASN.1 compiler used to reject correctly specified + RELATIVE-OID values containing other RELATIVE-OID values. + This is now corrected.

+

+ Own Id: OTP-18534 Aux Id: ERIERL-737, PR-7039

+
+
+
+ + +
Improvements and New Features + + +

Minor code improvements.

+

+ Own Id: OTP-18441

+
+ +

Handling of on_load modules during boot has + been improved by adding an extra step in the boot order + for embedded mode that runs all on_load handlers, + instead of relying on explicit invocation of them, later, + when the kernel supervision tree starts.

This is + mostly a code improvement and OTP internal simplification + to avoid future bugs and to simplify code maintenance. +

+

+ Own Id: OTP-18447

+
+
+
+ +
+
Asn1 5.0.21
Fixed Bugs and Malfunctions diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk index a3706fd209..a63de49f97 100644 --- a/lib/asn1/vsn.mk +++ b/lib/asn1/vsn.mk @@ -1 +1 @@ -ASN1_VSN = 5.0.21 +ASN1_VSN = 5.1 diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml index c8e8e4a3e3..68c165c107 100644 --- a/lib/common_test/doc/src/notes.xml +++ b/lib/common_test/doc/src/notes.xml @@ -33,6 +33,50 @@ notes.xml +
Common_Test 1.25 + +
Fixed Bugs and Malfunctions + + +

+ This change improves Common Test docs (CT hook example + code) and adds Emacs skeleton with hook code.

+

+ Own Id: OTP-18377 Aux Id: PR-6437

+
+
+
+ + +
Improvements and New Features + + +

+ Updated common_test with a more robust way to fetch old + releases, while ignoring the current release.

+

+ Own Id: OTP-18259 Aux Id: PR-5924

+
+ +

+ - re-write the XML ct module documentation into + erlang types to make Dialyzer able to catch more precise + errors

+

+ Own Id: OTP-18340

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+
+
+ +
+
Common_Test 1.24
Improvements and New Features diff --git a/lib/common_test/vsn.mk b/lib/common_test/vsn.mk index 472bde9027..1fbe70ea4d 100644 --- a/lib/common_test/vsn.mk +++ b/lib/common_test/vsn.mk @@ -1 +1 @@ -COMMON_TEST_VSN = 1.24 +COMMON_TEST_VSN = 1.25 diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml index f92505409c..4e90f2a758 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -32,6 +32,123 @@

This document describes the changes made to the Compiler application.

+
Compiler 8.3 + +
Fixed Bugs and Malfunctions + + +

The compiler would silently accept singleton (unbound) + type variables in a union type. Starting from Erlang/OTP + 26, the compiler will generate a warning for this + example. The warning can be disabled using the + nowarn_singleton_typevar option. In Erlang/OTP 27, + the warning will become an error.

+

+ Own Id: OTP-18389 Aux Id: GH-6508, PR-6864, GH-7116

+
+
+
+ + +
Improvements and New Features + + +

Optimized record updates.

+

+ Own Id: OTP-18126 Aux Id: PR-6033

+
+ +

There are several new optimization for binary syntax + in the JIT:

Creation and matching of + binaries with segments of fixed sizes have been + optimized. Creation and matching of UTF-8 + segments have been optimized. Appending to + binaries has been optimized. +

+ Own Id: OTP-18137 Aux Id: PR-6259, PR-6404, PR-6576, + PR-6804

+
+ +

The compiler and JIT now generate better code for + creation of small maps where all keys are literals known + at compile time.

+

+ Own Id: OTP-18185 Aux Id: GH-6139

+
+ +

A limitation in the binary syntax has been removed. It + is now possible to match binary patterns in parallel. + Example: <<A:8>> = <<B:4,C:4>> + = Bin

+

+ Own Id: OTP-18297 Aux Id: GH-6348

+
+ +

It is documented that $\^X is the ASCII code + for Control X, where X is an uppercase or lowercase + letter. However, this notation would work for any + character X, even then it didn't make sense.

+

In Erlang/OTP 26, it is now documented that the + following characters are also allowed to follow the + \^ characters: @, [, \, + ], ^, _, and ?. Attempt to + use other characters will be rejected with a compiler + error.

+

The value for $\^? is now 127 (instead of 31 as + in earlier releases).

+

+ Own Id: OTP-18337 Aux Id: GH-6477, PR-6503

+
+ +

The BIFs min/2 and max/2 are now allowed + to be used in guards and match specs.

+

+ Own Id: OTP-18367 Aux Id: GH-6544

+
+ +

Map comprehensions as suggested in EEP 58 has now been + implemented.

+

+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727

+
+ +

Improved the selective receive optimization, which can + now be enabled for references returned from other + functions.

+

This greatly improves the performance of + gen_server:send_request/3, + gen_server:wait_response/2, and similar + functions.

+

+ Own Id: OTP-18431 Aux Id: PR-6739

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

The compiler will now inline calls to + maps:get/3.

+

+ Own Id: OTP-18502

+
+ +

In Erlang/OTP 27, 0.0 will no longer be + considered to be exactly equal to -0.0. See + Upcoming + Potential Incompatibilities.

+

+ Own Id: OTP-18574

+
+
+
+ +
+
Compiler 8.2.6
Fixed Bugs and Malfunctions diff --git a/lib/compiler/src/compiler.app.src b/lib/compiler/src/compiler.app.src index 206053cab2..be1a6d7236 100644 --- a/lib/compiler/src/compiler.app.src +++ b/lib/compiler/src/compiler.app.src @@ -84,5 +84,5 @@ {registered, []}, {applications, [kernel, stdlib]}, {env, []}, - {runtime_dependencies, ["stdlib-@OTP-18414@","kernel-8.4","erts-13.0", + {runtime_dependencies, ["stdlib-5.0","kernel-8.4","erts-13.0", "crypto-5.1"]}]}. diff --git a/lib/compiler/vsn.mk b/lib/compiler/vsn.mk index fa46ea4097..c9aed4742c 100644 --- a/lib/compiler/vsn.mk +++ b/lib/compiler/vsn.mk @@ -1 +1 @@ -COMPILER_VSN = 8.2.6 +COMPILER_VSN = 8.3 diff --git a/lib/crypto/doc/src/notes.xml b/lib/crypto/doc/src/notes.xml index fa5e9d5bea..16995edc88 100644 --- a/lib/crypto/doc/src/notes.xml +++ b/lib/crypto/doc/src/notes.xml @@ -31,6 +31,77 @@

This document describes the changes made to the Crypto application.

+
Crypto 5.2 + +
Fixed Bugs and Malfunctions + + +

+ Fix cmac_update aes_128_cbc for LibreSSL.

+

+ Own Id: OTP-18571

+
+
+
+ + +
Improvements and New Features + + +

+ Add support for SHAKE128 and SHAKE256.

+

+ Own Id: OTP-18204 Aux Id: PR-6203

+
+ +

+ Make the -DOPENSSL_API_COMPAT flag work without + warnings.

+

+ Own Id: OTP-18206 Aux Id: PR-6167

+
+ +

+ Replace size/1 with either tuple_size/1 or byte_size/1

+

+ The size/1 BIF is not optimized by the JIT, and + its use can result in worse types for Dialyzer.

+

+ When one knows that the value being tested must be a + tuple, tuple_size/1 should always be preferred.

+

+ When one knows that the value being tested must be a + binary, byte_size/1 should be preferred. However, + byte_size/1 also accepts a bitstring (rounding up + size to a whole number of bytes), so one must make sure + that the call to byte_size/ is preceded by a call + to is_binary/1 to ensure that bitstrings are + rejected. Note that the compiler removes redundant calls + to is_binary/1, so if one is not sure whether + previous code had made sure that the argument is a + binary, it does not harm to add an is_binary/1 + test immediately before the call to byte_size/1.

+

+ Own Id: OTP-18405 Aux Id: + GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814

+
+ +

Handling of on_load modules during boot has + been improved by adding an extra step in the boot order + for embedded mode that runs all on_load handlers, + instead of relying on explicit invocation of them, later, + when the kernel supervision tree starts.

This is + mostly a code improvement and OTP internal simplification + to avoid future bugs and to simplify code maintenance. +

+

+ Own Id: OTP-18447

+
+
+
+ +
+
Crypto 5.1.4
Fixed Bugs and Malfunctions diff --git a/lib/crypto/vsn.mk b/lib/crypto/vsn.mk index 56f5a0f48e..3fa6df6102 100644 --- a/lib/crypto/vsn.mk +++ b/lib/crypto/vsn.mk @@ -1 +1 @@ -CRYPTO_VSN = 5.1.4 +CRYPTO_VSN = 5.2 diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml index fe859092f7..7cb2aadead 100644 --- a/lib/dialyzer/doc/src/notes.xml +++ b/lib/dialyzer/doc/src/notes.xml @@ -32,6 +32,174 @@

This document describes the changes made to the Dialyzer application.

+
Dialyzer 5.1 + +
Fixed Bugs and Malfunctions + + +

When checking behaviors, Dialyzer could generate false + warning that a callback function did not have the correct + type according to the spec in the behavior + definition.

+

+ Own Id: OTP-18237 Aux Id: GH-6221, PR-6243

+
+ +

In a spec, list(none()) used to mean + none(). It has now been corrected to mean the + empty list.

+

+ Own Id: OTP-18276 Aux Id: GH-6333

+
+ +

The compiler would silently accept singleton (unbound) + type variables in a union type. Starting from Erlang/OTP + 26, the compiler will generate a warning for this + example. The warning can be disabled using the + nowarn_singleton_typevar option. In Erlang/OTP 27, + the warning will become an error.

+

+ Own Id: OTP-18389 Aux Id: GH-6508, PR-6864, GH-7116

+
+ +

Fixed a bug that prevented the --plts option + from being used together with --add-to-plt.

+

+ Own Id: OTP-18485 Aux Id: GH-6850, PR-6854

+
+ +

Fixed a crash when analyzing code that contained + illegal bitstring segment sizes.

+

+ Own Id: OTP-18562

+
+ +

Fixed a crash when formatting certain warnings that + contained multi-byte unicode characters.

+

+ Own Id: OTP-18564 Aux Id: GH-7153

+
+
+
+ + +
Improvements and New Features + + +

Dialyzer has a new incremental mode that be invoked by + giving the --incremental option when running + Dialyzer. This new incremental mode is likely to become + the default in a future release.

+

Incremental mode primarily differs from the previous, + "classic", ways of running Dialyzer, in that its model is + optimised around the common use case of regularly + analysing a single codebase, tweaking the code, analysing + it again, and so on, without explicit reference to the + building and checking of a PLT.

+

In this mode the PLT file acts much more like a true + cache, where users provide a codebase and a set of files + they care about, and Dialyzer does the legwork in terms + of deciding how to most efficiently report all of the + relevant warnings given the cached results it may already + have in the PLT (and if a PLT doesn't exist, incremental + mode will create one).

+

+ Own Id: OTP-18188 Aux Id: PR-5997

+
+ +

Dialyzer now produces clearer error messages for + contract violations.

+

+ Own Id: OTP-18238 Aux Id: PR-6271

+
+ +

The name of a built-in type can now be reused as the + name of type locally. That is useful when an OTP release + introduces a new built-in type; having the possibility to + redefine built-in types locally can make it easier to + maintain code that works in multiple OTP releases.

+

+ Own Id: OTP-18282 Aux Id: GH-6132, PR-6335

+
+ +

There is new option -no_spec to ignore all + specs. It is useful for debugging when one suspects that + some specs could be incorrect.

+

+ Own Id: OTP-18310

+
+ +

Dialyzer's overloaded domain warning is now disabled + by default, and can be enabled with the flag + -Woverlapping_contract.

+

Dialyzer used to issue a warning for overloaded + domains stating "such contracts are currently + unsupported and are simply ignored".

+

These contracts are not "ignored" but rather, Dialyzer + takes the union of the overloaded domains. This means + that we lose the dependency from each corresponding input + to output type. Because of this, the warning is really + about not being able to establish a dependency between + the input and output types of each respective overloaded + function specification.

+

+ Own Id: OTP-18342 Aux Id: GH-6117, PR-6654

+
+ +

+ Dialyzer has enabled (by default) warnings about unknown + types and functions.

+

+ Prior to this change, Dialyzer had warnings about unknown + types and functions disabled (by default).

+

+ This default value has been overwritten; Dialyzer now + warns about unknown types and functions (as requested by + the community in GH-5695). Thus, the following two + examples are equivalent, i.e., passing the + -Wunknown function is enabled by default:

+

+ dialyzer moduler.erl -Wunknown -Wmissing_return

+

+ dialyzer moduler.erl -Wmissing_return

+

+ Dialyzer has a new flag, -Wno_unknown. Its purpose + is to suppress warnings about unknown functions and + types.

+

+ Users who wish to suppress these warnings can invoke + Dialyzer using this flag. Example: dialyzer module.erl + -Wno_unknown

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18439 Aux Id: GH-5695,PR-6822, GH-6942

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

Added the new built-in type dynamic() + introduced in EEP-61, improving support for gradual type + checkers.

+

+ Own Id: OTP-18522

+
+ +

Added the argparse module for simplified + argument handling in escripts and similar.

+

+ Own Id: OTP-18558 Aux Id: PR-6852

+
+
+
+ +
+
Dialyzer 5.0.5
Fixed Bugs and Malfunctions diff --git a/lib/dialyzer/src/dialyzer.app.src b/lib/dialyzer/src/dialyzer.app.src index 7ec446bdef..107da591d1 100644 --- a/lib/dialyzer/src/dialyzer.app.src +++ b/lib/dialyzer/src/dialyzer.app.src @@ -56,6 +56,6 @@ {registered, []}, {applications, [compiler, kernel, stdlib]}, {env, []}, - {runtime_dependencies, ["wx-2.0","syntax_tools-2.0","stdlib-@OTP-18558@", + {runtime_dependencies, ["wx-2.0","syntax_tools-2.0","stdlib-5.0", "kernel-8.0","erts-12.0", "compiler-8.0"]}]}. diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk index 965a949121..a4dcbc90c3 100644 --- a/lib/dialyzer/vsn.mk +++ b/lib/dialyzer/vsn.mk @@ -1 +1 @@ -DIALYZER_VSN = 5.0.5 +DIALYZER_VSN = 5.1 diff --git a/lib/diameter/doc/src/notes.xml b/lib/diameter/doc/src/notes.xml index 3619a118a1..f94211a72a 100644 --- a/lib/diameter/doc/src/notes.xml +++ b/lib/diameter/doc/src/notes.xml @@ -43,6 +43,56 @@ first.

+
diameter 2.3 + +
Improvements and New Features + + +

+ Replace size/1 with either tuple_size/1 or byte_size/1

+

+ The size/1 BIF is not optimized by the JIT, and + its use can result in worse types for Dialyzer.

+

+ When one knows that the value being tested must be a + tuple, tuple_size/1 should always be preferred.

+

+ When one knows that the value being tested must be a + binary, byte_size/1 should be preferred. However, + byte_size/1 also accepts a bitstring (rounding up + size to a whole number of bytes), so one must make sure + that the call to byte_size/ is preceded by a call + to is_binary/1 to ensure that bitstrings are + rejected. Note that the compiler removes redundant calls + to is_binary/1, so if one is not sure whether + previous code had made sure that the argument is a + binary, it does not harm to add an is_binary/1 + test immediately before the call to byte_size/1.

+

+ Own Id: OTP-18405 Aux Id: + GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+
+
+ +
+
diameter 2.2.7
Improvements and New Features diff --git a/lib/diameter/src/diameter.app.src b/lib/diameter/src/diameter.app.src index b745200e08..618c44cb77 100644 --- a/lib/diameter/src/diameter.app.src +++ b/lib/diameter/src/diameter.app.src @@ -38,7 +38,7 @@ {mod, {diameter_app, []}}, {runtime_dependencies, [ "erts-10.0", - "stdlib-@OTP-18490@", + "stdlib-5.0", "kernel-3.2", "ssl-9.0" %, "syntax-tools-1.6.18" diff --git a/lib/diameter/vsn.mk b/lib/diameter/vsn.mk index 5eda96f384..173f962b9d 100644 --- a/lib/diameter/vsn.mk +++ b/lib/diameter/vsn.mk @@ -17,5 +17,5 @@ # %CopyrightEnd% APPLICATION = diameter -DIAMETER_VSN = 2.2.7 +DIAMETER_VSN = 2.3 APP_VSN = $(APPLICATION)-$(DIAMETER_VSN)$(PRE_VSN) diff --git a/lib/erl_docgen/doc/src/notes.xml b/lib/erl_docgen/doc/src/notes.xml index 92726daa8a..6599f3b4c5 100644 --- a/lib/erl_docgen/doc/src/notes.xml +++ b/lib/erl_docgen/doc/src/notes.xml @@ -31,7 +31,33 @@

This document describes the changes made to the erl_docgen application.

-
Erl_Docgen 1.4 +
Erl_Docgen 1.5 + +
Improvements and New Features + + +

New XML tag <change>. Like a <note> box, + but with a different (steel blue) color and label. + Intended to contain talk about semantic differences + between OTP releases.

+

+ Own Id: OTP-18338 Aux Id: PR-6408

+
+ +

+ Add "since" attribute to XML taglist/tag elements to + document OTP version when a particular option/feature was + introduced. The version is shown out in the right margin, + similar to "since" versions for functions.

+

+ Own Id: OTP-18501 Aux Id: PR-6987

+
+
+
+ +
+ +
Erl_Docgen 1.4
Improvements and New Features diff --git a/lib/erl_docgen/vsn.mk b/lib/erl_docgen/vsn.mk index a887c5c839..442223e03c 100644 --- a/lib/erl_docgen/vsn.mk +++ b/lib/erl_docgen/vsn.mk @@ -1 +1 @@ -ERL_DOCGEN_VSN = 1.4 +ERL_DOCGEN_VSN = 1.5 diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml index 7bac4913ab..a221677cae 100644 --- a/lib/erl_interface/doc/src/notes.xml +++ b/lib/erl_interface/doc/src/notes.xml @@ -31,6 +31,56 @@

This document describes the changes made to the Erl_interface application.

+
Erl_Interface 5.4 + +
Improvements and New Features + + +

As announced since the release of OTP 24, support + for:

version 4 node container types + in the external term format are now mandatory. That is, + references supporting up to 5 32-bit integer identifiers, + and process and port identifiers with support for 64-bit + data storage. The distribution flag DFLAG_V4_NC + is therefor now also mandatory. OTP has since OTP 24 + supported this. Also note that the external format + produced by term_to_binary() and + term_to_iovec() will unconditionally produce pids, + ports, and references supporting this larger format. +

the new + link protocol introduced in OTP 23.3 is now + mandatory. The distribution flag DFLAG_UNLINK_ID + is therefor now also mandatory.

+

Due to the above, OTP 26 nodes will refuse to connect + to OTP nodes from releases prior to OTP 24.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18140 Aux Id: PR-6072

+
+
+
+ + +
Known Bugs and Problems + + +

+ The ei 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.

+

+ Own Id: OTP-16607 Aux Id: OTP-16608

+
+
+
+ +
+
Erl_Interface 5.3.2
Fixed Bugs and Malfunctions diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk index 683e6643c7..b68159d947 100644 --- a/lib/erl_interface/vsn.mk +++ b/lib/erl_interface/vsn.mk @@ -1,2 +1,2 @@ -EI_VSN = 5.3.2 +EI_VSN = 5.4 ERL_INTERFACE_VSN = $(EI_VSN) diff --git a/lib/et/doc/src/notes.xml b/lib/et/doc/src/notes.xml index 33af30eb88..688a8604c0 100644 --- a/lib/et/doc/src/notes.xml +++ b/lib/et/doc/src/notes.xml @@ -37,6 +37,22 @@ one section in this document. The title of each section is the version number of Event Tracer (ET).

+
ET 1.7 + +
Improvements and New Features + + +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+
+
+ +
+
ET 1.6.5
Improvements and New Features diff --git a/lib/et/vsn.mk b/lib/et/vsn.mk index 9881bcdd63..0cf3d091ea 100644 --- a/lib/et/vsn.mk +++ b/lib/et/vsn.mk @@ -1 +1 @@ -ET_VSN = 1.6.5 +ET_VSN = 1.7 diff --git a/lib/ftp/doc/src/notes.xml b/lib/ftp/doc/src/notes.xml index b131eee82b..2db120cc28 100644 --- a/lib/ftp/doc/src/notes.xml +++ b/lib/ftp/doc/src/notes.xml @@ -33,7 +33,53 @@ notes.xml -
Ftp 1.1.4 +
Ftp 1.2 + +
Fixed Bugs and Malfunctions + + +

+ Fixes the documentation for the ftp module and + updates the typing of ftp functions that return + errors.

+

+ The documentation has been improved and the types of the + functions are now read from source code, instead of being + hard-coded in XML.

+

+ Functions returning errors of the form {error, Reason + :: 'ehost' | ...} are now similar to other modules, + i.e., {error, Reason :: term()}. If one wants to + understand the error, one must call the function + ftp:formaterror({error, Reason}).

+

+ Own Id: OTP-18359 Aux Id: PR-6545

+
+
+
+ + +
Improvements and New Features + + +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

+ Remove deprecated functions in OTP-26

+

+ Own Id: OTP-18541

+
+
+
+ +
+ +
Ftp 1.1.4
Improvements and New Features diff --git a/lib/ftp/vsn.mk b/lib/ftp/vsn.mk index fa0034ec4b..0fd93d82a5 100644 --- a/lib/ftp/vsn.mk +++ b/lib/ftp/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = ftp -FTP_VSN = 1.1.4 +FTP_VSN = 1.2 PRE_VSN = APP_VSN = "$(APPLICATION)-$(FTP_VSN)$(PRE_VSN)" diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml index a10ee19030..cb13a84b37 100644 --- a/lib/inets/doc/src/notes.xml +++ b/lib/inets/doc/src/notes.xml @@ -33,7 +33,82 @@ notes.xml -
Inets 8.3.1 +
Inets 9.0 + +
Fixed Bugs and Malfunctions + + +

+ Correct timing related pipelining/keepalive queue bug, + that could result in unexpected "socket_remotly_closed" + errors.

+

+ Own Id: OTP-18476 Aux Id: GH-6380

+
+
+
+ + +
Improvements and New Features + + +

+ By default ssl connections will use options from + ssl_default_options(true)

+

+ Own Id: OTP-18167

+
+ +

Runtime dependencies have been updated.

+

+ Own Id: OTP-18350

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+ +

+ IP display string will now always be in lower case, + effects ipv6 addresses.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18530

+
+ +

+ Removed deprecated functions

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18536

+
+ +

+ Update the code in the inets example directory to reflect + the latest implementation

+

+ Own Id: OTP-18544 Aux Id: GH-5276

+
+
+
+ +
+ +
Inets 8.3.1
Fixed Bugs and Malfunctions diff --git a/lib/inets/src/inets_app/inets.app.src b/lib/inets/src/inets_app/inets.app.src index c9b67b6d0c..ec5fe5273f 100644 --- a/lib/inets/src/inets_app/inets.app.src +++ b/lib/inets/src/inets_app/inets.app.src @@ -98,6 +98,6 @@ {applications,[kernel,stdlib]}, {mod,{inets_app,[]}}, {runtime_dependencies, - ["stdlib-@OTP-18490@","stdlib-@OTP-18350@","ssl-9.0","runtime_tools-1.8.14", - "mnesia-4.12","kernel-@OTP-18350@","erts-@OTP-18350@", "public_key-1.13"]} + ["stdlib-5.0","stdlib-5.0","ssl-9.0","runtime_tools-1.8.14", + "mnesia-4.12","kernel-9.0","erts-14.0", "public_key-1.13"]} ]}. diff --git a/lib/inets/vsn.mk b/lib/inets/vsn.mk index 78efa696d8..edf6902806 100644 --- a/lib/inets/vsn.mk +++ b/lib/inets/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = inets -INETS_VSN = 8.3.1 +INETS_VSN = 9.0 PRE_VSN = APP_VSN = "$(APPLICATION)-$(INETS_VSN)$(PRE_VSN)" diff --git a/lib/jinterface/doc/src/notes.xml b/lib/jinterface/doc/src/notes.xml index 01eda410cc..df76a2f6ba 100644 --- a/lib/jinterface/doc/src/notes.xml +++ b/lib/jinterface/doc/src/notes.xml @@ -31,6 +31,41 @@

This document describes the changes made to the Jinterface application.

+
Jinterface 1.14 + +
Improvements and New Features + + +

As announced since the release of OTP 24, support + for:

version 4 node container types + in the external term format are now mandatory. That is, + references supporting up to 5 32-bit integer identifiers, + and process and port identifiers with support for 64-bit + data storage. The distribution flag DFLAG_V4_NC + is therefor now also mandatory. OTP has since OTP 24 + supported this. Also note that the external format + produced by term_to_binary() and + term_to_iovec() will unconditionally produce pids, + ports, and references supporting this larger format. +

the new + link protocol introduced in OTP 23.3 is now + mandatory. The distribution flag DFLAG_UNLINK_ID + is therefor now also mandatory.

+

Due to the above, OTP 26 nodes will refuse to connect + to OTP nodes from releases prior to OTP 24.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18140 Aux Id: PR-6072

+
+
+
+ +
+
Jinterface 1.13.2
Fixed Bugs and Malfunctions diff --git a/lib/jinterface/vsn.mk b/lib/jinterface/vsn.mk index 909370599e..32db2ab3a7 100644 --- a/lib/jinterface/vsn.mk +++ b/lib/jinterface/vsn.mk @@ -1 +1 @@ -JINTERFACE_VSN = 1.13.2 +JINTERFACE_VSN = 1.14 diff --git a/lib/kernel/doc/src/application.xml b/lib/kernel/doc/src/application.xml index a1f585f5cd..c64d4cde11 100644 --- a/lib/kernel/doc/src/application.xml +++ b/lib/kernel/doc/src/application.xml @@ -69,7 +69,7 @@ - + Loads and starts all applications and their dependencies, recursively.

Applications is either an an atom() or a list @@ -190,7 +190,7 @@ - + Get the supervisor of an application.

Returns the Pid of the supervisor running diff --git a/lib/kernel/doc/src/code.xml b/lib/kernel/doc/src/code.xml index ffa77641de..1b8ef7a1c3 100644 --- a/lib/kernel/doc/src/code.xml +++ b/lib/kernel/doc/src/code.xml @@ -103,7 +103,7 @@

On Windows, use semi-colon as separator.

The code paths specified by $OTP_ROOT, ERL_LIBS, and boot scripts have their listings cached by default (except for ".") - since OTP @OTP-18466@. + since OTP 26.0. The code server will lookup the contents in their directories once and avoid future file system traversals. Therefore modules added to such directories after the Erlang VM boots won't be picked up. @@ -350,7 +350,7 @@ zip:create("mnesia-4.4.7.ez", - + Set the code server search path.

Sets the code path to the list of directories Path.

@@ -375,9 +375,9 @@ zip:create("mnesia-4.4.7.ez",
- + - + Add a directory to the end of the code path. @@ -394,7 +394,7 @@ zip:create("mnesia-4.4.7.ez", - + Add a directory to the beginning of the code path. @@ -411,9 +411,9 @@ zip:create("mnesia-4.4.7.ez", - + - + Add directories to the end of the code path.

Adds the directories in Dirs to the end of the code @@ -427,7 +427,7 @@ zip:create("mnesia-4.4.7.ez", - + Add directories to the beginning of the code path.

Traverses Dirs and adds @@ -466,7 +466,7 @@ zip:create("mnesia-4.4.7.ez", - + Deletes directories from the code path.

Deletes directories from the code path. The argument is a list of either @@ -478,7 +478,7 @@ zip:create("mnesia-4.4.7.ez", - + Clears the code path cache.

Clear the code path cache. If a directory is cached, its cache is @@ -494,7 +494,7 @@ zip:create("mnesia-4.4.7.ez", - + Replace a directory with another in the code path.

Replaces an old occurrence of a directory diff --git a/lib/kernel/doc/src/disk_log.xml b/lib/kernel/doc/src/disk_log.xml index dc6f9ba5bf..affb46a65f 100644 --- a/lib/kernel/doc/src/disk_log.xml +++ b/lib/kernel/doc/src/disk_log.xml @@ -713,7 +713,7 @@ - + Change to the next log file of a disk log. diff --git a/lib/kernel/doc/src/inet.xml b/lib/kernel/doc/src/inet.xml index 5524000f3d..0cb03fdbe4 100644 --- a/lib/kernel/doc/src/inet.xml +++ b/lib/kernel/doc/src/inet.xml @@ -1597,7 +1597,7 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp This since setting SO_REUSEADDR on Windows more or less has the same behavior as setting both SO_REUSEADDR and SO_REUSEPORT on BSD. This behavior was introduced as - of OTP @OTP-18344@. + of OTP 26.0.

@@ -1614,7 +1614,7 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp if {reuseaddr, true} was set. - Between OTP 25.2 and up to the predecessor of OTP @OTP-18344@, + Between OTP 25.2 and up to the predecessor of OTP 26.0, the underlying SO_REUSEADDR socket option was only set on UDP sockets if {reuseaddr, true} was set, and silently ignored on other sockets. @@ -1645,7 +1645,7 @@ setcap cap_sys_admin,cap_sys_ptrace,cap_dac_read_search+epi beam.smp This since setting SO_REUSEADDR on Windows more or less has the same behavior as setting both SO_REUSEADDR and SO_REUSEPORT on BSD. The reuseport option was - introduced as of OTP @OTP-18344@. + introduced as of OTP 26.0.

See also the diff --git a/lib/kernel/doc/src/notes.xml b/lib/kernel/doc/src/notes.xml index 2a2992b720..6745b82885 100644 --- a/lib/kernel/doc/src/notes.xml +++ b/lib/kernel/doc/src/notes.xml @@ -31,6 +31,518 @@

This document describes the changes made to the Kernel application.

+
Kernel 9.0 + +
Fixed Bugs and Malfunctions + + +

+ Fixed a bug where duplicate keys were allowed in the .app + file of an application. Duplicate keys are now rejected + and the application will not start if they exist.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18210 Aux Id: GH-5877 PR-5878

+
+ +

+ Fix inconsistent handling in logger_formatter of the + branched values in conditional branches. For example + using msg in a conditional branch would not be + formatted as it should before this fix.

+

+ Own Id: OTP-18225 Aux Id: PR-6036

+
+ +

+ Fix the logger_std_h handler to log to standard_error if + logging to standard_io fails for any reason.

+

+ Own Id: OTP-18226 Aux Id: PR-6253

+
+ +

+ Fix the TLS distribution to work when starting Erlang in + embedded mode and a connection is done before kernel is + fully started.

+

+ Own Id: OTP-18248 Aux Id: PR-6227 GH-6085

+
+ +

+ erl -remsh has been improved to provide better + error reasons and work when using a shell without + terminal support (that is an "oldshell").

+

+ Own Id: OTP-18271 Aux Id: PR-6279

+
+ +

+ Fix logging of log events generated before kernel is + started to not fail if the code for formatting those log + messaged have not yet been loaded.

+

+ Own Id: OTP-18286 Aux Id: PR-5955

+
+ +

proc_lib:start*/* has become synchronous when + the started process fails. This requires that a failing + process use a new function proc_lib:init_fail/2,3, + or exits, to indicate failure. All OTP behaviours have + been fixed to do this.

All these start functions + now consume the 'EXIT' message from a process link + for all error returns. Previously it was only the + start_link/* functions that did this, and only + when the started function exited, not when it used + init_ack/1,2 or init_fail/2,3 to create the + return value.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18471 Aux Id: GH-6339, PR-6843

+
+ +

Fixed a bug where file:read(standard_io, ...) + unexpectedly returned eof in binary mode.

+

+ Own Id: OTP-18486 Aux Id: PR-6881

+
+ +

+ Return type for seq_trace:get_token/1 fixed.

+

+ Own Id: OTP-18528 Aux Id: PR-7009

+
+ +

+ Looking up, connecting to and sending to a host with an + empty name is now handled by trying to look up the + address of the root domain, which fails. Previously some + of these operations caused an internal exception, which + contradicted type specifications.

+

+ Own Id: OTP-18543 Aux Id: GH-6353

+
+ +

+ Replaced a regex with a special case handling of ANSI + Select Graphic Rendition escape characters, to speed up + io output that make use of these escape sequences.

+

+ Own Id: OTP-18547 Aux Id: PR-7092

+
+
+
+ + +
Improvements and New Features + + +

The Erlang shell has been improved to support the + following features:

Auto-complete + variables, record names, record field names, map keys, + function parameter types and filenames. Open + external editor in the shell (with C-o) to edit the + current expression in an editor. Support + defining records (with types), functions and function + typespecs, and custom types in the shell. Do + not save pager commands, and input to io:getline in + history. +

+ Own Id: OTP-14835 Aux Id: PR-5924

+
+ +

The TTY/terminal subsystem has been rewritten by + moving more code to Erlang from the old linked-in driver + and implementing all the I/O primitives needed in a NIF + instead.

On Unix platforms the user should not + notice a lot of difference, besides better handling of + unicode characters and fixing of some long standing bugs. +

Windows users will notice that erl.exe has the + same functionality as a normal Unix shell and that + werl.exe has been removed and replaced with a symlink to + erl.exe. This makes the Windows Erlang terminal + experience identical to that of Unix.

The + re-write brings with it a number of bug fixes and feature + additions:

The TTY is now reset when + Erlang exits, fixing zsh to not break when terminating an + Erlang session. standard_error now + uses the same unicode mode as standard_io. + Hitting backspace when searching the shell history + with an empty search string no longer breaks the + shell. Tab expansion now works on remote + nodes started using the JCL interface. It is + now possible to configure the shell slogan and the + session slogans (that is the texts that appear when you + start an Erlang shell). See the kernel documentation for + more details. Added shell:start_interactive + for starting the interactive shell from a non-interactive + Erlang session (for example an escript). On + Windows, when starting in detached mode the standard + handler are now set to nul devices instead of + being unset. Standard I/O now always + defaults to unicode mode if supported. Previously + the default was latin1 if the runtime system had + been started with -oldshell or -noshell + (for example in an escript). To send raw bytes + over standard out, one now explicitly has to specify + io:setopts(standard_io, [{encoding, latin1}]). + +

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343 + GH-4225

+
+ +

Add support for socket on Windows.

+ Pre release status. Error codes not + finalized. No explicit support for Windows + specific options (socket options, flags for read and + write). New async api for Windows + (completion). See the Asynchronous calls chapter + in the (Socket Usage) Users Guide. To ensure + platform independence, gen_tcp and gen_udp is + intended to be used (not yet updated). + +

+ Own Id: OTP-18029

+
+ +

As announced since the release of OTP 24, support + for:

version 4 node container types + in the external term format are now mandatory. That is, + references supporting up to 5 32-bit integer identifiers, + and process and port identifiers with support for 64-bit + data storage. The distribution flag DFLAG_V4_NC + is therefor now also mandatory. OTP has since OTP 24 + supported this. Also note that the external format + produced by term_to_binary() and + term_to_iovec() will unconditionally produce pids, + ports, and references supporting this larger format. +

the new + link protocol introduced in OTP 23.3 is now + mandatory. The distribution flag DFLAG_UNLINK_ID + is therefor now also mandatory.

+

Due to the above, OTP 26 nodes will refuse to connect + to OTP nodes from releases prior to OTP 24.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18140 Aux Id: PR-6072

+
+ +

Support for Kernel TLS (kTLS), has been added to the + SSL application, for TLS distribution (-proto_dist + inet_tls), the SSL option {ktls, true}. Using + this for general SSL sockets is uncomfortable, + undocumented and not recommended since it requires very + platform dependent raw options.

This, for now, + only works for some not too old Linux distributions. + Roughly, a kernel 5.2.0 or later with support for + UserLand Protocols and the kernel module tls is + required.

+

+ Own Id: OTP-18235 Aux Id: PR-6104, PR-5840

+
+ +

+ Add code:get_doc/2 which adds support to fetch + documentation skeletons of functions using debug_info + chunks instead of eep48 doc chunks.

+

+ Own Id: OTP-18261 Aux Id: PR-5924

+
+ +

+ The Erlang shell's auto-completion when typing tab + has been changed to happen after the editing current line + instead of before it.

+

+ This behaviour can be configured using a the + shell_expand_location STDLIB configuration + parameter.

+

+ Own Id: OTP-18278 Aux Id: PR-6260

+
+ +

+ Typing Ctrl+L in a shell now clears the screen and + redraws the current line instead of only redrawing the + current line. To only redraw the current line, you must + now type Alt+L. This brings the behaviour of + Ctrl+L closer to how bash and other shells work.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18285 Aux Id: PR-6262

+
+ +

+ gen_server optimized by caching callback functions

+

+ Own Id: OTP-18305 Aux Id: PR-5831

+
+ +

+ Prepare the pg communication protocol for upgrade. + The plan is for OTP-28 nodes to be able to use an + upgraded pg protocol while still being able to + talk with OTP 26 nodes.

+

+ Own Id: OTP-18327 Aux Id: PR-6433

+
+ +

+ New disk_log log type rotate, where the log + files are compressed upon rotation.

+

+ Own Id: OTP-18331 Aux Id: ERIERL-870

+
+ +

The following inet:setopts/2 + options have been introduced:

reuseport +

Reuse of local port. Load balancing may or may + not be provided depending on underlying OS.

+ reuseport_lb +

Reuse of local port. Load balancing + provided.

exclusiveaddruse +

Exclusive address/port usage on Windows. This + socket option is Windows specific and will silently be + ignored on other systems.

The + behavior of setting reuseaddr + on Windows have changed in a backwards + incompatible way. The underlying SO_REUSEADDR + socket option is now only set if both the reusaddr + and the reuseport inet options have been + set. This since the underlying SO_REUSEADDR socket + option on Windows behaves similar to how BSD behaves if + both the underlying socket options SO_REUSEADDR + and SO_REUSEPORT have been set. See the + documentation of the reuseaddr option for more + information.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18344 Aux Id: PR-6522, PR-6944, OTP-18324, + PR-6481, GH-6461

+
+ +

+ Replace size/1 with either tuple_size/1 or byte_size/1

+

+ The size/1 BIF is not optimized by the JIT, and + its use can result in worse types for Dialyzer.

+

+ When one knows that the value being tested must be a + tuple, tuple_size/1 should always be preferred.

+

+ When one knows that the value being tested must be a + binary, byte_size/1 should be preferred. However, + byte_size/1 also accepts a bitstring (rounding up + size to a whole number of bytes), so one must make sure + that the call to byte_size/ is preceded by a call + to is_binary/1 to ensure that bitstrings are + rejected. Note that the compiler removes redundant calls + to is_binary/1, so if one is not sure whether + previous code had made sure that the argument is a + binary, it does not harm to add an is_binary/1 + test immediately before the call to byte_size/1.

+

+ Own Id: OTP-18405 Aux Id: + GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814

+
+ +

The function file:pid2name/1 is deprecated and + will be removed in Erlang/OTP 27.

+

+ Own Id: OTP-18419

+
+ +

+ The modules Erlang DNS resolver inet_res and + helper modules have been updated for RFC6891; to handle + OPT RR with DNSSEC OK (DO) bit.

+

+ Own Id: OTP-18442 Aux Id: PR-6786, GH-6606

+
+ +

+ Introduced application:get_supervisor/1.

+

+ Own Id: OTP-18444 Aux Id: PR-6035

+
+ +

Handling of on_load modules during boot has + been improved by adding an extra step in the boot order + for embedded mode that runs all on_load handlers, + instead of relying on explicit invocation of them, later, + when the kernel supervision tree starts.

This is + mostly a code improvement and OTP internal simplification + to avoid future bugs and to simplify code maintenance. +

+

+ Own Id: OTP-18447

+
+ +

+ Reduce contention on the code_server by doing the code + preparation on the client.

+

+ Own Id: OTP-18448 Aux Id: PR-6736

+
+ +

+ Added a mode to ensure_all_loaded, to start children + application and their dependencies concurrently.

+

+ Own Id: OTP-18451 Aux Id: PR-6737

+
+ +

+ Cache OTP boot code paths, to limit how many folders that + are being accessed during a module lookup. Can be + disabled with -cache_boot_path false. OTP boot code paths + consists of ERL_LIB environment variables. The various + otp/*/ebin folders. And the {path, ...} clauses in the + init script.

+

+ Own Id: OTP-18452 Aux Id: PR-6729

+
+ +

+ Erlang distribution code in Kernel and SSL has been + refactored a bit to facilitate debugging and + re-usability, which shouldn't have any noticeable effects + on behaviour or performance.

+

+ Own Id: OTP-18456

+
+ +

+ Add cache attribute to code path apis.

+

+ Added an optional cache/nocache argument to all + code:add_path*, code:set_path*, and code:replace_path* + functions. These functions will then avoid doing + file-accesses if they are cached. Cache can be cleared + with code:clear_cache/0. Added code:del_paths/1 to make + it easier to clear multiple paths.

+

+ Own Id: OTP-18466 Aux Id: PR-6832

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

+ Improvements to code:ensure_modules_loaded/1: Previously + it would prepare modules and then abandon references to + said modules if they had on_load callbacks. This pull + request makes it so they keep the references around and + then serially load them without having to fetch the + object code and prepare them again.

+

+ Own Id: OTP-18484 Aux Id: PR-6844

+
+ +

+ The internal DNS resolver has been updated to handle DNS + LOC RR:s (RFC 1876). This is an undocumented module, + although still used by power users. See the source code.

+

+ Own Id: OTP-18510 Aux Id: GH-6098, PR-6982

+
+ +

+ Reduced memory consumption in global when + informing other nodes about lost connections.

+

+ Own Id: OTP-18521 Aux Id: PR-7025

+
+ +

+ The net_kernel, global, and + global_group servers now have fully + asynchronous distributed signaling enabled + all the time which prevents them from ever getting + blocked on send of distributed signals.

+

+ Documentation about blocking distributed signals has also + been improved.

+

+ Own Id: OTP-18533 Aux Id: PR-7061

+
+ +

+ Allow IPv6 addresses as host in http packets + decoded by erlang:decode_packet/3 and + gen_tcp packet option. The IPv6 address should be + enclosed within [] according to RFC2732.

+

+ Own Id: OTP-18540 Aux Id: PR-6900

+
+ +

+ Remove deprecated functions in OTP-26

+

+ Own Id: OTP-18542

+
+ +

+ Removed code:is_module_native/1 since HiPE has + been removed. It has since OTP 24 been deprecated and + scheduled for removal in OTP 26.

+

+ Removed code:rehash/0 since the code path feature + no longer is present. It has since OTP 19 been deprecated + and has since OTP 24 been scheduled for removal in OTP + 26.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18551 Aux Id: PR-7106

+
+ +

Added support for multiple line expressions and + navigation in the shell. Added new keybindings:

+ navigate up (ctrl+up)/(alt+up) + navigate down (ctrl+down)/(alt+down) + insert newline in middle of line (alt+enter) + navigate top (alt+<)/(alt+shift+up) + navigate bottom + (alt+>)/(alt+shift+down) clear current + expression (alt+c) cancel search (alt+c) + opening editor on mac (option+o)/(alt+o) +

Modifies the prompt for new lines to + make it clearer that the prompt has entered multi-line + mode. Supports terminal with small window size, recommend + not go lower than 7 rows and 40 columns. Modifies the + search prompt to support multi-line statements. Redraw + the prompt after continuing from JCL menu.

+

+ Own Id: OTP-18575 Aux Id: PR-7169

+
+
+
+ +
+
Kernel 8.5.4
Fixed Bugs and Malfunctions diff --git a/lib/kernel/src/kernel.app.src b/lib/kernel/src/kernel.app.src index 5e76e55911..10705d9d76 100644 --- a/lib/kernel/src/kernel.app.src +++ b/lib/kernel/src/kernel.app.src @@ -160,7 +160,7 @@ {shell_docs_ansi,auto} ]}, {mod, {kernel, []}}, - {runtime_dependencies, ["erts-@OTP-18248:OTP-18344@", "stdlib-@OTP-17932@", + {runtime_dependencies, ["erts-14.0", "stdlib-5.0", "sasl-3.0", "crypto-5.0"]} ] }. diff --git a/lib/kernel/src/kernel.appup.src b/lib/kernel/src/kernel.appup.src index 709a405244..279d6989ea 100644 --- a/lib/kernel/src/kernel.appup.src +++ b/lib/kernel/src/kernel.appup.src @@ -19,26 +19,16 @@ %% %% We allow upgrade from, and downgrade to all previous %% versions from the following OTP releases: -%% - OTP 23 %% - OTP 24 %% - OTP 25 +%% - OTP 26 %% %% We also allow upgrade from, and downgrade to all %% versions that have branched off from the above %% stated previous versions. %% {"%VSN%", - [{<<"^7\\.0$">>,[restart_new_emulator]}, - {<<"^7\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.1$">>,[restart_new_emulator]}, - {<<"^7\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.2$">>,[restart_new_emulator]}, - {<<"^7\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^7\\.3$">>,[restart_new_emulator]}, - {<<"^7\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^8\\.0$">>,[restart_new_emulator]}, + [{<<"^8\\.0$">>,[restart_new_emulator]}, {<<"^8\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^8\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, @@ -61,18 +51,9 @@ {<<"^8\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^8\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], - [{<<"^7\\.0$">>,[restart_new_emulator]}, - {<<"^7\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.1$">>,[restart_new_emulator]}, - {<<"^7\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.2$">>,[restart_new_emulator]}, - {<<"^7\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.2\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^7\\.3$">>,[restart_new_emulator]}, - {<<"^7\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^7\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^8\\.0$">>,[restart_new_emulator]}, + {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], + [{<<"^8\\.0$">>,[restart_new_emulator]}, {<<"^8\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^8\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, @@ -95,4 +76,5 @@ {<<"^8\\.5\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^8\\.5\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^8\\.5\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. + {<<"^8\\.5\\.3(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^8\\.5\\.4(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. diff --git a/lib/kernel/vsn.mk b/lib/kernel/vsn.mk index 12a1996eb5..78d04715a7 100644 --- a/lib/kernel/vsn.mk +++ b/lib/kernel/vsn.mk @@ -1 +1 @@ -KERNEL_VSN = 8.5.4 +KERNEL_VSN = 9.0 diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml index 9e181c589c..ac9758f4c4 100644 --- a/lib/megaco/doc/src/notes.xml +++ b/lib/megaco/doc/src/notes.xml @@ -37,7 +37,25 @@ section is the version number of Megaco.

-
Megaco 4.4.3 +
Megaco 4.4.4 + +
Fixed Bugs and Malfunctions + + +

+ Removed configure option --enable-sanitizers. It + was untested and broken. Address sanitizer for the + emulator has better support by the asan build + target.

+

+ Own Id: OTP-18538 Aux Id: GH-7031, PR-7078

+
+
+
+ +
+ +
Megaco 4.4.3
Improvements and New Features diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk index dad5cd8bea..6ce328da3c 100644 --- a/lib/megaco/vsn.mk +++ b/lib/megaco/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = megaco -MEGACO_VSN = 4.4.3 +MEGACO_VSN = 4.4.4 PRE_VSN = APP_VSN = "$(APPLICATION)-$(MEGACO_VSN)$(PRE_VSN)" diff --git a/lib/mnesia/doc/src/notes.xml b/lib/mnesia/doc/src/notes.xml index 16c844dc4b..555fd62f8c 100644 --- a/lib/mnesia/doc/src/notes.xml +++ b/lib/mnesia/doc/src/notes.xml @@ -39,7 +39,31 @@ thus constitutes one section in this document. The title of each section is the version number of Mnesia.

-
Mnesia 4.21.4 +
Mnesia 4.22 + +
Improvements and New Features + + +

+ Added debug statistics for active transactions.

+

+ Own Id: OTP-18309 Aux Id: PR-6377

+
+ +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+
+
+ +
+ +
Mnesia 4.21.4
Fixed Bugs and Malfunctions diff --git a/lib/mnesia/src/mnesia.app.src b/lib/mnesia/src/mnesia.app.src index dfb5e82c93..6ce0c68de8 100644 --- a/lib/mnesia/src/mnesia.app.src +++ b/lib/mnesia/src/mnesia.app.src @@ -51,4 +51,4 @@ ]}, {applications, [kernel, stdlib]}, {mod, {mnesia_app, []}}, - {runtime_dependencies, ["stdlib-@OTP-18490@","kernel-5.3","erts-9.0"]}]}. + {runtime_dependencies, ["stdlib-5.0","kernel-5.3","erts-9.0"]}]}. diff --git a/lib/mnesia/vsn.mk b/lib/mnesia/vsn.mk index ca16e64482..88974e5a03 100644 --- a/lib/mnesia/vsn.mk +++ b/lib/mnesia/vsn.mk @@ -1 +1 @@ -MNESIA_VSN = 4.21.4 +MNESIA_VSN = 4.22 diff --git a/lib/observer/doc/src/notes.xml b/lib/observer/doc/src/notes.xml index a32302ee95..c702a74ee7 100644 --- a/lib/observer/doc/src/notes.xml +++ b/lib/observer/doc/src/notes.xml @@ -32,6 +32,34 @@

This document describes the changes made to the Observer application.

+
Observer 2.15 + +
Improvements and New Features + + +

Runtime dependencies have been updated.

+

+ Own Id: OTP-18350

+
+ +

+ Added start/1, start_and_wait functions/1|2 + functions.

+

+ Own Id: OTP-18430 Aux Id: PR-6397

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+
+
+ +
+
Observer 2.14
Fixed Bugs and Malfunctions diff --git a/lib/observer/src/observer.app.src b/lib/observer/src/observer.app.src index 215dfabf40..0839870143 100644 --- a/lib/observer/src/observer.app.src +++ b/lib/observer/src/observer.app.src @@ -67,5 +67,5 @@ {registered, []}, {applications, [kernel, stdlib]}, {env, []}, - {runtime_dependencies, ["wx-@OTP-18350@","stdlib-@OTP-18350@","runtime_tools-1.19", - "kernel-@OTP-18350@","et-1.5","erts-@OTP-18350@"]}]}. + {runtime_dependencies, ["wx-2.3","stdlib-5.0","runtime_tools-1.19", + "kernel-9.0","et-1.5","erts-14.0"]}]}. diff --git a/lib/observer/vsn.mk b/lib/observer/vsn.mk index 2a308d0c55..7e52eea3f7 100644 --- a/lib/observer/vsn.mk +++ b/lib/observer/vsn.mk @@ -1 +1 @@ -OBSERVER_VSN = 2.14 +OBSERVER_VSN = 2.15 diff --git a/lib/odbc/doc/src/notes.xml b/lib/odbc/doc/src/notes.xml index 8526a5b383..c1df6c476b 100644 --- a/lib/odbc/doc/src/notes.xml +++ b/lib/odbc/doc/src/notes.xml @@ -32,7 +32,23 @@

This document describes the changes made to the odbc application.

-
ODBC 2.14 +
ODBC 2.14.1 + +
Improvements and New Features + + +

+ Allow larger column sizes than 8001 in case DB supports + it.

+

+ Own Id: OTP-18539

+
+
+
+ +
+ +
ODBC 2.14
Improvements and New Features diff --git a/lib/odbc/vsn.mk b/lib/odbc/vsn.mk index 7856175267..3694ab678b 100644 --- a/lib/odbc/vsn.mk +++ b/lib/odbc/vsn.mk @@ -1 +1 @@ -ODBC_VSN = 2.14 +ODBC_VSN = 2.14.1 diff --git a/lib/os_mon/doc/src/disksup.xml b/lib/os_mon/doc/src/disksup.xml index 4dd81e6099..97872c9f3b 100644 --- a/lib/os_mon/doc/src/disksup.xml +++ b/lib/os_mon/doc/src/disksup.xml @@ -139,7 +139,7 @@ - get_disk_info() -> [DiskData] + get_disk_info() -> [DiskData] Immediately get information for the disks in the system DiskData = {Id, TotalKiB, AvailableKiB, Capacity} @@ -159,7 +159,7 @@ - get_disk_info(Path) -> DiskData + get_disk_info(Path) -> DiskData Immediately get information for a single path DiskData = [{Id, TotalKiB, AvailableKiB, Capacity}] diff --git a/lib/os_mon/doc/src/notes.xml b/lib/os_mon/doc/src/notes.xml index 439c1e839a..164566b2c3 100644 --- a/lib/os_mon/doc/src/notes.xml +++ b/lib/os_mon/doc/src/notes.xml @@ -31,6 +31,58 @@

This document describes the changes made to the OS_Mon application.

+
Os_Mon 2.9 + +
Fixed Bugs and Malfunctions + + +

+ Fix internal os_mon_sysinfo:get_disk_info/1 function to + not crash when run on Windows with multiple drives.

+

+ Own Id: OTP-18246 Aux Id: PR-6284 GH-6156

+
+ +

+ Fixed a memory leak when calling cpu_sup:util/0,1 + on FreeBSD.

+

+ Own Id: OTP-18546 Aux Id: GH-7070, PR-7071

+
+
+
+ + +
Improvements and New Features + + +

+ The disksup:get_disk_info/0 + and disksup:get_disk_info/1 + functions have been introduced. These can be used in + order to immediately fetch information about current disk + usage.

+

+ Own Id: OTP-18303 Aux Id: PR-6384

+
+ +

Runtime dependencies have been updated.

+

+ Own Id: OTP-18350

+
+ +

+ Support for cpu_sup:util() on OpenBSD.

+

+ Own Id: OTP-18566 Aux Id: PR-7080

+
+
+
+ +
+
Os_Mon 2.8.2
Fixed Bugs and Malfunctions diff --git a/lib/os_mon/src/os_mon.app.src b/lib/os_mon/src/os_mon.app.src index 883be4f047..e78e8dae27 100644 --- a/lib/os_mon/src/os_mon.app.src +++ b/lib/os_mon/src/os_mon.app.src @@ -31,4 +31,4 @@ {start_memsup, true}, {start_os_sup, false}]}, {mod, {os_mon, []}}, - {runtime_dependencies, ["stdlib-@OTP-18350@","sasl-@OTP-18350@","kernel-@OTP-18350@","erts-@OTP-18350@"]}]}. + {runtime_dependencies, ["stdlib-5.0","sasl-4.2.1","kernel-9.0","erts-14.0"]}]}. diff --git a/lib/os_mon/vsn.mk b/lib/os_mon/vsn.mk index d6878e6773..b109e7a0ab 100644 --- a/lib/os_mon/vsn.mk +++ b/lib/os_mon/vsn.mk @@ -1 +1 @@ -OS_MON_VSN = 2.8.2 +OS_MON_VSN = 2.9 diff --git a/lib/parsetools/doc/src/notes.xml b/lib/parsetools/doc/src/notes.xml index 6d79b4ce49..f5fb18c801 100644 --- a/lib/parsetools/doc/src/notes.xml +++ b/lib/parsetools/doc/src/notes.xml @@ -31,6 +31,21 @@

This document describes the changes made to the Parsetools application.

+
Parsetools 2.5 + +
Improvements and New Features + + +

Leex has been extended with optional column number + support.

+

+ Own Id: OTP-18491 Aux Id: PR-6882

+
+
+
+ +
+
Parsetools 2.4.1
Improvements and New Features diff --git a/lib/parsetools/vsn.mk b/lib/parsetools/vsn.mk index f903e0274d..003682dd60 100644 --- a/lib/parsetools/vsn.mk +++ b/lib/parsetools/vsn.mk @@ -1 +1 @@ -PARSETOOLS_VSN = 2.4.1 +PARSETOOLS_VSN = 2.5 diff --git a/lib/public_key/doc/src/notes.xml b/lib/public_key/doc/src/notes.xml index 70e1c819f3..20e96b08dc 100644 --- a/lib/public_key/doc/src/notes.xml +++ b/lib/public_key/doc/src/notes.xml @@ -35,6 +35,27 @@ notes.xml +
Public_Key 1.14 + +
Improvements and New Features + + +

Handling of on_load modules during boot has + been improved by adding an extra step in the boot order + for embedded mode that runs all on_load handlers, + instead of relying on explicit invocation of them, later, + when the kernel supervision tree starts.

This is + mostly a code improvement and OTP internal simplification + to avoid future bugs and to simplify code maintenance. +

+

+ Own Id: OTP-18447

+
+
+
+ +
+
Public_Key 1.13.3
Fixed Bugs and Malfunctions diff --git a/lib/public_key/vsn.mk b/lib/public_key/vsn.mk index 850e86ef69..332583742a 100644 --- a/lib/public_key/vsn.mk +++ b/lib/public_key/vsn.mk @@ -1 +1 @@ -PUBLIC_KEY_VSN = 1.13.3 +PUBLIC_KEY_VSN = 1.14 diff --git a/lib/reltool/doc/src/notes.xml b/lib/reltool/doc/src/notes.xml index 346a80ef54..6cc06b521c 100644 --- a/lib/reltool/doc/src/notes.xml +++ b/lib/reltool/doc/src/notes.xml @@ -38,7 +38,46 @@ thus constitutes one section in this document. The title of each section is the version number of Reltool.

-
Reltool 0.9.1 +
Reltool 1.0 + +
Improvements and New Features + + +

+ Add possibility to strip specific chunks from beam files + included in a release. Before this change it was only + possible to strip all chunks from the beam files.

+

+ Own Id: OTP-18230 Aux Id: PR-5936

+
+ +

Runtime dependencies have been updated.

+

+ Own Id: OTP-18350

+
+ +

Support for the experimental code archives feature has + been removed from reltool.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18488 Aux Id: PR-6836

+
+ +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+
+
+ +
+ +
Reltool 0.9.1
Fixed Bugs and Malfunctions diff --git a/lib/reltool/src/reltool.app.src b/lib/reltool/src/reltool.app.src index 421ca01ea3..03d67ee585 100644 --- a/lib/reltool/src/reltool.app.src +++ b/lib/reltool/src/reltool.app.src @@ -37,7 +37,7 @@ {applications, [stdlib, kernel]}, {env, []}, {runtime_dependencies, - ["wx-@OTP-18350@","tools-2.6.14", - "stdlib-@OTP-18490@","stdlib-@OTP-18350@","sasl-@OTP-18350@", - "kernel-@OTP-18350@","erts-@OTP-18350@"]} + ["wx-2.3","tools-2.6.14", + "stdlib-5.0","stdlib-5.0","sasl-4.2.1", + "kernel-9.0","erts-14.0"]} ]}. diff --git a/lib/reltool/vsn.mk b/lib/reltool/vsn.mk index 2fa512829c..6a81d9b40c 100644 --- a/lib/reltool/vsn.mk +++ b/lib/reltool/vsn.mk @@ -1 +1 @@ -RELTOOL_VSN = 0.9.1 +RELTOOL_VSN = 1.0 diff --git a/lib/runtime_tools/doc/src/notes.xml b/lib/runtime_tools/doc/src/notes.xml index 56c77be0a4..7e25c3c5cc 100644 --- a/lib/runtime_tools/doc/src/notes.xml +++ b/lib/runtime_tools/doc/src/notes.xml @@ -32,6 +32,71 @@

This document describes the changes made to the Runtime_Tools application.

+
Runtime_Tools 2.0 + +
Fixed Bugs and Malfunctions + + +

Fixed the type specification for + instrument:carriers/0,1

+

+ Own Id: OTP-18499 Aux Id: PR-6946

+
+
+
+ + +
Improvements and New Features + + +

+ Add dbg:tracer(file, Filename) as a convenient way + to trace to a file in clean text.

+

+ Own Id: OTP-18211 Aux Id: PR-6143

+
+ +

Handling of on_load modules during boot has + been improved by adding an extra step in the boot order + for embedded mode that runs all on_load handlers, + instead of relying on explicit invocation of them, later, + when the kernel supervision tree starts.

This is + mostly a code improvement and OTP internal simplification + to avoid future bugs and to simplify code maintenance. +

+

+ Own Id: OTP-18447

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

The instrument module has been moved from + tools to runtime_tools.

+

+ Own Id: OTP-18487 Aux Id: PR-6829

+
+ +

+ Removed the experimental erts_alloc_config module. + It no longer produced good configurations and cannot be + fixed in a reasonably backwards compatible manner. It has + since OTP 25 been deprecated and scheduled for removal in + OTP 26.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18549 Aux Id: PR-7105

+
+
+
+ +
+
Runtime_Tools 1.19
Fixed Bugs and Malfunctions diff --git a/lib/runtime_tools/vsn.mk b/lib/runtime_tools/vsn.mk index 15ef680b67..6a374f92d4 100644 --- a/lib/runtime_tools/vsn.mk +++ b/lib/runtime_tools/vsn.mk @@ -1 +1 @@ -RUNTIME_TOOLS_VSN = 1.19 +RUNTIME_TOOLS_VSN = 2.0 diff --git a/lib/sasl/doc/src/notes.xml b/lib/sasl/doc/src/notes.xml index 78de4f2f39..2ba4c74362 100644 --- a/lib/sasl/doc/src/notes.xml +++ b/lib/sasl/doc/src/notes.xml @@ -31,6 +31,23 @@

This document describes the changes made to the SASL application.

+
SASL 4.2.1 + +
Fixed Bugs and Malfunctions + + +

Improved error message from + systools:make_script, when .app parameters contain + duplicates. The parameters that will be checked are + modules, applications and registered.

+

+ Own Id: OTP-18300 Aux Id: PR-6389

+
+
+
+ +
+
SASL 4.2
Fixed Bugs and Malfunctions diff --git a/lib/sasl/src/sasl.appup.src b/lib/sasl/src/sasl.appup.src index 3752c085e2..644de80438 100644 --- a/lib/sasl/src/sasl.appup.src +++ b/lib/sasl/src/sasl.appup.src @@ -19,28 +19,24 @@ %% %% We allow upgrade from, and downgrade to all previous %% versions from the following OTP releases: -%% - OTP 23 %% - OTP 24 %% - OTP 25 +%% - OTP 26 %% %% We also allow upgrade from, and downgrade to all %% versions that have branched off from the above %% stated previous versions. %% {"%VSN%", - [{<<"^4\\.0$">>,[restart_new_emulator]}, - {<<"^4\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^4\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^4\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^4\\.1$">>,[restart_new_emulator]}, + [{<<"^4\\.1$">>,[restart_new_emulator]}, {<<"^4\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], - [{<<"^4\\.0$">>,[restart_new_emulator]}, - {<<"^4\\.0\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^4\\.0\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^4\\.0\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^4\\.1$">>,[restart_new_emulator]}, + {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^4\\.2$">>,[restart_new_emulator]}, + {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}], + [{<<"^4\\.1$">>,[restart_new_emulator]}, {<<"^4\\.1\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^4\\.1\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. + {<<"^4\\.1\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, + {<<"^4\\.2$">>,[restart_new_emulator]}, + {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}. diff --git a/lib/sasl/vsn.mk b/lib/sasl/vsn.mk index 0fbf91bf53..569f493b68 100644 --- a/lib/sasl/vsn.mk +++ b/lib/sasl/vsn.mk @@ -1 +1 @@ -SASL_VSN = 4.2 +SASL_VSN = 4.2.1 diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml index 01cff8fa4b..55d8be32f2 100644 --- a/lib/snmp/doc/src/notes.xml +++ b/lib/snmp/doc/src/notes.xml @@ -34,7 +34,25 @@ -
SNMP 5.13.5 +
SNMP 5.14 + +
Improvements and New Features + + +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+
+
+ +
+ +
SNMP 5.13.5
Improvements and New Features diff --git a/lib/snmp/src/app/snmp.app.src b/lib/snmp/src/app/snmp.app.src index 2d97cb652d..db82fe52ec 100644 --- a/lib/snmp/src/app/snmp.app.src +++ b/lib/snmp/src/app/snmp.app.src @@ -142,5 +142,5 @@ {applications, [kernel, stdlib]}, {mod, {snmp_app, []}}, {runtime_dependencies, - ["stdlib-@OTP-18490@","runtime_tools-1.8.14","mnesia-4.12", + ["stdlib-5.0","runtime_tools-1.8.14","mnesia-4.12", "kernel-8.0","erts-12.0","crypto-4.6"]}]}. diff --git a/lib/snmp/vsn.mk b/lib/snmp/vsn.mk index 13c7e9790e..102997609a 100644 --- a/lib/snmp/vsn.mk +++ b/lib/snmp/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = snmp -SNMP_VSN = 5.13.5 +SNMP_VSN = 5.14 PRE_VSN = APP_VSN = "$(APPLICATION)-$(SNMP_VSN)$(PRE_VSN)" diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml index b445e649f8..4736255a26 100644 --- a/lib/ssh/doc/src/notes.xml +++ b/lib/ssh/doc/src/notes.xml @@ -30,6 +30,50 @@ notes.xml +
Ssh 5.0 + +
Improvements and New Features + + +

+ The ssh_cli has been updated to work with the changes + introduced in the new Erlang shell implementation.

+

+ Own Id: OTP-18231 Aux Id: OTP-17932 PR-6144

+
+ +

+ Typing Ctrl+L in a shell now clears the screen and + redraws the current line instead of only redrawing the + current line. To only redraw the current line, you must + now type Alt+L. This brings the behaviour of + Ctrl+L closer to how bash and other shells work.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18285 Aux Id: PR-6262

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+
+
+ +
+
Ssh 4.15.3
Fixed Bugs and Malfunctions diff --git a/lib/ssh/src/ssh.app.src b/lib/ssh/src/ssh.app.src index 5e0c756cba..fedd05e350 100644 --- a/lib/ssh/src/ssh.app.src +++ b/lib/ssh/src/ssh.app.src @@ -59,9 +59,9 @@ {mod, {ssh_app, []}}, {runtime_dependencies, [ "crypto-5.0", - "erts-@OTP-17932@", - "kernel-@OTP-17932@", + "erts-14.0", + "kernel-9.0", "public_key-1.6.1", - "stdlib-@OTP-18490@","stdlib-@OTP-17932@", + "stdlib-5.0","stdlib-5.0", "runtime_tools-1.15.1" ]}]}. diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk index 6fa9e323c5..b5b7991fe1 100644 --- a/lib/ssh/vsn.mk +++ b/lib/ssh/vsn.mk @@ -1,4 +1,4 @@ #-*-makefile-*- ; force emacs to enter makefile-mode -SSH_VSN = 4.15.3 +SSH_VSN = 5.0 APP_VSN = "ssh-$(SSH_VSN)" diff --git a/lib/ssl/doc/src/notes.xml b/lib/ssl/doc/src/notes.xml index 911055d742..5b767d2d01 100644 --- a/lib/ssl/doc/src/notes.xml +++ b/lib/ssl/doc/src/notes.xml @@ -27,6 +27,208 @@

This document describes the changes made to the SSL application.

+
SSL 11.0 + +
Improvements and New Features + + +

+ Remove less that 256 bit ECC from default supported ECC + pre TLS-1.3

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-14771

+
+ +

+ Improved error checking and handling of ssl options.

+

+ Own Id: OTP-15903

+
+ +

+ With this change, stateless tickets generated by server + with anti_replay option enabled can be used for creating + ClientHello throughout ticket lifetime. Without this + change, usability was limited to WindowSize number of + seconds configured for anti_replay option.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18168 Aux Id: PR-6019, GH-6014

+
+ +

Support for Kernel TLS (kTLS), has been added to the + SSL application, for TLS distribution (-proto_dist + inet_tls), the SSL option {ktls, true}. Using + this for general SSL sockets is uncomfortable, + undocumented and not recommended since it requires very + platform dependent raw options.

This, for now, + only works for some not too old Linux distributions. + Roughly, a kernel 5.2.0 or later with support for + UserLand Protocols and the kernel module tls is + required.

+

+ Own Id: OTP-18235 Aux Id: PR-6104, PR-5840

+
+ +

+ With this change, TLS 1.3 server can be configured to + include client certificate in session ticket.

+

+ Own Id: OTP-18253

+
+ +

+ With this change, it is possible to configure encryption + seed to be used with TLS1.3 stateless tickets. This + enables using tickets on different server instances.

+

+ Own Id: OTP-18254 Aux Id: PR-5982

+
+ +

+ Debugging enhancements.

+

+ Own Id: OTP-18312

+
+ +

+ With this change, maybe keyword atom is not used as + function name in ssl code.

+

+ Own Id: OTP-18335

+
+ +

+ Replace size/1 with either tuple_size/1 or byte_size/1

+

+ The size/1 BIF is not optimized by the JIT, and + its use can result in worse types for Dialyzer.

+

+ When one knows that the value being tested must be a + tuple, tuple_size/1 should always be preferred.

+

+ When one knows that the value being tested must be a + binary, byte_size/1 should be preferred. However, + byte_size/1 also accepts a bitstring (rounding up + size to a whole number of bytes), so one must make sure + that the call to byte_size/ is preceded by a call + to is_binary/1 to ensure that bitstrings are + rejected. Note that the compiler removes redundant calls + to is_binary/1, so if one is not sure whether + previous code had made sure that the argument is a + binary, it does not harm to add an is_binary/1 + test immediately before the call to byte_size/1.

+

+ Own Id: OTP-18405 Aux Id: + GH-6672,PR-6702,PR-6768,PR-6700,PR-6769,PR-6812,PR-6814

+
+ +

+ For security reasons remove support for SHA1 and DSA + algorithms from default values.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18438 Aux Id: GH-6679

+
+ +

+ Mitigate memory usage from large certificate chains by + lowering the maximum handshake size. This should not + effect the common cases, if needed it can be configured + to a higher value.

+

+ Own Id: OTP-18453

+
+ +

+ Change the client default verify option to verify_peer. + Note that this makes it mandatory to also supply trusted + CA certificates or explicitly set verify to verify_none. + This also applies when using the so called anonymous test + cipher suites defined in TLS versions pre TLS-1.3.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18455 Aux Id: GH-5899

+
+ +

+ Erlang distribution code in Kernel and SSL has been + refactored a bit to facilitate debugging and + re-usability, which shouldn't have any noticeable effects + on behaviour or performance.

+

+ Own Id: OTP-18456

+
+ +

+ Add encoding and decoding of use_srtp hello extension to + facilitate for DTLS users to implement SRTP + functionality.

+

+ Own Id: OTP-18459

+
+ +

+ Refactors the (ssl application to use macros for + TLS and DTLS versions instead of hard-coded tuple + numbers. This change improves the maintainability of + ssl

+

+ Own Id: OTP-18465 Aux Id: GH-7065

+
+ +

+ If the function ssl:renegotiate/1 is called on connection + that is running TLS-1.3 return an error instead of + hanging or timing out.

+

+ Own Id: OTP-18507

+
+ +

+ If a user cancel alert with level warning is received + during handshake make it be handled the same regardless + of TLS version. If it is received in connection in + TLS-1.3 regard it as an error as it is inappropriate.

+

+ In TLS-1.3 all error alerts are considered FATAL + regardless of legacy alert type. But make sure legacy + type is printed in logs to not confuse users that are + expecting the same legacy type as sent by peer.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18531

+
+ +

+ Make fail_if_no_peer_cert default true if + verify_peer is set on the server, otherwise the server + will accept the connection if verify_peer is set and the + user have forgot to set the fail_if_no_peer_cert and the + client did not send a certificate.

+

+ Own Id: OTP-18567

+
+ +

+ To make it easier to configure signature algorithms with + algorithms that are moved from the default add the API + function signature_algs/2 that lists possible values. + Also make sha224 a non default value.

+

+ Own Id: OTP-18572

+
+
+
+ +
+
SSL 10.9.1
Fixed Bugs and Malfunctions diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml index b4a30a68c8..4fda1a3161 100644 --- a/lib/ssl/doc/src/ssl.xml +++ b/lib/ssl/doc/src/ssl.xml @@ -2175,7 +2175,7 @@ fun(srp, Username :: binary(), UserState :: term()) -> - + Returns a list of signature algorithms/schemes

Lists all possible signature algorithms corresponding to diff --git a/lib/ssl/src/ssl.app.src b/lib/ssl/src/ssl.app.src index abc5d278a8..b9f69af6a3 100644 --- a/lib/ssl/src/ssl.app.src +++ b/lib/ssl/src/ssl.app.src @@ -88,6 +88,6 @@ {applications, [crypto, public_key, kernel, stdlib]}, {env, []}, {mod, {ssl_app, []}}, - {runtime_dependencies, ["stdlib-4.1","public_key-1.11.3","kernel-@OTP-18235@", - "erts-@OTP-18248@","crypto-5.0", "inets-5.10.7", + {runtime_dependencies, ["stdlib-4.1","public_key-1.11.3","kernel-9.0", + "erts-14.0","crypto-5.0", "inets-5.10.7", "runtime_tools-1.15.1"]}]}. diff --git a/lib/ssl/vsn.mk b/lib/ssl/vsn.mk index db6de41e50..de283ec08a 100644 --- a/lib/ssl/vsn.mk +++ b/lib/ssl/vsn.mk @@ -1 +1 @@ -SSL_VSN = 10.9.1 +SSL_VSN = 11.0 diff --git a/lib/stdlib/doc/src/base64.xml b/lib/stdlib/doc/src/base64.xml index a4ab294336..e3d217ca39 100644 --- a/lib/stdlib/doc/src/base64.xml +++ b/lib/stdlib/doc/src/base64.xml @@ -103,10 +103,10 @@ - - - - + + + + Decode a base64 encoded string to data. @@ -163,8 +163,8 @@ - - + + Encode data into base64. diff --git a/lib/stdlib/doc/src/binary.xml b/lib/stdlib/doc/src/binary.xml index 07f55ed30e..6f55d6d327 100644 --- a/lib/stdlib/doc/src/binary.xml +++ b/lib/stdlib/doc/src/binary.xml @@ -244,7 +244,7 @@ - + Encodes a binary into a hex encoded binary with specified case

Encodes a binary into a hex encoded binary using the specified case for the hexadecimal digits "a" to "f".

diff --git a/lib/stdlib/doc/src/edlin_expand.xml b/lib/stdlib/doc/src/edlin_expand.xml index 62e634c1a5..d95d0bf0e4 100644 --- a/lib/stdlib/doc/src/edlin_expand.xml +++ b/lib/stdlib/doc/src/edlin_expand.xml @@ -28,7 +28,7 @@ - edlin_expand + edlin_expand Shell expansion and formatting of expansion suggestions.

This module provides an expand_fun for the erlang shell @@ -38,8 +38,8 @@ - - + + Standard expanion function for the erl shell.

The standard expansion function is able to expand strings to diff --git a/lib/stdlib/doc/src/ets.xml b/lib/stdlib/doc/src/ets.xml index 2aa05a599a..855f38d2ae 100644 --- a/lib/stdlib/doc/src/ets.xml +++ b/lib/stdlib/doc/src/ets.xml @@ -999,7 +999,7 @@ Error: fun containing local Erlang function calls - + Return the Pos:th element of all objects with a specified key in an ETS table, or Default if there is no such object. diff --git a/lib/stdlib/doc/src/lists.xml b/lib/stdlib/doc/src/lists.xml index 1a14654821..8bf10b71b5 100644 --- a/lib/stdlib/doc/src/lists.xml +++ b/lib/stdlib/doc/src/lists.xml @@ -177,7 +177,7 @@ - + Annotates elements with their index.

Returns List1 with each element @@ -1059,7 +1059,7 @@ splitwith(Pred, List) -> - + Zip two lists into a list of two-tuples.

"Zips" two lists into one list of two-tuples, @@ -1098,7 +1098,7 @@ splitwith(Pred, List) -> - + Zip three lists into a list of three-tuples.

"Zips" three lists into one list of @@ -1113,7 +1113,7 @@ splitwith(Pred, List) -> - + Zip two lists into one list according to a fun.

Combines the elements of two lists into one list. @@ -1133,7 +1133,7 @@ splitwith(Pred, List) -> - + Zip three lists into one list according to a fun.

Combines the elements of three lists into one diff --git a/lib/stdlib/doc/src/math.xml b/lib/stdlib/doc/src/math.xml index 69df237496..c0b0d60f61 100644 --- a/lib/stdlib/doc/src/math.xml +++ b/lib/stdlib/doc/src/math.xml @@ -110,7 +110,7 @@ erf(X) = 2/sqrt(pi)*integral from 0 to X of exp(-t*t) dt. - + Ratio of the circumference of a circle to its radius.

Ratio of the circumference of a circle to its radius.

diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index 0906db1359..3f9edddbc1 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,6 +31,451 @@

This document describes the changes made to the STDLIB application.

+
STDLIB 5.0 + +
Fixed Bugs and Malfunctions + + +

+ All process calls in dets have been updated to use + the receive queue optimizations.

+

+ Own Id: OTP-18275 Aux Id: PR-6045

+
+ +

proc_lib:start*/* has become synchronous when + the started process fails. This requires that a failing + process use a new function proc_lib:init_fail/2,3, + or exits, to indicate failure. All OTP behaviours have + been fixed to do this.

All these start functions + now consume the 'EXIT' message from a process link + for all error returns. Previously it was only the + start_link/* functions that did this, and only + when the started function exited, not when it used + init_ack/1,2 or init_fail/2,3 to create the + return value.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18471 Aux Id: GH-6339, PR-6843

+
+ +

Fixed a bug where file:read(standard_io, ...) + unexpectedly returned eof in binary mode.

+

+ Own Id: OTP-18486 Aux Id: PR-6881

+
+ +

In the shell, v(N) would fail to retrieve the + command if the command's return value was + undefined.

+

+ Own Id: OTP-18548 Aux Id: PR-6967

+
+
+
+ + +
Improvements and New Features + + +

The Erlang shell has been improved to support the + following features:

Auto-complete + variables, record names, record field names, map keys, + function parameter types and filenames. Open + external editor in the shell (with C-o) to edit the + current expression in an editor. Support + defining records (with types), functions and function + typespecs, and custom types in the shell. Do + not save pager commands, and input to io:getline in + history. +

+ Own Id: OTP-14835 Aux Id: PR-5924

+
+ +

+ Gen_server now caches external functions for use in + handle_call, handle_cast and handle_info.

+

+ Own Id: OTP-15597 Aux Id: PR-5831

+
+ +

The TTY/terminal subsystem has been rewritten by + moving more code to Erlang from the old linked-in driver + and implementing all the I/O primitives needed in a NIF + instead.

On Unix platforms the user should not + notice a lot of difference, besides better handling of + unicode characters and fixing of some long standing bugs. +

Windows users will notice that erl.exe has the + same functionality as a normal Unix shell and that + werl.exe has been removed and replaced with a symlink to + erl.exe. This makes the Windows Erlang terminal + experience identical to that of Unix.

The + re-write brings with it a number of bug fixes and feature + additions:

The TTY is now reset when + Erlang exits, fixing zsh to not break when terminating an + Erlang session. standard_error now + uses the same unicode mode as standard_io. + Hitting backspace when searching the shell history + with an empty search string no longer breaks the + shell. Tab expansion now works on remote + nodes started using the JCL interface. It is + now possible to configure the shell slogan and the + session slogans (that is the texts that appear when you + start an Erlang shell). See the kernel documentation for + more details. Added shell:start_interactive + for starting the interactive shell from a non-interactive + Erlang session (for example an escript). On + Windows, when starting in detached mode the standard + handler are now set to nul devices instead of + being unset. Standard I/O now always + defaults to unicode mode if supported. Previously + the default was latin1 if the runtime system had + been started with -oldshell or -noshell + (for example in an escript). To send raw bytes + over standard out, one now explicitly has to specify + io:setopts(standard_io, [{encoding, latin1}]). + +

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-17932 Aux Id: PR-6144 GH-3150 GH-3390 GH-4343 + GH-4225

+
+ +

Added the zip:zip_get_crc32/2 function to + retrieve the CRC32 checksum from an opened ZIP + archive.

+

+ Own Id: OTP-18159 Aux Id: PR-6904

+
+ +

+ Added the options post_process_args and + detached to the peer:start function.

+

+ Own Id: OTP-18176 Aux Id: PR-6118

+
+ +

The re:replace/3,4 functions now accept a fun + as the replacement argument.

+

+ Own Id: OTP-18221 Aux Id: PR-6197

+
+ +

The performance of the base64 module has been + significantly improved. For example, on an x86_64 system + with the JIT both encode and decode are more than three + times faster than in Erlang/OTP 25.

+

+ Own Id: OTP-18228 Aux Id: GH-5639

+
+ +

+ Improved implementation of timer:apply_interval/4 + reducing load on the timer server, and introduction of + the new function timer:apply_repeatedly/4. + timer:apply_repeatedly/4 is similar to + timer:apply_interval/4, but + timer:apply_repeatedly/4 prevents parallel + execution of triggered apply operations which + timer:apply_interval/4 does not.

+

+ Own Id: OTP-18236 Aux Id: PR-6256

+
+ +

The base64 module now supports encoding and + decoding with an alternate URL safe alphabet, and an + option for accepting or adding missing = padding + characters.

+

+ Own Id: OTP-18247 Aux Id: PR-6280, PR-6711

+
+ +

+ Add shell:whereis/0 which can be used to locate + the current shell process.

+

+ Own Id: OTP-18272 Aux Id: PR-6279

+
+ +

+ The Erlang shell's auto-completion when typing tab + has been changed to happen after the editing current line + instead of before it.

+

+ This behaviour can be configured using a the + shell_expand_location STDLIB configuration + parameter.

+

+ Own Id: OTP-18278 Aux Id: PR-6260

+
+ +

+ New function ets:lookup_element/4 with a + Default argument returned if the key did not exist + in the table. The old ets:lookup_element/3 raises + a badarg exception which can be both inconvenient + and slower.

+

+ Own Id: OTP-18279 Aux Id: PR-6234

+
+ +

+ Typing Ctrl+L in a shell now clears the screen and + redraws the current line instead of only redrawing the + current line. To only redraw the current line, you must + now type Alt+L. This brings the behaviour of + Ctrl+L closer to how bash and other shells work.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18285 Aux Id: PR-6262

+
+ +

+ peer nodes using standard_io connections + now include standard error from the node in the io stream + from the started node.

+

+ Own Id: OTP-18287 Aux Id: PR-5955

+
+ +

A limitation in the binary syntax has been removed. It + is now possible to match binary patterns in parallel. + Example: <<A:8>> = <<B:4,C:4>> + = Bin

+

+ Own Id: OTP-18297 Aux Id: GH-6348

+
+ +

+ Improve type specification of + unicode:characters_to_list().

+

+ Own Id: OTP-18301 Aux Id: PR-6350

+
+ +

In the lists module, the zip family of + functions now takes options to allow handling lists of + different lengths.

+

+ Own Id: OTP-18318 Aux Id: PR-6347

+
+ +

It is documented that $\^X is the ASCII code + for Control X, where X is an uppercase or lowercase + letter. However, this notation would work for any + character X, even then it didn't make sense.

+

In Erlang/OTP 26, it is now documented that the + following characters are also allowed to follow the + \^ characters: @, [, \, + ], ^, _, and ?. Attempt to + use other characters will be rejected with a compiler + error.

+

The value for $\^? is now 127 (instead of 31 as + in earlier releases).

+

+ Own Id: OTP-18337 Aux Id: GH-6477, PR-6503

+
+ +

The binary:encode_hex/2 function has been added + to allow the encoded hexadecimal digits to be in either + lower or upper case.

+

+ Own Id: OTP-18354 Aux Id: PR-6297

+
+ +

+ Variants of timer:tc() with user specified time + unit have been introduced.

+

+ Own Id: OTP-18355 Aux Id: PR-6507

+
+ +

+ New function math:tau/0. Returns + 2*math:pi().

+

+ Own Id: OTP-18361 Aux Id: PR-6536

+
+ +

The BIFs min/2 and max/2 are now allowed + to be used in guards and match specs.

+

+ Own Id: OTP-18367 Aux Id: GH-6544

+
+ +

+ Optimized gen_server:multi_call().

+

+ Own Id: OTP-18385 Aux Id: PR-6698

+
+ +

Map comprehensions as suggested in EEP 58 has now been + implemented.

+

+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727

+
+ +

Some map operations have been optimized by changing + the internal sort order of atom keys. This changes the + (undocumented) order of how atom keys in small maps are + printed and returned by maps:to_list/1 and + maps:next/1. The new order is unpredictable and + may change between different invocations of the Erlang + VM.

+

For applications where order is important, there is a + new function maps:iterator/2 for creating + iterators that return the map elements in a deterministic + order. There are also new modifiers k and K + for the format string for io:format() to support + printing map elements ordered.

+

+ Own Id: OTP-18414 Aux Id: PR-6151

+
+ +

+ Make gen_server fail "silently" with a new return value + for init/1.

+

+ Own Id: OTP-18423 Aux Id: + https://github.com/erlang/backlog/issues/142

+
+ +

Improved the selective receive optimization, which can + now be enabled for references returned from other + functions.

+

This greatly improves the performance of + gen_server:send_request/3, + gen_server:wait_response/2, and similar + functions.

+

+ Own Id: OTP-18431 Aux Id: PR-6739

+
+ +

It is no longer necessary to enable a feature in the + runtime system in order to load modules that are using + it. It is sufficient to enable the feature in the + compiler when compiling it.

+

That means that to use feature maybe_expr in + Erlang/OTP 26, it is sufficient to enable it during + compilation.

+

In Erlang/OTP 27, feature maybe_expr will be + enabled by default, but it will be possible to disable + it.

+

+ Own Id: OTP-18445

+
+ +

+ Static supervisors are very idle processes after they + have started so they will now be hibernated after start + to improve resource management.

+

+ Own Id: OTP-18474 Aux Id: PR-6895

+
+ +

+ Deprecates dbg:stop_clear/0 because it is simply a + function alias to dbg:stop/0

+

+ Own Id: OTP-18478 Aux Id: GH-6903

+
+ +

Support has been added in ms_transform for the + actions caller_line/0, + current_stacktrace/0, and + current_stacktrace/1.

+

+ Own Id: OTP-18494 Aux Id: PR-6924

+
+ +

The family of enumeration functions in module + lists has been extended with enumerate/3 + that allows a step value to be supplied.

+

+ Own Id: OTP-18495 Aux Id: PR-6943

+
+ +

+ Update Unicode to version 15.0.0.

+

+ Own Id: OTP-18500

+
+ +

The regular expression library powering the re + module is likely to be changed in Erlang/OTP 27. See + Upcoming + Potential Incompatibilities.

+

+ Own Id: OTP-18511 Aux Id: PR-7017

+
+ +

Improved the performance of sets:subtract/2 + when subtracting a small number of elements.

+

+ Own Id: OTP-18515 Aux Id: GH-6990

+
+ +

The linter will no longer raise warnings for + underspecified opaque types.

+

+ Own Id: OTP-18518 Aux Id: GH-7015

+
+ +

Added the new built-in type dynamic() + introduced in EEP-61, improving support for gradual type + checkers.

+

+ Own Id: OTP-18522

+
+ +

+ The by gen_statem previously used call proxy + process that was used for preventing late replies from + reaching the client at timeout or connection loss has + been removed. It is no longer needed since process + aliases take care of this, are used, and supported by + all Erlang nodes that an OTP 26 Erlang node can + communicate with.

+

+ Own Id: OTP-18537 Aux Id: PR-7081

+
+ +

Added the argparse module for simplified + argument handling in escripts and similar.

+

+ Own Id: OTP-18558 Aux Id: PR-6852

+
+ +

Added support for multiple line expressions and + navigation in the shell. Added new keybindings:

+ navigate up (ctrl+up)/(alt+up) + navigate down (ctrl+down)/(alt+down) + insert newline in middle of line (alt+enter) + navigate top (alt+<)/(alt+shift+up) + navigate bottom + (alt+>)/(alt+shift+down) clear current + expression (alt+c) cancel search (alt+c) + opening editor on mac (option+o)/(alt+o) +

Modifies the prompt for new lines to + make it clearer that the prompt has entered multi-line + mode. Supports terminal with small window size, recommend + not go lower than 7 rows and 40 columns. Modifies the + search prompt to support multi-line statements. Redraw + the prompt after continuing from JCL menu.

+

+ Own Id: OTP-18575 Aux Id: PR-7169

+
+
+
+ +
+
STDLIB 4.3.1
Fixed Bugs and Malfunctions diff --git a/lib/stdlib/doc/src/shell.xml b/lib/stdlib/doc/src/shell.xml index ba6dc771e9..187b719dd2 100644 --- a/lib/stdlib/doc/src/shell.xml +++ b/lib/stdlib/doc/src/shell.xml @@ -957,7 +957,7 @@ q - quit erlang - + Start the interactive shell

Starts the interactive shell if it has not already been started. @@ -967,9 +967,9 @@ q - quit erlang - - - + + + Start the interactive shell

Starts the interactive shell if it has not already been started. @@ -1075,7 +1075,7 @@ q - quit erlang - + Return the current shell process.

Returns the current shell process on the node where the diff --git a/lib/stdlib/doc/src/timer.xml b/lib/stdlib/doc/src/timer.xml index 3fceddbec6..75706f7b2d 100644 --- a/lib/stdlib/doc/src/timer.xml +++ b/lib/stdlib/doc/src/timer.xml @@ -112,7 +112,7 @@ - + Spawn a process evaluating Module:Function(Arguments) repeatedly at intervals of Time. @@ -341,9 +341,9 @@ - - - + + + Measure the real time it takes to evaluate apply(Module, Function, Arguments) or apply(Fun, Arguments). In the specified TimeUnit diff --git a/lib/stdlib/doc/src/zip.xml b/lib/stdlib/doc/src/zip.xml index 6ba9f4c212..5d5d83d270 100644 --- a/lib/stdlib/doc/src/zip.xml +++ b/lib/stdlib/doc/src/zip.xml @@ -507,7 +507,7 @@ - + Extracts a crc32 checksum from an open archive.

Extracts one crc32 checksum from an open archive.

diff --git a/lib/stdlib/src/stdlib.app.src b/lib/stdlib/src/stdlib.app.src index a71ad0a954..2422a4def4 100644 --- a/lib/stdlib/src/stdlib.app.src +++ b/lib/stdlib/src/stdlib.app.src @@ -115,6 +115,6 @@ dets]}, {applications, [kernel]}, {env, []}, - {runtime_dependencies, ["sasl-3.0","kernel-@OTP-17932@","erts-13.1","crypto-4.5", + {runtime_dependencies, ["sasl-3.0","kernel-9.0","erts-13.1","crypto-4.5", "compiler-5.0"]} ]}. diff --git a/lib/stdlib/src/stdlib.appup.src b/lib/stdlib/src/stdlib.appup.src index 13efc74d85..922f4f8767 100644 --- a/lib/stdlib/src/stdlib.appup.src +++ b/lib/stdlib/src/stdlib.appup.src @@ -19,24 +19,16 @@ %% %% We allow upgrade from, and downgrade to all previous %% versions from the following OTP releases: -%% - OTP 23 %% - OTP 24 %% - OTP 25 +%% - OTP 26 %% %% We also allow upgrade from, and downgrade to all %% versions that have branched off from the above %% stated previous versions. %% {"%VSN%", - [{<<"^3\\.13$">>,[restart_new_emulator]}, - {<<"^3\\.13\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.13\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.13\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.14$">>,[restart_new_emulator]}, - {<<"^3\\.14\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.14\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.14\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.15$">>,[restart_new_emulator]}, + [{<<"^3\\.15$">>,[restart_new_emulator]}, {<<"^3\\.15\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^3\\.15\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.15\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, @@ -56,16 +48,9 @@ {<<"^4\\.2$">>,[restart_new_emulator]}, {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^4\\.3$">>,[restart_new_emulator]}, - {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}], - [{<<"^3\\.13$">>,[restart_new_emulator]}, - {<<"^3\\.13\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.13\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.13\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.14$">>,[restart_new_emulator]}, - {<<"^3\\.14\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, - {<<"^3\\.14\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.14\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, - {<<"^3\\.15$">>,[restart_new_emulator]}, + {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}], + [{<<"^3\\.15$">>,[restart_new_emulator]}, {<<"^3\\.15\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^3\\.15\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, {<<"^3\\.15\\.2(?:\\.[0-9]+)*$">>,[restart_new_emulator]}, @@ -85,4 +70,5 @@ {<<"^4\\.2$">>,[restart_new_emulator]}, {<<"^4\\.2\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, {<<"^4\\.3$">>,[restart_new_emulator]}, - {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}]}. + {<<"^4\\.3\\.0(?:\\.[0-9]+)+$">>,[restart_new_emulator]}, + {<<"^4\\.3\\.1(?:\\.[0-9]+)*$">>,[restart_new_emulator]}]}. diff --git a/lib/stdlib/vsn.mk b/lib/stdlib/vsn.mk index d6706e69bf..a114206c29 100644 --- a/lib/stdlib/vsn.mk +++ b/lib/stdlib/vsn.mk @@ -1 +1 @@ -STDLIB_VSN = 4.3.1 +STDLIB_VSN = 5.0 diff --git a/lib/syntax_tools/doc/src/notes.xml b/lib/syntax_tools/doc/src/notes.xml index a4633065d0..f01a8b73c3 100644 --- a/lib/syntax_tools/doc/src/notes.xml +++ b/lib/syntax_tools/doc/src/notes.xml @@ -32,6 +32,21 @@

This document describes the changes made to the Syntax_Tools application.

+
Syntax_Tools 3.1 + +
Improvements and New Features + + +

Map comprehensions as suggested in EEP 58 has now been + implemented.

+

+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727

+
+
+
+ +
+
Syntax_Tools 3.0.1
Fixed Bugs and Malfunctions diff --git a/lib/syntax_tools/vsn.mk b/lib/syntax_tools/vsn.mk index 1955fbdbc1..acc6cd01b7 100644 --- a/lib/syntax_tools/vsn.mk +++ b/lib/syntax_tools/vsn.mk @@ -1 +1 @@ -SYNTAX_TOOLS_VSN = 3.0.1 +SYNTAX_TOOLS_VSN = 3.1 diff --git a/lib/tftp/doc/src/notes.xml b/lib/tftp/doc/src/notes.xml index e74800639b..81fda37336 100644 --- a/lib/tftp/doc/src/notes.xml +++ b/lib/tftp/doc/src/notes.xml @@ -33,7 +33,25 @@ notes.xml -
Tftp 1.0.4 +
Tftp 1.1 + +
Improvements and New Features + + +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+
+
+ +
+ +
Tftp 1.0.4
Improvements and New Features diff --git a/lib/tftp/src/tftp.app.src b/lib/tftp/src/tftp.app.src index 28040ca142..2f6b4793a2 100644 --- a/lib/tftp/src/tftp.app.src +++ b/lib/tftp/src/tftp.app.src @@ -18,5 +18,5 @@ tftp_logger, tftp_sup ]}, - {runtime_dependencies, ["erts-6.0","stdlib-@OTP-18490@","kernel-6.0"]} + {runtime_dependencies, ["erts-6.0","stdlib-5.0","kernel-6.0"]} ]}. diff --git a/lib/tftp/vsn.mk b/lib/tftp/vsn.mk index d1a14b4255..8c81f083cc 100644 --- a/lib/tftp/vsn.mk +++ b/lib/tftp/vsn.mk @@ -19,6 +19,6 @@ # %CopyrightEnd% APPLICATION = tftp -TFTP_VSN = 1.0.4 +TFTP_VSN = 1.1 PRE_VSN = APP_VSN = "$(APPLICATION)-$(TFTP_VSN)$(PRE_VSN)" diff --git a/lib/tools/doc/src/notes.xml b/lib/tools/doc/src/notes.xml index 84a6019e57..babc9fde4d 100644 --- a/lib/tools/doc/src/notes.xml +++ b/lib/tools/doc/src/notes.xml @@ -31,6 +31,27 @@

This document describes the changes made to the Tools application.

+
Tools 3.6 + +
Improvements and New Features + + +

Map comprehensions as suggested in EEP 58 has now been + implemented.

+

+ Own Id: OTP-18413 Aux Id: EEP-58, PR-6727

+
+ +

The instrument module has been moved from + tools to runtime_tools.

+

+ Own Id: OTP-18487 Aux Id: PR-6829

+
+
+
+ +
+
Tools 3.5.3
Improvements and New Features diff --git a/lib/tools/vsn.mk b/lib/tools/vsn.mk index 2d58c23e21..cfff79e80d 100644 --- a/lib/tools/vsn.mk +++ b/lib/tools/vsn.mk @@ -1 +1 @@ -TOOLS_VSN = 3.5.3 +TOOLS_VSN = 3.6 diff --git a/lib/wx/doc/src/notes.xml b/lib/wx/doc/src/notes.xml index 08e339e097..751b51c527 100644 --- a/lib/wx/doc/src/notes.xml +++ b/lib/wx/doc/src/notes.xml @@ -32,6 +32,29 @@

This document describes the changes made to the wxErlang application.

+
Wx 2.3 + +
Improvements and New Features + + +

Runtime dependencies have been updated.

+

+ Own Id: OTP-18350

+
+ +

The implementation has been fixed to use + proc_lib:init_fail/2,3 where appropriate, instead + of proc_lib:init_ack/1,2.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-18490 Aux Id: OTP-18471, GH-6339, PR-6843

+
+
+
+ +
+
Wx 2.2.2
Fixed Bugs and Malfunctions diff --git a/lib/wx/src/wx.app.src b/lib/wx/src/wx.app.src index 228800b76a..8b6298fb68 100644 --- a/lib/wx/src/wx.app.src +++ b/lib/wx/src/wx.app.src @@ -35,5 +35,5 @@ {registered, []}, {applications, [stdlib, kernel]}, {env, []}, - {runtime_dependencies, ["stdlib-@OTP-18490@","kernel-8.0","erts-12.0"]} + {runtime_dependencies, ["stdlib-5.0","kernel-8.0","erts-12.0"]} ]}. diff --git a/lib/wx/vsn.mk b/lib/wx/vsn.mk index 78f0fd3395..f6a9358c91 100644 --- a/lib/wx/vsn.mk +++ b/lib/wx/vsn.mk @@ -1 +1 @@ -WX_VSN = 2.2.2 +WX_VSN = 2.3 diff --git a/make/otp_version_tickets b/make/otp_version_tickets index b8220e1a87..7e02e09798 100644 --- a/make/otp_version_tickets +++ b/make/otp_version_tickets @@ -1 +1,186 @@ -DEVELOPMENT +OTP-14771 +OTP-14835 +OTP-15597 +OTP-15903 +OTP-16607 +OTP-16875 +OTP-17771 +OTP-17932 +OTP-18016 +OTP-18029 +OTP-18053 +OTP-18126 +OTP-18131 +OTP-18135 +OTP-18137 +OTP-18140 +OTP-18141 +OTP-18150 +OTP-18159 +OTP-18167 +OTP-18168 +OTP-18176 +OTP-18185 +OTP-18188 +OTP-18204 +OTP-18206 +OTP-18209 +OTP-18210 +OTP-18211 +OTP-18221 +OTP-18223 +OTP-18225 +OTP-18226 +OTP-18227 +OTP-18228 +OTP-18230 +OTP-18231 +OTP-18235 +OTP-18236 +OTP-18237 +OTP-18238 +OTP-18246 +OTP-18247 +OTP-18248 +OTP-18253 +OTP-18254 +OTP-18259 +OTP-18261 +OTP-18271 +OTP-18272 +OTP-18274 +OTP-18275 +OTP-18276 +OTP-18277 +OTP-18278 +OTP-18279 +OTP-18282 +OTP-18285 +OTP-18286 +OTP-18287 +OTP-18297 +OTP-18300 +OTP-18301 +OTP-18303 +OTP-18305 +OTP-18309 +OTP-18310 +OTP-18312 +OTP-18318 +OTP-18327 +OTP-18331 +OTP-18334 +OTP-18335 +OTP-18337 +OTP-18338 +OTP-18340 +OTP-18342 +OTP-18344 +OTP-18350 +OTP-18354 +OTP-18355 +OTP-18359 +OTP-18360 +OTP-18361 +OTP-18364 +OTP-18367 +OTP-18369 +OTP-18377 +OTP-18385 +OTP-18389 +OTP-18405 +OTP-18410 +OTP-18413 +OTP-18414 +OTP-18419 +OTP-18423 +OTP-18424 +OTP-18425 +OTP-18430 +OTP-18431 +OTP-18435 +OTP-18438 +OTP-18439 +OTP-18440 +OTP-18441 +OTP-18442 +OTP-18444 +OTP-18445 +OTP-18447 +OTP-18448 +OTP-18451 +OTP-18452 +OTP-18453 +OTP-18455 +OTP-18456 +OTP-18459 +OTP-18465 +OTP-18466 +OTP-18468 +OTP-18471 +OTP-18474 +OTP-18476 +OTP-18477 +OTP-18478 +OTP-18483 +OTP-18484 +OTP-18485 +OTP-18486 +OTP-18487 +OTP-18488 +OTP-18490 +OTP-18491 +OTP-18492 +OTP-18493 +OTP-18494 +OTP-18495 +OTP-18498 +OTP-18499 +OTP-18500 +OTP-18501 +OTP-18502 +OTP-18505 +OTP-18507 +OTP-18510 +OTP-18511 +OTP-18513 +OTP-18515 +OTP-18517 +OTP-18518 +OTP-18520 +OTP-18521 +OTP-18522 +OTP-18523 +OTP-18524 +OTP-18526 +OTP-18528 +OTP-18530 +OTP-18531 +OTP-18533 +OTP-18534 +OTP-18536 +OTP-18537 +OTP-18538 +OTP-18539 +OTP-18540 +OTP-18541 +OTP-18542 +OTP-18543 +OTP-18544 +OTP-18546 +OTP-18547 +OTP-18548 +OTP-18549 +OTP-18551 +OTP-18552 +OTP-18558 +OTP-18561 +OTP-18562 +OTP-18564 +OTP-18566 +OTP-18567 +OTP-18569 +OTP-18571 +OTP-18572 +OTP-18574 +OTP-18575 diff --git a/system/doc/efficiency_guide/maps.xml b/system/doc/efficiency_guide/maps.xml index ce78863953..fdb84fca78 100644 --- a/system/doc/efficiency_guide/maps.xml +++ b/system/doc/efficiency_guide/maps.xml @@ -517,7 +517,7 @@ new() ->

- Before OTP @OTP-18502@ maps:get/3 was implemented by calling + Before OTP 26.0 maps:get/3 was implemented by calling the function instead of rewriting it as an Erlang expression. It is now slightly faster but can no longer be traced.

@@ -597,7 +597,7 @@ new() ->

The sharing of key tuples by maps:merge/2 was introduced in - OTP @OTP-18523@. Older versions always contructed a new key tuple on + OTP 26.0. Older versions always contructed a new key tuple on the callers heap.

-- cgit v1.2.1