aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2020-04-22 12:34:51 +0200
committerLoïc Hoguin <[email protected]>2020-04-22 12:34:51 +0200
commit5754eb0920e9ff38b77e91ccfcf48974fcd40e7c (patch)
treeebd1391862313af04bbf676078f526d9b70b4203
parent1a3484a5a1828cbb08860383ef72a537f4ed6af9 (diff)
downloadci.erlang.mk-5754eb0920e9ff38b77e91ccfcf48974fcd40e7c.tar.gz
ci.erlang.mk-5754eb0920e9ff38b77e91ccfcf48974fcd40e7c.tar.bz2
ci.erlang.mk-5754eb0920e9ff38b77e91ccfcf48974fcd40e7c.zip
OTP-23.0-rc3
-rw-r--r--early-plugins.mk4
-rw-r--r--release-notes/OTP-23.0-rc3.README.txt2888
2 files changed, 2890 insertions, 2 deletions
diff --git a/early-plugins.mk b/early-plugins.mk
index 5835adf..4ed5fa7 100644
--- a/early-plugins.mk
+++ b/early-plugins.mk
@@ -28,7 +28,7 @@ OTP-19 := OTP-19.0.7 OTP-19.1.6 OTP-19.2.3 OTP-19.3.6.13
OTP-20 := OTP-20.0.5 OTP-20.1.7 OTP-20.2.4 OTP-20.3.8.26
OTP-21 := OTP-21.0.9 OTP-21.1.4 OTP-21.2.7 OTP-21.3.8.14
OTP-22 := OTP-22.0.7 OTP-22.1.8 OTP-22.2.8 OTP-22.3.2
-OTP-23 := OTP-23.0-rc2
+OTP-23 := OTP-23.0-rc3
OTP-18+ := $(OTP-18) $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23)
OTP-19+ := $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23)
@@ -83,7 +83,7 @@ OTP-22-DROPPED := OTP-22.0-rc1 OTP-22.0-rc2 OTP-22.0-rc3 OTP-22.0 \
OTP-22.1 OTP-22.1.1 OTP-22.1.2 OTP-22.1.3 OTP-22.1.4 OTP-22.1.5 \
OTP-22.1.6 OTP-22.1.7 OTP-22.2 OTP-22.2.1 OTP-22.2.2 OTP-22.2.3 \
OTP-22.2.4 OTP-22.2.6 OTP-22.2.7 OTP-22.3 OTP-22.3.1
-OTP-23-DROPPED := OTP-23.0-rc1
+OTP-23-DROPPED := OTP-23.0-rc1 OTP-23.0-rc2
OTP-DROPPED := $(OTP-18-DROPPED) $(OTP-19-DROPPED) $(OTP-20-DROPPED) \
$(OTP-21-DROPPED) $(OTP-22-DROPPED) $(OTP-23-DROPPED)
diff --git a/release-notes/OTP-23.0-rc3.README.txt b/release-notes/OTP-23.0-rc3.README.txt
new file mode 100644
index 0000000..11f13c4
--- /dev/null
+++ b/release-notes/OTP-23.0-rc3.README.txt
@@ -0,0 +1,2888 @@
+Inital Release: OTP 23.0
+Git Tag: OTP-23.0
+Date: 2020-04-22
+Trouble Report Id: OTP-10278, OTP-11688, OTP-13450, OTP-13812,
+ OTP-14708, OTP-14734, OTP-14790, OTP-15077,
+ OTP-15232, OTP-15247, OTP-15251, OTP-15299,
+ OTP-15434, OTP-15517, OTP-15589, OTP-15603,
+ OTP-15618, OTP-15695, OTP-15744, OTP-15812,
+ OTP-15835, OTP-15837, OTP-15840, OTP-15842,
+ OTP-15866, OTP-15868, OTP-15915, OTP-15925,
+ OTP-15948, OTP-15950, OTP-15956, OTP-15967,
+ OTP-15995, OTP-15998, OTP-15999, OTP-16005,
+ OTP-16007, OTP-16008, OTP-16014, OTP-16026,
+ OTP-16029, OTP-16055, OTP-16072, OTP-16073,
+ OTP-16105, OTP-16120, OTP-16127, OTP-16128,
+ OTP-16148, OTP-16155, OTP-16160, OTP-16168,
+ OTP-16171, OTP-16189, OTP-16210, OTP-16214,
+ OTP-16215, OTP-16222, OTP-16229, OTP-16232,
+ OTP-16237, OTP-16244, OTP-16250, OTP-16251,
+ OTP-16252, OTP-16260, OTP-16264, OTP-16270,
+ OTP-16273, OTP-16275, OTP-16276, OTP-16283,
+ OTP-16284, OTP-16289, OTP-16312, OTP-16327,
+ OTP-16328, OTP-16329, OTP-16345, OTP-16346,
+ OTP-16347, OTP-16362, OTP-16363, OTP-16367,
+ OTP-16368, OTP-16369, OTP-16370, OTP-16386,
+ OTP-16391, OTP-16394, OTP-16395, OTP-16398,
+ OTP-16400, OTP-16402, OTP-16406, OTP-16419,
+ OTP-16429, OTP-16431, OTP-16432, OTP-16453,
+ OTP-16454, OTP-16455, OTP-16463, OTP-16469,
+ OTP-16470, OTP-16478, OTP-16480, OTP-16482,
+ OTP-16483, OTP-16484, OTP-16487, OTP-16489,
+ OTP-16490, OTP-16492, OTP-16494, OTP-16495,
+ OTP-16496, OTP-16497, OTP-16499, OTP-16500,
+ OTP-16501, OTP-16502, OTP-16503, OTP-16504,
+ OTP-16505, OTP-16506, OTP-16508, OTP-16509,
+ OTP-16510, OTP-16511, OTP-16512, OTP-16513,
+ OTP-16516, OTP-16519, OTP-16521, OTP-16523,
+ OTP-16530, OTP-16531, OTP-16533, OTP-16540,
+ OTP-16541, OTP-16543, OTP-16544, OTP-16545,
+ OTP-16549, OTP-16551, OTP-16552, OTP-16554,
+ OTP-16561, OTP-16562, OTP-16563, OTP-16570,
+ OTP-16571, OTP-16573, OTP-16576, OTP-16579,
+ OTP-16583, OTP-16594, OTP-16607, OTP-16615,
+ OTP-16616, OTP-16617
+Seq num: ERIERL-402, ERIERL-477, ERL-1002, ERL-1003,
+ ERL-1051, ERL-1053, ERL-1057, ERL-1058,
+ ERL-1115, ERL-1134, ERL-1150, ERL-1154,
+ ERL-1168, ERL-1178, ERL-1186, ERL-1189,
+ ERL-1196, ERL-1208, ERL-303, ERL-496,
+ ERL-560, ERL-592, ERL-700, ERL-708, ERL-716,
+ ERL-825, ERL-927, ERL-991
+System: OTP
+Release: 23
+Application: asn1-5.0.12, common_test-1.19, compiler-7.6,
+ crypto-4.7, debugger-5.0, dialyzer-4.2,
+ edoc-0.12, erl_docgen-1.0, erl_interface-4.0,
+ erts-11.0, eunit-2.5, hipe-4.0, inets-7.2,
+ jinterface-1.11, kernel-7.0, megaco-3.19,
+ mnesia-4.17, observer-2.9.4, odbc-2.13,
+ os_mon-2.5.2, parsetools-2.2, public_key-1.8,
+ runtime_tools-1.15, sasl-3.5, snmp-5.6,
+ ssh-4.10, ssl-10.0, stdlib-3.13,
+ syntax_tools-2.3, tools-3.4, wx-1.9.1,
+ xmerl-1.3.25
+Predecessor: OTP
+
+ Check out the git tag OTP-23.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-13450 Application(s): kernel
+ Related Id(s): OTP-15251
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new module erpc has been introduced in the kernel
+ application. The erpc module implements an enhanced
+ subset of the operations provided by the rpc module.
+ Enhanced in the sense that it makes it possible to
+ distinguish between returned value, raised exceptions,
+ and other errors. erpc also has better performance and
+ scalability than the original rpc implementation. This
+ by utilizing the newly introduced spawn_request() BIF.
+ Also the rpc module benefits from these improvements by
+ utilizing erpc when it is possible.
+
+ This change has been marked as a potential
+ incompatibility since rpc:block_call() now only is
+ guaranteed to block other block_call() operations. The
+ documentation previously claimed that it would block
+ all rpc operations. This has however never been the
+ case. It previously did not block node-local
+ block_call() operations.
+
+
+ OTP-14708 Application(s): compiler, debugger, erts
+
+ EEP-52 has been implemented.
+
+ In binary matching, the size of the segment to be
+ matched is now allowed to be a guard expression, and
+ similarly in map matching the keys can now be guard
+ expressions. See the Erlang Reference Manual and
+ Programming Examples for more details.
+
+ Language compilers or code generators that generate
+ Core Erlang code may need to be updated to be
+ compatible with the compiler in OTP 23. For more
+ details, see the section Backwards Compatibility in EEP
+ 52.
+
+
+ OTP-15251 Application(s): erts
+
+ Improvements of distributed spawn operations. These
+ include both scalability and performance improvements
+ as well as new functionality.
+
+ New functionality:
+
+ -- A distributed spawn_monitor() BIF.
+
+ -- Support for monitor option in the distributed
+ spawn_opt() BIF.
+
+ -- New spawn_request() BIFs for asynchronous spawn of
+ processes. spawn_request() supports all options that
+ spawn_opt() support plus a few more.
+
+
+ OTP-15434 Application(s): ssh
+
+ OpenSSH 6.5 introduced a new file representation of
+ keys called openssh-key-v1.
+
+ OTP/SSH had an experimental implementation of this
+ format. That implementation is now improved and
+ supported with the exception of handling encrypted
+ keys.
+
+
+ OTP-15589 Application(s): ssl
+
+ Improve interoperability by implementing the middlebox
+ compatiblity mode.
+
+ The middlebox compatibility mode makes the TLS 1.3
+ handshake look more like a TLS 1.2 handshake and
+ increases the chance of successfully establishing TLS
+ 1.3 connections through legacy middleboxes.
+
+
+ OTP-15744 Application(s): erts, stdlib
+ Related Id(s): OTP-15623, PR-2229
+
+ Improved ETS scalability of concurrent calls that
+ change the size of a table, like ets:insert/2 and
+ ets:delete/2.
+
+ This performance feature was implemented for
+ ordered_set in OTP 22.0 and does now apply for all ETS
+ table types.
+
+ The improved scalability may come at the cost of longer
+ latency of ets:info(T,size) and ets:info(T,memory). A
+ new table option decentralized_counters has therefore
+ been added. It is default true for ordered_set with
+ write_concurrency enabled and default false for all
+ other table types.
+
+
+ OTP-15998 Application(s): ssh
+ Related Id(s): PR-2368, PR-2376
+
+ TCP/IP port forwarding, a.k.a tunneling a.k.a
+ tcp-forward/direct-tcp is implemented. In the OpenSSH
+ client, this corresponds to the options -L and -R.
+
+ The client or server listens to a specified socket, and
+ when something connects to it with TCP/IP, that
+ connection is forwarded in an encrypted tunnel to the
+ peer. The peer then connects to a predefined IP/port
+ pair and then acts as a proxy.
+
+ See the manual, ssh:tcpip_tunnel_to_server/6 and
+ ssh:tcpip_tunnel_from_server/6.
+
+ The functionality is disabled per default but can be
+ enabled when starting a daemon.
+
+
+ OTP-16007 Application(s): compiler
+ Related Id(s): PR-2324
+
+ Allow underscores in numeric literals to improve
+ readability. Examples: 123_456_789, 16#1234_ABCD.
+
+
+ OTP-16214 Application(s): compiler
+ Related Id(s): PR-2460
+
+ Improved the type optimization pass' inference of types
+ that depend on themselves, giving us more accurate
+ types and letting us track the content types of lists.
+
+
+ OTP-16222 Application(s): stdlib
+
+ New functions have been added to c(3) for printing
+ embedded documentation for Erlang modules. The
+ functions are:
+
+ -- h/1,2,3 -- Print the documentation for a
+ Module:Function/Arity.
+
+ -- ht/1,2,3 -- Print the type documentation for a
+ Module:Type/Arity.
+
+ The embedded documentation is created when building the
+ Erlang/OTP documentation.
+
+
+ OTP-16232 Application(s): crypto
+
+ As announced in OTP 22.0, a New API was introduced in
+ CRYPTO. See the New and Old API chapter in the CRYPTO
+ User's Guide for more information and suggested
+ replacement functions.
+
+ The Old API is now deprecated in OTP-23.0 and will be
+ removed in OTP-24.0.
+
+ This deprecation includes cipher names. See the section
+ Retired cipher names in the crypto User's Guide,
+ chapter The Old API.
+
+
+ OTP-16250 Application(s): erts, kernel
+
+ The possibility to run Erlang distribution without
+ relying on EPMD has been extended. To achieve this a
+ couple of new options to the inet distribution has been
+ added.
+
+ -- -dist_listen false -- Setup the distribution
+ channel, but do not listen for incoming connection.
+ This is useful when you want to use the current node to
+ interact with another node on the same machine without
+ it joining the entire cluster.
+
+ -- -erl_epmd_port Port -- Configure a default port that
+ the built-in EPMD client should return. This allows the
+ local node to know the port to connect to for any other
+ node in the cluster.
+
+ The erl_epmd callback API has also been extended to
+ allow returning -1 as the creation which means that a
+ random creation will be created by the node.
+
+ In addition a new callback function called
+ listen_port_please has been added that allows the
+ callback to return which listen port the distribution
+ should use. This can be used instead of
+ inet_dist_listen_min/max if the listen port is to be
+ fetched from an external service.
+
+
+ OTP-16260 Application(s): kernel
+ Related Id(s): OTP-15403
+
+ A first EXPERIMENTAL module that is a socket backend to
+ gen_tcp and inet has been implemented. Others will
+ follow. Feedback will be appreciated.
+
+
+ OTP-16406 Application(s): erl_docgen, otp
+
+ Embedded documentation (also known as Documentation
+ Chunks) is now also available in the form of files
+ according to EEP-48. The Documentation Chunks are
+ produced by default when building the other Erlang/OTP
+ documentation. If you want to only build the embedded
+ documentation you can pass the DOC_TARGETS=chunks
+ environment variable to make.
+
+
+ OTP-16453 Application(s): kernel
+ Related Id(s): PR-2524
+
+ A new implementation of distributed named process
+ groups has been introduced. It is available in the pg
+ module.
+
+ Note that this pg module only has the name in common
+ with the experimental pg module that was present in
+ stdlib up until OTP 17.
+
+ Thanks to Maxim Fedorov for the implementation.
+
+
+ OTP-16484 Application(s): debugger, erts, hipe
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated erlang:get_stacktrace/0 BIF now returns
+ an empty list instead of a stacktrace. To retrieve the
+ stacktrace, use the extended try/catch syntax that was
+ introduced in OTP 21. erlang:get_stacktrace/0 is
+ scheduled for removal in OTP 24.
+
+
+ OTP-16501 Application(s): stdlib
+ Related Id(s): ERL-708, OTP-16222, OTP-16406,
+ OTP-16494, OTP-16499, OTP-16500, PR-2545
+
+ Module and function auto-completion in the shell now
+ looks at all available modules instead of only those
+ loaded. A module is considered available if it either
+ is loaded already or would be loaded if called.
+
+ The auto-completion has also been expanded to work in
+ the new h/1,2,3 function in c(3).
+
+
+ OTP-16506 Application(s): ssh
+
+ The default known_hosts file handling is improved to
+ include ports.
+
+ The handling of the contents in that file is updated to
+ support the full syntax, with exception of 1) the
+ wildcard '?', 2) wildcards in canonical names and 3)
+ the option '@cert-authority'
+
+
+ OTP-16513 Application(s): ssh
+
+ The ssh agent is now implemented in the ssh_agent key
+ callback module.
+
+ Enable with the the option {key_cb, {ssh_agent, []}} in
+ for example ssh:connect/3.
+
+ See the ssh_agent manual for details.
+
+
+ OTP-16540 Application(s): ssh
+
+ Algorithm configuration could now be done in a .config
+ file.
+
+ This is useful for example to enable an algorithm that
+ is disabled by default. It could now be enabled in an
+ .config-file without changing the code,
+
+ See the SSH User's Guide chapter "Configuration in
+ SSH".
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-13450 Application(s): kernel
+ Related Id(s): OTP-15251
+
+ *** HIGHLIGHT ***
+
+ A new module erpc has been introduced in the kernel
+ application. The erpc module implements an enhanced
+ subset of the operations provided by the rpc module.
+ Enhanced in the sense that it makes it possible to
+ distinguish between returned value, raised exceptions,
+ and other errors. erpc also has better performance and
+ scalability than the original rpc implementation. This
+ by utilizing the newly introduced spawn_request() BIF.
+ Also the rpc module benefits from these improvements by
+ utilizing erpc when it is possible.
+
+ This change has been marked as a potential
+ incompatibility since rpc:block_call() now only is
+ guaranteed to block other block_call() operations. The
+ documentation previously claimed that it would block
+ all rpc operations. This has however never been the
+ case. It previously did not block node-local
+ block_call() operations.
+
+
+ OTP-14790 Application(s): ssl
+
+ Drop support for SSL-3.0. Support for this legacy TLS
+ version has not been enabled by default since OTP 19.
+ Now all code to support it has been removed, that is
+ SSL-3.0 protocol version can not be used and is
+ considered invalid.
+
+
+ OTP-16168 Application(s): erts
+ Related Id(s): ERL-1053
+
+ erlang:decode_packet with type set to httph no longer
+ accepts http headers that have whitespaces in between
+ the header name and the colon. That is:
+
+ Content-Type : text/html
+
+ is no longer allowed. This has been changed to conform
+ with RFC 7230 and thus protect against http desync
+ attacks.
+
+
+ OTP-16215 Application(s): erts
+
+ Removed the scheduler_poll and async I/O dtrace and
+ LTTng trace probes.
+
+
+ OTP-16244 Application(s): erts
+ Related Id(s): ERL-1051
+
+ Fix the quoting rules in erl -args_file, ERL_FLAGS,
+ ERL_AFLAGS and ERL_ZFLAGS to work as unix sh quoting.
+
+ This bug fix can make previous configuration options to
+ erl passed through ERL_FLAGS, ERL_AFLAGS, ERL_ZFLAGS or
+ -args_file not be interpreted in the same way as before
+ the fix.
+
+
+ OTP-16328 Application(s): erl_interface
+
+ As announced in OTP 22.0, the deprecated parts of
+ erl_interface have now been removed (essentially all C
+ functions with prefix erl_).
+
+
+ OTP-16329 Application(s): erl_interface, erts, otp
+ Related Id(s): OTP-15621
+
+ As announced in OTP 22.0, the previously existing
+ limited support for VxWorks has now been removed.
+
+
+ OTP-16400 Application(s): ssl
+
+ This change adds TLS-1.3 to the list of default
+ supported versions. That is, TLS-1.3 and TLS-1.2 are
+ configured when ssl option 'versions' is not explicitly
+ set.
+
+
+ OTP-16455 Application(s): kernel
+
+ The pg2 module has been deprecated. It has also been
+ scheduled for removal in OTP 24.
+
+ You are advised to replace the usage of pg2 with the
+ newly introduced pg module. pg has a similar API, but
+ with a more scalable implementation.
+
+
+ OTP-16484 Application(s): debugger, erts, hipe
+
+ *** HIGHLIGHT ***
+
+ The deprecated erlang:get_stacktrace/0 BIF now returns
+ an empty list instead of a stacktrace. To retrieve the
+ stacktrace, use the extended try/catch syntax that was
+ introduced in OTP 21. erlang:get_stacktrace/0 is
+ scheduled for removal in OTP 24.
+
+
+ OTP-16495 Application(s): kernel
+
+ As of OTP 23, the distributed disk_log feature has been
+ deprecated. It has also been scheduled for removal in
+ OTP 24.
+
+
+ OTP-16502 Application(s): kernel
+
+ code:lib_dir/1 has been fixed to also return the lib
+ dir for erts.
+
+ This is been marked as an incompatibility for any
+ application that depended on {error,bad_name} to be
+ returned for erts.
+
+
+ OTP-16503 Application(s): erl_docgen
+
+ The seealso tag has been replaced with type aware tags
+ instead. The new tags are:
+ seemfa|seeerl|seetype|seeapp|seecom|seecref|seefile|seeguide.
+
+ fsdescription has been added for adding a title to
+ groups of functions, for instance Module Callbacks.
+
+ The dtds of all documentation files have been trimmed
+ from all unused or rarely-used tags.
+
+ Unused dtds have been removed.
+
+
+ OTP-16509 Application(s): ssh
+
+ The key-exchange algorithms
+ 'diffie-hellman-group14-sha1' and
+ 'diffie-hellman-group-exchange-sha1' are disabled per
+ default. The reason is that SHA1 now is considered
+ insecure.
+
+ They can be enabled if needed, see SSH (App).
+
+
+ OTP-16510 Application(s): ssh
+
+ The public key algorithm 'ssh-dss' is disabled per
+ default. The reason is that it is now considered as
+ insecure.
+
+ It can be enabled if needed, see SSH (App).
+
+
+ OTP-16511 Application(s): ssh
+
+ The public key 'ssh-rsa' is now considered as insecure
+ because of its usage of SHA1.
+
+ It is therefore deprecated and will no longer be
+ enabled per default in OTP-24.0.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-23.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16394 Application(s): otp
+ Related Id(s): PR-2450
+
+ The Android cross-compilation support has been updated
+ to support Android 4.1 and 5.0.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15812 Application(s): otp
+
+ Add new "make test" target for simplified test
+ execution. Read more in HOWTO/TESTING.md.
+
+
+ OTP-15915 Application(s): otp
+
+ Added make dialyzer to top-level makefile and each
+ application.
+
+
+ OTP-16264 Application(s): otp
+
+ Updated the Android build instructions
+
+
+ OTP-16329 Application(s): erl_interface, erts, otp
+ Related Id(s): OTP-15621
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced in OTP 22.0, the previously existing
+ limited support for VxWorks has now been removed.
+
+
+ OTP-16406 Application(s): erl_docgen, otp
+
+ *** HIGHLIGHT ***
+
+ Embedded documentation (also known as Documentation
+ Chunks) is now also available in the form of files
+ according to EEP-48. The Documentation Chunks are
+ produced by default when building the other Erlang/OTP
+ documentation. If you want to only build the embedded
+ documentation you can pass the DOC_TARGETS=chunks
+ environment variable to make.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16551 Application(s): otp
+
+ Starting from OTP 23, the pages in the documentation
+ for which functions that are deprecated and scheduled
+ for removal are now up to date.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.12 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16490 Application(s): asn1
+
+ Adhere to the ASN.1 specification for hstring &amp;
+ bstring lexical items. That is they may include white
+ space.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16554 Application(s): asn1
+ Related Id(s): ERL-1189
+
+ Improve handling of ellipsis in a CHOICE
+
+
+ Full runtime dependencies of asn1-5.0.12: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.19 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16029 Application(s): common_test
+ Related Id(s): PR-2145
+
+ The function ct_property_test:init_tool/1 is added for
+ the cases when the user does not want ct_property_test
+ to compile properties. init_tool/1 can be used to set
+ the property_test_tool config value.
+
+
+ OTP-16273 Application(s): common_test
+
+ The built-in Common Test Hook, cth_log_redirect, has
+ been updated to use the system default Logger handler's
+ configuration instead of its own. See the section on
+ Built-in Hooks in the Common Test User's Guide.
+
+
+ OTP-16346 Application(s): common_test, public_key, snmp, ssh,
+ ssl
+
+ Calls of deprecated functions in the Old Crypto API are
+ replaced by calls of their substitutions.
+
+
+ Full runtime dependencies of common_test-1.19: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15837 Application(s): compiler, erts
+
+ erlang:fun_info(fun foo/1, name/1) used to return a
+ function name based on the name of the function that
+ fun foo/1 was used in. The name returned is now
+ -fun.foo/1-.
+
+
+ OTP-16516 Application(s): compiler, stdlib
+
+ Initialization of record fields using _ is no longer
+ allowed if the number of affected fields is zero.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14708 Application(s): compiler, debugger, erts
+
+ *** HIGHLIGHT ***
+
+ EEP-52 has been implemented.
+
+ In binary matching, the size of the segment to be
+ matched is now allowed to be a guard expression, and
+ similarly in map matching the keys can now be guard
+ expressions. See the Erlang Reference Manual and
+ Programming Examples for more details.
+
+ Language compilers or code generators that generate
+ Core Erlang code may need to be updated to be
+ compatible with the compiler in OTP 23. For more
+ details, see the section Backwards Compatibility in EEP
+ 52.
+
+
+ OTP-16007 Application(s): compiler
+ Related Id(s): PR-2324
+
+ *** HIGHLIGHT ***
+
+ Allow underscores in numeric literals to improve
+ readability. Examples: 123_456_789, 16#1234_ABCD.
+
+
+ OTP-16214 Application(s): compiler
+ Related Id(s): PR-2460
+
+ *** HIGHLIGHT ***
+
+ Improved the type optimization pass' inference of types
+ that depend on themselves, giving us more accurate
+ types and letting us track the content types of lists.
+
+
+ OTP-16367 Application(s): compiler
+ Related Id(s): OTP-15251
+
+ Support message queue optimization also for references
+ returned from the new spawn_request() BIFs.
+
+
+ OTP-16429 Application(s): compiler, stdlib
+ Related Id(s): ERL-303
+
+ The compiler will now raise a warning when inlining is
+ used in modules that load NIFs.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16505 Application(s): compiler
+ Related Id(s): ERL-1178
+
+ Line information was sometimes incorrect for
+ floating-point math exceptions.
+
+
+ OTP-16523 Application(s): compiler
+ Related Id(s): ERL-1058
+
+ The debug_info option can now be specified in
+ -compile() attributes.
+
+
+ OTP-16543 Application(s): compiler, erts
+ Related Id(s): ERL-1186
+
+ Reduced the resource usage of erlc in parallel builds
+ (e.g. make -j128).
+
+
+ Full runtime dependencies of compiler-7.6: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16579 Application(s): crypto
+ Related Id(s): ERL-825
+
+ Crypto reported unsupported elliptic curves as
+ supported on e.g Fedora distros.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15967 Application(s): crypto
+ Related Id(s): PR-2329
+
+ Support for ed25519 and ed448 added to
+ crypto:generate_key.
+
+
+ OTP-16160 Application(s): crypto
+
+ The new crypto functions api (crypto_init,
+ crypto_update and crypto_one_time) has been updated.
+
+ There is now a function crypto_final/1 and a
+ possibility to set options in crypto_init/3 and
+ crypto_init/4. See the manual for details.
+
+
+ OTP-16232 Application(s): crypto
+
+ *** HIGHLIGHT ***
+
+ As announced in OTP 22.0, a New API was introduced in
+ CRYPTO. See the New and Old API chapter in the CRYPTO
+ User's Guide for more information and suggested
+ replacement functions.
+
+ The Old API is now deprecated in OTP-23.0 and will be
+ removed in OTP-24.0.
+
+ This deprecation includes cipher names. See the section
+ Retired cipher names in the crypto User's Guide,
+ chapter The Old API.
+
+
+ OTP-16369 Application(s): crypto
+ Related Id(s): PR-2474
+
+ Fix C-compilation without deprecated OpenSSL cryptolib
+ APIs
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16583 Application(s): crypto
+
+ Added missing 'eddh' to crypto:supports(public_keys).
+
+
+ Full runtime dependencies of crypto-4.7: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14708 Application(s): compiler, debugger, erts
+
+ *** HIGHLIGHT ***
+
+ EEP-52 has been implemented.
+
+ In binary matching, the size of the segment to be
+ matched is now allowed to be a guard expression, and
+ similarly in map matching the keys can now be guard
+ expressions. See the Erlang Reference Manual and
+ Programming Examples for more details.
+
+ Language compilers or code generators that generate
+ Core Erlang code may need to be updated to be
+ compatible with the compiler in OTP 23. For more
+ details, see the section Backwards Compatibility in EEP
+ 52.
+
+
+ OTP-16484 Application(s): debugger, erts, hipe
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated erlang:get_stacktrace/0 BIF now returns
+ an empty list instead of a stacktrace. To retrieve the
+ stacktrace, use the extended try/catch syntax that was
+ introduced in OTP 21. erlang:get_stacktrace/0 is
+ scheduled for removal in OTP 24.
+
+
+ Full runtime dependencies of debugger-5.0: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16055 Application(s): dialyzer
+ Related Id(s): ERL-1002
+
+ Improve handling of maps:remove/2.
+
+
+ Full runtime dependencies of dialyzer-4.2: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.12 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15999 Application(s): edoc
+ Related Id(s): PR-2317
+
+ Remove Inets dependency from EDoc.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ Full runtime dependencies of edoc-0.12: erts-6.0, kernel-3.0,
+ stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.0 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16406 Application(s): erl_docgen, otp
+
+ *** HIGHLIGHT ***
+
+ Embedded documentation (also known as Documentation
+ Chunks) is now also available in the form of files
+ according to EEP-48. The Documentation Chunks are
+ produced by default when building the other Erlang/OTP
+ documentation. If you want to only build the embedded
+ documentation you can pass the DOC_TARGETS=chunks
+ environment variable to make.
+
+
+ OTP-16497 Application(s): erl_docgen
+
+ Minor DTD additions.
+
+
+ OTP-16503 Application(s): erl_docgen
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The seealso tag has been replaced with type aware tags
+ instead. The new tags are:
+ seemfa|seeerl|seetype|seeapp|seecom|seecref|seefile|seeguide.
+
+ fsdescription has been added for adding a title to
+ groups of functions, for instance Module Callbacks.
+
+ The dtds of all documentation files have been trimmed
+ from all unused or rarely-used tags.
+
+ Unused dtds have been removed.
+
+
+ Full runtime dependencies of erl_docgen-1.0: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-4.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-13812 Application(s): erl_interface, kernel
+
+ A client node can receive its node name dynamically
+ from the node that it first connects to. This featured
+ can by used by
+
+ -- starting with erl -dist_listen false -sname
+ undefined
+
+ -- erl_interface functions ei_connect_init and friends
+
+ -- erl_call -R
+
+
+ OTP-15603 Application(s): erl_interface, erts, jinterface
+
+ Increased size of node incarnation numbers (aka
+ "creation"), from 2 bits to 32 bits. This will reduce
+ the risk of pids/ports/refs, from different node
+ incarnation with the same name, being mixed up.
+
+
+ OTP-15866 Application(s): erl_interface, erts
+ Related Id(s): PR-2110
+
+ Fix various build issues when compiling Erlang/OTP to
+ the IBM AIX platform.
+
+
+ OTP-16229 Application(s): erl_interface, jinterface, kernel
+
+ Improved node connection setup handshake protocol. Made
+ possible to agree on protocol version without
+ dependence on epmd or other prior knowledge of peer
+ node version. Also added exchange of node incarnation
+ ("creation") values and expanded the distribution
+ capability flag field from 32 to 64 bits.
+
+
+ OTP-16251 Application(s): erl_interface
+
+ New erl_call option -address [Host]:Port to connect
+ directly to a node without being dependent on epmd to
+ resolve the node name.
+
+
+ OTP-16328 Application(s): erl_interface
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced in OTP 22.0, the deprecated parts of
+ erl_interface have now been removed (essentially all C
+ functions with prefix erl_).
+
+
+ OTP-16329 Application(s): erl_interface, erts, otp
+ Related Id(s): OTP-15621
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced in OTP 22.0, the previously existing
+ limited support for VxWorks has now been removed.
+
+
+ OTP-16496 Application(s): erl_interface
+ Related Id(s): OTP-16251
+
+ New function ei_connect_host_port and friends to allow
+ node connection without being dependent on epmd for
+ node name resolution.
+
+
+ OTP-16594 Application(s): erl_interface
+
+ A new function ei_decode_iodata() has been added.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ 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. In order to fix this, a binary
+ incompatible change in the API is needed. This API
+ change is planned for OTP 24.
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14734 Application(s): erts
+ Related Id(s): ERL-496
+
+ BIFs now behave like ordinary functions with regard to
+ tracing, allowing call_count tracing and fixing a few
+ bugs where return trace messages were lost when BIFs
+ tail-called themselves or other functions ("trapping").
+
+
+ OTP-15837 Application(s): compiler, erts
+
+ erlang:fun_info(fun foo/1, name/1) used to return a
+ function name based on the name of the function that
+ fun foo/1 was used in. The name returned is now
+ -fun.foo/1-.
+
+
+ OTP-16155 Application(s): erts
+ Related Id(s): PR-2408
+
+ file:allocate/3 will now update the file size on all
+ platforms.
+
+
+ OTP-16168 Application(s): erts
+ Related Id(s): ERL-1053
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ erlang:decode_packet with type set to httph no longer
+ accepts http headers that have whitespaces in between
+ the header name and the colon. That is:
+
+ Content-Type : text/html
+
+ is no longer allowed. This has been changed to conform
+ with RFC 7230 and thus protect against http desync
+ attacks.
+
+
+ OTP-16244 Application(s): erts
+ Related Id(s): ERL-1051
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix the quoting rules in erl -args_file, ERL_FLAGS,
+ ERL_AFLAGS and ERL_ZFLAGS to work as unix sh quoting.
+
+ This bug fix can make previous configuration options to
+ erl passed through ERL_FLAGS, ERL_AFLAGS, ERL_ZFLAGS or
+ -args_file not be interpreted in the same way as before
+ the fix.
+
+
+ OTP-16284 Application(s): erts, kernel
+
+ Fix the Erlang distribution to handle the scenario when
+ a node connects that can handle message fragmentation
+ but can not handle the atom cache. This bug only
+ affects users that have implemented a custom
+ distribution carrier. It has been present since OTP-21.
+
+ The DFLAG_FRAGMENT distribution flag was added to the
+ set of flags that can be rejected by a distribution
+ implementation.
+
+
+ OTP-16431 Application(s): erts, stdlib
+ Related Id(s): ERL-592
+
+ Compiling a match specification with excessive nesting
+ caused the runtime system to crash due to scheduler
+ stack exhaustion. Instead of crashing the runtime
+ system, effected functions will now raise a
+ system_limit error exception in this situation.
+
+
+ OTP-16478 Application(s): erts
+ Related Id(s): ERL-1115
+
+ Fixed a bug that prevented Erlang from being started on
+ Windows if it were installed on certain paths.
+
+
+ OTP-16521 Application(s): erts
+ Related Id(s): ERL-716
+
+ Fix bug on Windows causing bad performance when
+ standard input is closed, especially if the VM is only
+ assigned one CPU core. Could be provoked for example by
+ starting erl or escript via function os:cmd/1. Could be
+ avoided with command line option -noinput.
+
+ The bad performance was caused by an io thread spinning
+ indefinitely.
+
+
+ OTP-16571 Application(s): erts
+
+ Fixed a bug on Unix platforms that would cause
+ file:read_file_info/1 to return incorrect results if
+ the emulator's effective user or group id differed from
+ its actual ones.
+
+
+ OTP-16576 Application(s): erts
+ Related Id(s): ERL-1208
+
+ socket: Compile problems on Android when
+ PACKET_FASTROUTE and PACKET_USER are both defined and
+ has the same value. Use of PACKET_FASTROUTE has been
+ removed as it may be unused and also only for none
+ user-land.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10278 Application(s): erts
+
+ Improved concurrency of erlang:load_nif/2 as it does no
+ longer block other schedulers from executing during
+ initial load of a NIF library.
+
+
+ OTP-14708 Application(s): compiler, debugger, erts
+
+ *** HIGHLIGHT ***
+
+ EEP-52 has been implemented.
+
+ In binary matching, the size of the segment to be
+ matched is now allowed to be a guard expression, and
+ similarly in map matching the keys can now be guard
+ expressions. See the Erlang Reference Manual and
+ Programming Examples for more details.
+
+ Language compilers or code generators that generate
+ Core Erlang code may need to be updated to be
+ compatible with the compiler in OTP 23. For more
+ details, see the section Backwards Compatibility in EEP
+ 52.
+
+
+ OTP-15077 Application(s): erts
+
+ Internally in BEAM, handling of continuation pointers
+ has been simplified. This change is not user-visible,
+ except when examing a process stack in the crashdump
+ viewer. The continuation pointer for a function will
+ now be stored below the y(0) for that function.
+
+
+ OTP-15232 Application(s): erts
+ Related Id(s): ERL-700
+
+ seq_trace tokens are now propagated to spawned
+ processes.
+
+
+ OTP-15251 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Improvements of distributed spawn operations. These
+ include both scalability and performance improvements
+ as well as new functionality.
+
+ New functionality:
+
+ -- A distributed spawn_monitor() BIF.
+
+ -- Support for monitor option in the distributed
+ spawn_opt() BIF.
+
+ -- New spawn_request() BIFs for asynchronous spawn of
+ processes. spawn_request() supports all options that
+ spawn_opt() support plus a few more.
+
+
+ OTP-15517 Application(s): erts
+ Related Id(s): ERL-560
+
+ Make ets:insert/2 and ets:insert_new/2 yield scheduler
+ execution on long lists of records to insert.
+
+
+ OTP-15603 Application(s): erl_interface, erts, jinterface
+
+ Increased size of node incarnation numbers (aka
+ "creation"), from 2 bits to 32 bits. This will reduce
+ the risk of pids/ports/refs, from different node
+ incarnation with the same name, being mixed up.
+
+
+ OTP-15618 Application(s): erts
+
+ The runtime system can now encode Erlang terms to the
+ Erlang external term format as I/O vectors. The main
+ benefit of this is that reference counted binaries can
+ be referred to directly instead of copied into a new
+ binary.
+
+ The default Erlang distribution over TCP will always
+ utilize this. Alternate distribution implementations
+ utilizing a port as distribution controller will
+ utilize this if the driver implements the outputv
+ callback. Alternate Erlang distribution implementations
+ utilizing a process as distribution controller will
+ utilize this if I/O vectors are utilized by the
+ functionality that processes the data returned from
+ erlang:dist_ctrl_get_data().
+
+ The return type for data returned by
+ erlang:dist_ctrl_get_data() has been changed from
+ iodata() to iovec(). Note that iovec() data is valid
+ iodata() so old implementations using
+ erlang:dist_ctrl_get_data() do not need to be changed,
+ but may benefit from being changed depending on usage
+ scenario.
+
+ The new BIFs term_to_iovec/1 and term_to_iovec/2 have
+ been introduced. These work exactly as term_to_binary()
+ with the corresponding arity except the return type.
+
+
+ OTP-15744 Application(s): erts, stdlib
+ Related Id(s): OTP-15623, PR-2229
+
+ *** HIGHLIGHT ***
+
+ Improved ETS scalability of concurrent calls that
+ change the size of a table, like ets:insert/2 and
+ ets:delete/2.
+
+ This performance feature was implemented for
+ ordered_set in OTP 22.0 and does now apply for all ETS
+ table types.
+
+ The improved scalability may come at the cost of longer
+ latency of ets:info(T,size) and ets:info(T,memory). A
+ new table option decentralized_counters has therefore
+ been added. It is default true for ordered_set with
+ write_concurrency enabled and default false for all
+ other table types.
+
+
+ OTP-15835 Application(s): erts, kernel
+ Related Id(s): PR-2212
+
+ Directories can now be opened by file:open/2 when
+ passing the directory option.
+
+
+ OTP-15840 Application(s): erts
+
+ Add Hygon Dhyana as known processor to enable support
+ for atomic operations.
+
+
+ OTP-15842 Application(s): erts
+ Related Id(s): PR-2182
+
+ Make erlang:phash2 functions consume reductions
+ proportional to the size of the input term and yield
+ scheduler when reductions are depleted.
+
+
+ OTP-15866 Application(s): erl_interface, erts
+ Related Id(s): PR-2110
+
+ Fix various build issues when compiling Erlang/OTP to
+ the IBM AIX platform.
+
+
+ OTP-15868 Application(s): erts
+
+ Add configure options --enable-pie and --disable-pie to
+ control the build of position independent executables.
+
+
+ OTP-15956 Application(s): erts, kernel
+ Related Id(s): PR-2231
+
+ file:read_file_info/2 can now be used on opened files
+ and directories.
+
+
+ OTP-15995 Application(s): erts
+ Related Id(s): PR-2358
+
+ Add arity-1 versions of atom_to_binary, binary_to_atom
+ and binary_to_existing_atom, all with utf8 as default
+ encoding.
+
+
+ OTP-16014 Application(s): erts
+ Related Id(s): PR-2345
+
+ Optimized the erts internal hash table implementation
+ for faster lookups. The internal hash is used for
+ things like; the process registry, executing
+ erlang:apply/2, executing M:func(test), and more.
+
+
+ OTP-16105 Application(s): erts
+ Related Id(s): ERL-927
+
+ CPU quotas are now taken into account when deciding the
+ default number of online schedulers, improving
+ performance in container environments where quotas are
+ applied, such as docker with the --cpus flag.
+
+
+ OTP-16148 Application(s): erts, kernel
+ Related Id(s): PR-2373
+
+ The -config option to erl now can take multiple config
+ files without repeating the -config option. Example:
+
+ erl -config sys local
+
+
+ OTP-16215 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the scheduler_poll and async I/O dtrace and
+ LTTng trace probes.
+
+
+ OTP-16237 Application(s): erts
+ Related Id(s): PR-2389
+
+ Optimized persistent_term:put/2 and erase/1 to consume
+ less CPU in many cases.
+
+
+ OTP-16250 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ The possibility to run Erlang distribution without
+ relying on EPMD has been extended. To achieve this a
+ couple of new options to the inet distribution has been
+ added.
+
+ -- -dist_listen false -- Setup the distribution
+ channel, but do not listen for incoming connection.
+ This is useful when you want to use the current node to
+ interact with another node on the same machine without
+ it joining the entire cluster.
+
+ -- -erl_epmd_port Port -- Configure a default port that
+ the built-in EPMD client should return. This allows the
+ local node to know the port to connect to for any other
+ node in the cluster.
+
+ The erl_epmd callback API has also been extended to
+ allow returning -1 as the creation which means that a
+ random creation will be created by the node.
+
+ In addition a new callback function called
+ listen_port_please has been added that allows the
+ callback to return which listen port the distribution
+ should use. This can be used instead of
+ inet_dist_listen_min/max if the listen port is to be
+ fetched from an external service.
+
+
+ OTP-16270 Application(s): erts
+
+ On systems without closefrom(), such as Linux,
+ iterating over all possible file descriptors and
+ calling close() for each is inefficient. This is
+ markedly so when the maximum number of file descriptors
+ has been tuned to a large number.
+
+ Instead, in erl_child_setup, walk the open descriptors
+ under /dev/fd and close only those which are open.
+
+ This optimization affects the CPU usage of starting a
+ new Erlang instance.
+
+
+ OTP-16283 Application(s): erts
+ Related Id(s): PR-2441
+
+ Optimized maps:merge/2 for trivial cases of an empty
+ map(s) or same map.
+
+
+ OTP-16312 Application(s): erts, kernel
+
+ The new experimental socket module has been moved to
+ the Kernel application.
+
+
+ OTP-16327 Application(s): erts, runtime_tools, tools
+
+ Improved the presentation of allocations and carriers
+ in the instrument module.
+
+
+ OTP-16329 Application(s): erl_interface, erts, otp
+ Related Id(s): OTP-15621
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced in OTP 22.0, the previously existing
+ limited support for VxWorks has now been removed.
+
+
+ OTP-16347 Application(s): erts
+ Related Id(s): PR-2466
+
+ The return value when using the httph and httph_bin
+ option to erlang:decode_packet/3 and inet:setopts/2 has
+ been changed to also include the original header
+ unmodified. See erlang:decode_packet/3. Example:
+
+ > erlang:decode_packet(httph_bin,<<"HELLO:
+ hi\r\n\r\n">>,[]).
+ {ok,{http_header,0,<<"Hello">>,<<"HELLO">>,<<"hi">>},<<"\r\n">>}
+
+
+ OTP-16362 Application(s): erts
+
+ Ensure net_kernel:monitor_nodes/1 sends nodedown
+ messages of a failed connection before nodeup messages
+ of a reestablished connection toward the same node.
+
+
+ OTP-16370 Application(s): erts, kernel
+ Related Id(s): OTP-15232, OTP-15251
+
+ Update of sequential tracing to also support other
+ information transfers than message passing.
+
+
+ OTP-16398 Application(s): erts
+ Related Id(s): ERL-1154
+
+ socket: It is now possible to create a socket from an
+ already existing file descriptor.
+
+
+ OTP-16432 Application(s): erts
+
+ socket: The socket:supports/1 function now also report
+ if netns is supported or not.
+
+
+ OTP-16454 Application(s): erts
+
+ =:= has been optimized to return false immediately when
+ comparing two maps of different sizes.
+
+
+ OTP-16482 Application(s): erts
+
+ Changed the behaviour of passing the erl command line
+ argument +A 0 to silently imply +A 1. That is, it will
+ no longer be possible to completely disable the async
+ thread pool. Disabling of the async thread pool has
+ since OTP 21 had no benefits; only lots of drawbacks.
+
+
+ OTP-16484 Application(s): debugger, erts, hipe
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated erlang:get_stacktrace/0 BIF now returns
+ an empty list instead of a stacktrace. To retrieve the
+ stacktrace, use the extended try/catch syntax that was
+ introduced in OTP 21. erlang:get_stacktrace/0 is
+ scheduled for removal in OTP 24.
+
+
+ OTP-16492 Application(s): erts
+ Related Id(s): PR-2461
+
+ init:restart/1 has been introduced. init:restart/1 can
+ be utilized for changing the code loading mode during a
+ restart.
+
+
+ OTP-16530 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ Improve configure for the net nif, which should
+ increase portability.
+
+
+ OTP-16543 Application(s): compiler, erts
+ Related Id(s): ERL-1186
+
+ Reduced the resource usage of erlc in parallel builds
+ (e.g. make -j128).
+
+
+ OTP-16615 Application(s): erts
+
+ Fix a buffer overflow bug that caused EPMD to consume
+ 100% CPU after many nodes had been connected on the
+ same time on NetBSD.
+
+
+ OTP-16616 Application(s): erts
+
+ erl -remsh now uses the dynamic node names feature by
+ default. See the erl documentation for details.
+
+
+ Full runtime dependencies of erts-11.0: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15950 Application(s): eunit
+ Related Id(s): ERL-991, PR-2316
+
+ Let eunit_surefire skip invalid XML 1.0 characters.
+
+
+ OTP-16275 Application(s): eunit
+ Related Id(s): PR-2424
+
+ Add new macro ?capturedOutput for enabling to write
+ test cases that verify data printed to standard out
+
+
+ OTP-16549 Application(s): eunit
+ Related Id(s): PR-2532
+
+ Add option to limit print depth of exceptions generated
+ by eunit test suites.
+
+
+ Full runtime dependencies of eunit-2.5: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- hipe-4.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16470 Application(s): hipe
+
+ Fixed a rare miss-compilation of tuple matching.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16484 Application(s): debugger, erts, hipe
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated erlang:get_stacktrace/0 BIF now returns
+ an empty list instead of a stacktrace. To retrieve the
+ stacktrace, use the extended try/catch syntax that was
+ introduced in OTP 21. erlang:get_stacktrace/0 is
+ scheduled for removal in OTP 24.
+
+
+ Full runtime dependencies of hipe-4.0: compiler-5.0, erts-9.3,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16252 Application(s): inets
+
+ Remove support for deprecated functionality. Support
+ for mod_esi eval scheme, mod_htacess, mod_browser,
+ apache config files and deprecated httpd_conf functions
+ are dropped. Module http_uri is deprecated.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ Full runtime dependencies of inets-7.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.11 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15603 Application(s): erl_interface, erts, jinterface
+
+ Increased size of node incarnation numbers (aka
+ "creation"), from 2 bits to 32 bits. This will reduce
+ the risk of pids/ports/refs, from different node
+ incarnation with the same name, being mixed up.
+
+
+ OTP-16229 Application(s): erl_interface, jinterface, kernel
+
+ Improved node connection setup handshake protocol. Made
+ possible to agree on protocol version without
+ dependence on epmd or other prior knowledge of peer
+ node version. Also added exchange of node incarnation
+ ("creation") values and expanded the distribution
+ capability flag field from 32 to 64 bits.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16008 Application(s): kernel
+ Related Id(s): PR-2302
+
+ Fix race condition during shutdown when shell_history
+ is enabled. The race condition would trigger crashes in
+ disk_log.
+
+
+ OTP-16284 Application(s): erts, kernel
+
+ Fix the Erlang distribution to handle the scenario when
+ a node connects that can handle message fragmentation
+ but can not handle the atom cache. This bug only
+ affects users that have implemented a custom
+ distribution carrier. It has been present since OTP-21.
+
+ The DFLAG_FRAGMENT distribution flag was added to the
+ set of flags that can be rejected by a distribution
+ implementation.
+
+
+ OTP-16395 Application(s): kernel
+ Related Id(s): PR-2444
+
+ Fix bug where a binary was not allowed to be the format
+ string in calls to logger:log.
+
+
+ OTP-16489 Application(s): kernel
+ Related Id(s): ERL-1134
+
+ Fix bug where logger would end up in an infinite loop
+ when trying to log the crash of a handler or formatter.
+
+
+ OTP-16502 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ code:lib_dir/1 has been fixed to also return the lib
+ dir for erts.
+
+ This is been marked as an incompatibility for any
+ application that depended on {error,bad_name} to be
+ returned for erts.
+
+
+ OTP-16504 Application(s): kernel
+ Related Id(s): PR-2328
+
+ The application stop/1 callback was not called if the
+ application master of the application terminated.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13450 Application(s): kernel
+ Related Id(s): OTP-15251
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new module erpc has been introduced in the kernel
+ application. The erpc module implements an enhanced
+ subset of the operations provided by the rpc module.
+ Enhanced in the sense that it makes it possible to
+ distinguish between returned value, raised exceptions,
+ and other errors. erpc also has better performance and
+ scalability than the original rpc implementation. This
+ by utilizing the newly introduced spawn_request() BIF.
+ Also the rpc module benefits from these improvements by
+ utilizing erpc when it is possible.
+
+ This change has been marked as a potential
+ incompatibility since rpc:block_call() now only is
+ guaranteed to block other block_call() operations. The
+ documentation previously claimed that it would block
+ all rpc operations. This has however never been the
+ case. It previously did not block node-local
+ block_call() operations.
+
+
+ OTP-13812 Application(s): erl_interface, kernel
+
+ A client node can receive its node name dynamically
+ from the node that it first connects to. This featured
+ can by used by
+
+ -- starting with erl -dist_listen false -sname
+ undefined
+
+ -- erl_interface functions ei_connect_init and friends
+
+ -- erl_call -R
+
+
+ OTP-15299 Application(s): kernel, stdlib
+
+ Improved the printout of single line logger events for
+ most of the OTP behaviours in STDLIB and Kernel. This
+ includes proc_lib, gen_server, gen_event, gen_statem,
+ gen_fsm, supervisor, supervisor_bridge and application.
+
+ Improved the chars_limit and depth handling in proc_lib
+ and when formatting of exceptions.
+
+
+ OTP-15695 Application(s): kernel, mnesia, parsetools, sasl,
+ snmp, stdlib
+
+ Remove usage and documentation of old requests of the
+ I/O-protocol.
+
+
+ OTP-15835 Application(s): erts, kernel
+ Related Id(s): PR-2212
+
+ Directories can now be opened by file:open/2 when
+ passing the directory option.
+
+
+ OTP-15948 Application(s): kernel
+ Related Id(s): PR-2356
+
+ The check of whether to log or not based on the log
+ level in logger has been optimized by using
+ persistent_term to store the log level.
+
+
+ OTP-15956 Application(s): erts, kernel
+ Related Id(s): PR-2231
+
+ file:read_file_info/2 can now be used on opened files
+ and directories.
+
+
+ OTP-16148 Application(s): erts, kernel
+ Related Id(s): PR-2373
+
+ The -config option to erl now can take multiple config
+ files without repeating the -config option. Example:
+
+ erl -config sys local
+
+
+ OTP-16229 Application(s): erl_interface, jinterface, kernel
+
+ Improved node connection setup handshake protocol. Made
+ possible to agree on protocol version without
+ dependence on epmd or other prior knowledge of peer
+ node version. Also added exchange of node incarnation
+ ("creation") values and expanded the distribution
+ capability flag field from 32 to 64 bits.
+
+
+ OTP-16250 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ The possibility to run Erlang distribution without
+ relying on EPMD has been extended. To achieve this a
+ couple of new options to the inet distribution has been
+ added.
+
+ -- -dist_listen false -- Setup the distribution
+ channel, but do not listen for incoming connection.
+ This is useful when you want to use the current node to
+ interact with another node on the same machine without
+ it joining the entire cluster.
+
+ -- -erl_epmd_port Port -- Configure a default port that
+ the built-in EPMD client should return. This allows the
+ local node to know the port to connect to for any other
+ node in the cluster.
+
+ The erl_epmd callback API has also been extended to
+ allow returning -1 as the creation which means that a
+ random creation will be created by the node.
+
+ In addition a new callback function called
+ listen_port_please has been added that allows the
+ callback to return which listen port the distribution
+ should use. This can be used instead of
+ inet_dist_listen_min/max if the listen port is to be
+ fetched from an external service.
+
+
+ OTP-16260 Application(s): kernel
+ Related Id(s): OTP-15403
+
+ *** HIGHLIGHT ***
+
+ A first EXPERIMENTAL module that is a socket backend to
+ gen_tcp and inet has been implemented. Others will
+ follow. Feedback will be appreciated.
+
+
+ OTP-16312 Application(s): erts, kernel
+
+ The new experimental socket module has been moved to
+ the Kernel application.
+
+
+ OTP-16345 Application(s): kernel
+
+ Replace usage of deprecated function in the group
+ module.
+
+
+ OTP-16368 Application(s): kernel, observer, runtime_tools,
+ stdlib, tools
+ Related Id(s): OTP-15251
+
+ Minor updates due to the new spawn improvements made.
+
+
+ OTP-16370 Application(s): erts, kernel
+ Related Id(s): OTP-15232, OTP-15251
+
+ Update of sequential tracing to also support other
+ information transfers than message passing.
+
+
+ OTP-16402 Application(s): kernel
+
+ code:module_status/1 now accepts a list of modules.
+ code:module_status/0, which returns the statuses for
+ all loaded modules, has been added.
+
+
+ OTP-16419 Application(s): kernel
+
+ filelib:wildcard/1,2 is now twice as fast when a double
+ star (**) is part of the pattern.
+
+
+ OTP-16453 Application(s): kernel
+ Related Id(s): PR-2524
+
+ *** HIGHLIGHT ***
+
+ A new implementation of distributed named process
+ groups has been introduced. It is available in the pg
+ module.
+
+ Note that this pg module only has the name in common
+ with the experimental pg module that was present in
+ stdlib up until OTP 17.
+
+ Thanks to Maxim Fedorov for the implementation.
+
+
+ OTP-16455 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The pg2 module has been deprecated. It has also been
+ scheduled for removal in OTP 24.
+
+ You are advised to replace the usage of pg2 with the
+ newly introduced pg module. pg has a similar API, but
+ with a more scalable implementation.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16487 Application(s): kernel
+ Related Id(s): PR-2516
+
+ The internal hosts file resolver cache inet_hosts has
+ been rewritten to behave better when the hosts file
+ changes. For example the cache is updated per entry
+ instead of cleared and reloaded so lookups do not
+ temporarily fail during reloading, and; when multiple
+ processes simultaneously request reload these are now
+ folded into one instead of all done in sequence.
+ Reported and first solution suggestion by Maxim
+ Fedorov.
+
+
+ OTP-16494 Application(s): kernel
+
+ Add code:all_available/0 that can be used to get all
+ available modules.
+
+
+ OTP-16495 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 23, the distributed disk_log feature has been
+ deprecated. It has also been scheduled for removal in
+ OTP 24.
+
+
+ OTP-16499 Application(s): kernel
+
+ Add the function code:fetch_docs/1 for fetching
+ embedded documentation for aa Erlang module.
+
+
+ OTP-16530 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ Improve configure for the net nif, which should
+ increase portability.
+
+
+ OTP-16563 Application(s): kernel
+ Related Id(s): PR-2523
+
+ Allow using custom IO devices in logger_std_h.
+
+
+ OTP-16570 Application(s): kernel
+ Related Id(s): PR-2565
+
+ Added file:del_dir_r/1 which deletes a directory
+ together with all of its contents, similar to rm -rf on
+ Unix systems.
+
+
+ Full runtime dependencies of kernel-7.0: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16531 Application(s): megaco
+
+ The preliminary version 3 codec(s) prev3a, prev3b and
+ prev3c has been deprecated and will be *removed* in OTP
+ 24. The encoding config option 'version3' will continue
+ to work until OTP 24.
+
+
+ Full runtime dependencies of megaco-3.19: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.17 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16072 Application(s): mnesia
+ Related Id(s): PR-2320
+
+ Make mnesia:create_table/2 return correct badarg value.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15695 Application(s): kernel, mnesia, parsetools, sasl,
+ snmp, stdlib
+
+ Remove usage and documentation of old requests of the
+ I/O-protocol.
+
+
+ OTP-16189 Application(s): mnesia
+
+ Avoid using rpc calls to do table reads, which will
+ reduce the load on rpc server and improve performance.
+
+
+ Full runtime dependencies of mnesia-4.17: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.9.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16368 Application(s): kernel, observer, runtime_tools,
+ stdlib, tools
+ Related Id(s): OTP-15251
+
+ Minor updates due to the new spawn improvements made.
+
+
+ Full runtime dependencies of observer-2.9.4: erts-11.0, et-1.5,
+ kernel-7.0, runtime_tools-1.8.14, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16544 Application(s): odbc
+ Related Id(s): OTP-16328
+
+ Rewrite due to the removal of erl_interface legacy
+ functions.
+
+
+ Full runtime dependencies of odbc-2.13: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.5.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ Full runtime dependencies of os_mon-2.5.2: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15695 Application(s): kernel, mnesia, parsetools, sasl,
+ snmp, stdlib
+
+ Remove usage and documentation of old requests of the
+ I/O-protocol.
+
+
+ Full runtime dependencies of parsetools-2.2: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15247 Application(s): public_key, ssl
+
+ Added support for RSA-PSS signature schemes
+
+
+ OTP-16346 Application(s): common_test, public_key, snmp, ssh,
+ ssl
+
+ Calls of deprecated functions in the Old Crypto API are
+ replaced by calls of their substitutions.
+
+
+ Full runtime dependencies of public_key-1.8: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.15 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16327 Application(s): erts, runtime_tools, tools
+
+ Improved the presentation of allocations and carriers
+ in the instrument module.
+
+
+ OTP-16368 Application(s): kernel, observer, runtime_tools,
+ stdlib, tools
+ Related Id(s): OTP-15251
+
+ Minor updates due to the new spawn improvements made.
+
+
+ Full runtime dependencies of runtime_tools-1.15: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.5 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15695 Application(s): kernel, mnesia, parsetools, sasl,
+ snmp, stdlib
+
+ Remove usage and documentation of old requests of the
+ I/O-protocol.
+
+
+ OTP-16561 Application(s): sasl
+ Related Id(s): PR-2420
+
+ systools:make_script/2 now accepts the name of the boot
+ file to create, it is not restricted to only
+ RelName.boot or start.boot.
+
+ systools:make_tar/2 now accepts the option extra_files
+ to add any extra non release related files to the tar
+ file.
+
+
+ Full runtime dependencies of sasl-3.5: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.6 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16541 Application(s): snmp
+ Related Id(s): #2544
+
+ For manager, fix PrivParams for SNMPv3 USM with AES
+ privacy; * In `snmp_usm:do_decrypt/3`, pass full
+ UsmSecParams to `snmp_usm:try_decrypt/5` as expected by
+ AES clause. * Change `snmpm_usm:aes_encrypt/3` to use
+ EngineBoots and EngineTime as cached by
+ `snmpm_config:get_usm_eboots/1` and
+ `snmpm_config:get_usm_etime/1` instead of
+ `snmpm_config:get_engine_boots/0` and
+ `snmpm_config:get_engine_time/0`. This ensures correct
+ msgPrivacyParameters are sent when AES is used. * Add
+ test `snmp.snmp_manager_SUITE.usm_priv_aes/1` to avoid
+ regression.
+
+
+ OTP-16552 Application(s): snmp
+ Related Id(s): ERL-1196
+
+ Invalid character in (manager) usm config entry
+ generator function.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15695 Application(s): kernel, mnesia, parsetools, sasl,
+ snmp, stdlib
+
+ Remove usage and documentation of old requests of the
+ I/O-protocol.
+
+
+ OTP-16346 Application(s): common_test, public_key, snmp, ssh,
+ ssl
+
+ Calls of deprecated functions in the Old Crypto API are
+ replaced by calls of their substitutions.
+
+
+ OTP-16463 Application(s): snmp
+
+ Finalize deprecation. Already deprecated functions has
+ a "remove version 24" set and "new" functions added to
+ list of deprecated functions.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ Full runtime dependencies of snmp-5.6: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16363 Application(s): ssh
+
+ Fix error in ssh_sftpd typespec.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11688 Application(s): ssh
+ Related Id(s): OTP-12699
+
+ The plug-in file ssh_file.erl, that is responsible for
+ default file handling, is re-factored, optimized and
+ re-written.
+
+
+ OTP-15434 Application(s): ssh
+
+ *** HIGHLIGHT ***
+
+ OpenSSH 6.5 introduced a new file representation of
+ keys called openssh-key-v1.
+
+ OTP/SSH had an experimental implementation of this
+ format. That implementation is now improved and
+ supported with the exception of handling encrypted
+ keys.
+
+
+ OTP-15998 Application(s): ssh
+ Related Id(s): PR-2368, PR-2376
+
+ *** HIGHLIGHT ***
+
+ TCP/IP port forwarding, a.k.a tunneling a.k.a
+ tcp-forward/direct-tcp is implemented. In the OpenSSH
+ client, this corresponds to the options -L and -R.
+
+ The client or server listens to a specified socket, and
+ when something connects to it with TCP/IP, that
+ connection is forwarded in an encrypted tunnel to the
+ peer. The peer then connects to a predefined IP/port
+ pair and then acts as a proxy.
+
+ See the manual, ssh:tcpip_tunnel_to_server/6 and
+ ssh:tcpip_tunnel_from_server/6.
+
+ The functionality is disabled per default but can be
+ enabled when starting a daemon.
+
+
+ OTP-16026 Application(s): ssh
+ Related Id(s): (OTP-15998), PR-2368
+
+ The client-side of the supervisor tree (under sshc_sup)
+ was previously not complete; the channel handling
+ processes were handled with links but had no
+ supervisors.
+
+ This is now corrected with a client-side supervisor
+ tree under sshc_sup, similar to the server-side
+ supervisor tree under sshd_sup.
+
+
+ OTP-16289 Application(s): ssh
+ Related Id(s): PR-2448
+
+ The extension [email protected] is added to the
+ ssh/sftp rename operation.
+
+
+ OTP-16346 Application(s): common_test, public_key, snmp, ssh,
+ ssl
+
+ Calls of deprecated functions in the Old Crypto API are
+ replaced by calls of their substitutions.
+
+
+ OTP-16506 Application(s): ssh
+
+ *** HIGHLIGHT ***
+
+ The default known_hosts file handling is improved to
+ include ports.
+
+ The handling of the contents in that file is updated to
+ support the full syntax, with exception of 1) the
+ wildcard '?', 2) wildcards in canonical names and 3)
+ the option '@cert-authority'
+
+
+ OTP-16508 Application(s): ssh
+
+ The MAC (Message Authorization Code) algorithms
+
+
+
+
+ are implemented.
+
+
+ OTP-16509 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The key-exchange algorithms
+ 'diffie-hellman-group14-sha1' and
+ 'diffie-hellman-group-exchange-sha1' are disabled per
+ default. The reason is that SHA1 now is considered
+ insecure.
+
+ They can be enabled if needed, see SSH (App).
+
+
+ OTP-16510 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The public key algorithm 'ssh-dss' is disabled per
+ default. The reason is that it is now considered as
+ insecure.
+
+ It can be enabled if needed, see SSH (App).
+
+
+ OTP-16511 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The public key 'ssh-rsa' is now considered as insecure
+ because of its usage of SHA1.
+
+ It is therefore deprecated and will no longer be
+ enabled per default in OTP-24.0.
+
+
+ OTP-16512 Application(s): ssh
+
+ An option optimize (optimize_key_lookup) is introduced
+ for the file interface ssh_file.erl
+
+ The option enables the user to select between the
+ default handling which is fast but memory consuming vs
+ memory efficient but not as fast. The effect might be
+ observable only for large files.
+
+ See the manual for ssh_file:is_host_key/5 and
+ ssh_file:is_auth_key/3.
+
+
+ OTP-16513 Application(s): ssh
+
+ *** HIGHLIGHT ***
+
+ The ssh agent is now implemented in the ssh_agent key
+ callback module.
+
+ Enable with the the option {key_cb, {ssh_agent, []}} in
+ for example ssh:connect/3.
+
+ See the ssh_agent manual for details.
+
+
+ OTP-16540 Application(s): ssh
+
+ *** HIGHLIGHT ***
+
+ Algorithm configuration could now be done in a .config
+ file.
+
+ This is useful for example to enable an algorithm that
+ is disabled by default. It could now be enabled in an
+ .config-file without changing the code,
+
+ See the SSH User's Guide chapter "Configuration in
+ SSH".
+
+
+ Full runtime dependencies of ssh-4.10: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16562 Application(s): ssl
+ Related Id(s): ERL-1168
+
+ Fix a bug that causes cross-build failure.
+
+ This change excludes the ssl.d dependency file from the
+ source tar balls.
+
+
+ OTP-16573 Application(s): ssl
+ Related Id(s): ERIERL-477
+
+ Correct translation of OpenSSL legacy names for two
+ legacy cipher suites
+
+
+ --- Improvements and New Features ---
+
+ OTP-14790 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Drop support for SSL-3.0. Support for this legacy TLS
+ version has not been enabled by default since OTP 19.
+ Now all code to support it has been removed, that is
+ SSL-3.0 protocol version can not be used and is
+ considered invalid.
+
+
+ OTP-15247 Application(s): public_key, ssl
+
+ Added support for RSA-PSS signature schemes
+
+
+ OTP-15589 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Improve interoperability by implementing the middlebox
+ compatiblity mode.
+
+ The middlebox compatibility mode makes the TLS 1.3
+ handshake look more like a TLS 1.2 handshake and
+ increases the chance of successfully establishing TLS
+ 1.3 connections through legacy middleboxes.
+
+
+ OTP-16127 Application(s): ssl
+ Related Id(s): OTP-15618
+
+ Utilize new properties of erlang:dist_ctrl_get_data()
+ for performance improvement of Erlang distribution over
+ TLS.
+
+
+ OTP-16346 Application(s): common_test, public_key, snmp, ssh,
+ ssl
+
+ Calls of deprecated functions in the Old Crypto API are
+ replaced by calls of their substitutions.
+
+
+ OTP-16391 Application(s): ssl
+
+ Implement cipher suite TLS_AES_128_CCM_8_SHA256.
+
+
+ OTP-16400 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ This change adds TLS-1.3 to the list of default
+ supported versions. That is, TLS-1.3 and TLS-1.2 are
+ configured when ssl option 'versions' is not explicitly
+ set.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16519 Application(s): ssl
+
+ Extended ssl:versions so that it lists supported,
+ available and implemented TLS/DTLS versions.
+
+
+ OTP-16533 Application(s): ssl
+
+ Avoid DoS attack against stateful session_tickets by
+ making session ticket ids unpredictable.
+
+
+ Full runtime dependencies of ssl-10.0: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.13 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16431 Application(s): erts, stdlib
+ Related Id(s): ERL-592
+
+ Compiling a match specification with excessive nesting
+ caused the runtime system to crash due to scheduler
+ stack exhaustion. Instead of crashing the runtime
+ system, effected functions will now raise a
+ system_limit error exception in this situation.
+
+
+ OTP-16516 Application(s): compiler, stdlib
+
+ Initialization of record fields using _ is no longer
+ allowed if the number of affected fields is zero.
+
+
+ OTP-16545 Application(s): stdlib
+
+ Fix bugs in eval_bits.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15299 Application(s): kernel, stdlib
+
+ Improved the printout of single line logger events for
+ most of the OTP behaviours in STDLIB and Kernel. This
+ includes proc_lib, gen_server, gen_event, gen_statem,
+ gen_fsm, supervisor, supervisor_bridge and application.
+
+ Improved the chars_limit and depth handling in proc_lib
+ and when formatting of exceptions.
+
+
+ OTP-15695 Application(s): kernel, mnesia, parsetools, sasl,
+ snmp, stdlib
+
+ Remove usage and documentation of old requests of the
+ I/O-protocol.
+
+
+ OTP-15744 Application(s): erts, stdlib
+ Related Id(s): OTP-15623, PR-2229
+
+ *** HIGHLIGHT ***
+
+ Improved ETS scalability of concurrent calls that
+ change the size of a table, like ets:insert/2 and
+ ets:delete/2.
+
+ This performance feature was implemented for
+ ordered_set in OTP 22.0 and does now apply for all ETS
+ table types.
+
+ The improved scalability may come at the cost of longer
+ latency of ets:info(T,size) and ets:info(T,memory). A
+ new table option decentralized_counters has therefore
+ been added. It is default true for ordered_set with
+ write_concurrency enabled and default false for all
+ other table types.
+
+
+ OTP-16005 Application(s): stdlib
+ Related Id(s): ERL-1003, ERL-1150
+
+ Handle Unicode filenames in the zip module.
+
+
+ OTP-16073 Application(s): stdlib
+ Related Id(s): PR-2339
+
+ Unicode support was updated to the Unicode 12.1
+ standard.
+
+
+ OTP-16120 Application(s): stdlib
+ Related Id(s): ERIERL-402, PR-2427
+
+ All of the modules proc_lib, gen_server, gen_statem,
+ and gen_event have been extended with a start_monitor()
+ function. For more information, see the documentation
+ of start_monitor() for these modules.
+
+
+ OTP-16128 Application(s): stdlib, tools
+ Related Id(s): OTP-15618
+
+ Updates for new erlang:term_to_iovec() BIF.
+
+
+ OTP-16171 Application(s): stdlib
+ Related Id(s): ERL-1057
+
+ Documented a quirk regarding extraction from file
+ descriptors in erl_tar.
+
+
+ OTP-16210 Application(s): stdlib
+ Related Id(s): PR-2411
+
+ Added ok as return value to gen_server:reply/2
+
+
+ OTP-16222 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ New functions have been added to c(3) for printing
+ embedded documentation for Erlang modules. The
+ functions are:
+
+ -- h/1,2,3 -- Print the documentation for a
+ Module:Function/Arity.
+
+ -- ht/1,2,3 -- Print the type documentation for a
+ Module:Type/Arity.
+
+ The embedded documentation is created when building the
+ Erlang/OTP documentation.
+
+
+ OTP-16276 Application(s): stdlib
+ Related Id(s): PR-2443
+
+ Add indent and linewidth to the options of the erl_pp
+ module's functions.
+
+
+ OTP-16368 Application(s): kernel, observer, runtime_tools,
+ stdlib, tools
+ Related Id(s): OTP-15251
+
+ Minor updates due to the new spawn improvements made.
+
+
+ OTP-16429 Application(s): compiler, stdlib
+ Related Id(s): ERL-303
+
+ The compiler will now raise a warning when inlining is
+ used in modules that load NIFs.
+
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ OTP-16480 Application(s): stdlib
+
+ Extend erl_parse:abstract/1,2 to handle external fun
+ expressions (fun M:F/A).
+
+
+ OTP-16483 Application(s): stdlib
+ Related Id(s): PR-2542
+
+ Added filelib:safe_relative_path/2 to replace
+ filename:safe_relative_path/1, which did not safely
+ handle symbolic links.
+
+ filename:safe_relative_path/1 has been deprecated.
+
+
+ OTP-16500 Application(s): stdlib
+
+ The module shell_docs has been added. The module
+ contains functions for rendering, validating and
+ normalizing embedded documentation.
+
+
+ OTP-16501 Application(s): stdlib
+ Related Id(s): ERL-708, OTP-16222, OTP-16406,
+ OTP-16494, OTP-16499, OTP-16500, PR-2545
+
+ *** HIGHLIGHT ***
+
+ Module and function auto-completion in the shell now
+ looks at all available modules instead of only those
+ loaded. A module is considered available if it either
+ is loaded already or would be loaded if called.
+
+ The auto-completion has also been expanded to work in
+ the new h/1,2,3 function in c(3).
+
+
+ Full runtime dependencies of stdlib-3.13: compiler-5.0, crypto-3.3,
+ erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15925 Application(s): syntax_tools
+ Related Id(s): PR-2304
+
+ Remove incomplete support for cond expressions.
+
+
+ OTP-16386 Application(s): syntax_tools
+ Related Id(s): PR-2451
+
+ Improved indentation for code generated with
+ erl_prettypr and tidier.
+
+
+ Full runtime dependencies of syntax_tools-2.3: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16128 Application(s): stdlib, tools
+ Related Id(s): OTP-15618
+
+ Updates for new erlang:term_to_iovec() BIF.
+
+
+ OTP-16327 Application(s): erts, runtime_tools, tools
+
+ Improved the presentation of allocations and carriers
+ in the instrument module.
+
+
+ OTP-16368 Application(s): kernel, observer, runtime_tools,
+ stdlib, tools
+ Related Id(s): OTP-15251
+
+ Minor updates due to the new spawn improvements made.
+
+
+ Full runtime dependencies of tools-3.4: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.9.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16469 Application(s): asn1, compiler, crypto, edoc, inets,
+ kernel, megaco, os_mon, otp, snmp, ssl, stdlib, wx
+
+ Refactored the internal handling of deprecated and
+ removed functions.
+
+
+ Full runtime dependencies of wx-1.9.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.25 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16617 Application(s): xmerl
+
+ Fix a bug that the function name didn't get normalized
+ in some case which left white spaces in links.
+
+
+ Full runtime dependencies of xmerl-1.3.25: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+