aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2020-02-27 17:14:42 +0100
committerLoïc Hoguin <[email protected]>2020-02-27 17:14:42 +0100
commita180a4723e170e71b9addeeb55669e3f5d701ba9 (patch)
treefda49327b0aa8ae383ea7beab3ba83a11138ef2d
parent44efab4e5b78cdabdd498bd65c670faa6c262e24 (diff)
downloadci.erlang.mk-a180a4723e170e71b9addeeb55669e3f5d701ba9.tar.gz
ci.erlang.mk-a180a4723e170e71b9addeeb55669e3f5d701ba9.tar.bz2
ci.erlang.mk-a180a4723e170e71b9addeeb55669e3f5d701ba9.zip
OTP-23.0-rc1
-rw-r--r--early-plugins.mk57
-rw-r--r--release-notes/OTP-23.0-rc1.README.txt2170
2 files changed, 2205 insertions, 22 deletions
diff --git a/early-plugins.mk b/early-plugins.mk
index 2cc0e4c..ca1d6f9 100644
--- a/early-plugins.mk
+++ b/early-plugins.mk
@@ -1,4 +1,4 @@
-# Copyright (c) 2017-2019, Loïc Hoguin <[email protected]>
+# Copyright (c) 2017-2020, Loïc Hoguin <[email protected]>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -28,20 +28,25 @@ 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.25
OTP-21 := OTP-21.0.9 OTP-21.1.4 OTP-21.2.7 OTP-21.3.8.13
OTP-22 := OTP-22.0.7 OTP-22.1.8 OTP-22.2.7
+OTP-23 := OTP-23.0-rc1
-OTP-18+ := $(OTP-18) $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22)
-OTP-19+ := $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22)
-OTP-20+ := $(OTP-20) $(OTP-21) $(OTP-22)
-OTP-21+ := $(OTP-21) $(OTP-22)
-OTP-22+ := $(OTP-22)
+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)
+OTP-20+ := $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23)
+OTP-21+ := $(OTP-21) $(OTP-22) $(OTP-23)
+OTP-22+ := $(OTP-22) $(OTP-23)
+OTP-23+ := $(OTP-23)
OTP-LATEST-18+ := $(lastword $(OTP-18)) $(lastword $(OTP-19)) \
- $(lastword $(OTP-20)) $(lastword $(OTP-21)) $(lastword $(OTP-22))
+ $(lastword $(OTP-20)) $(lastword $(OTP-21)) $(lastword $(OTP-22)) \
+ $(lastword $(OTP-23))
OTP-LATEST-19+ := $(lastword $(OTP-19)) $(lastword $(OTP-20)) \
- $(lastword $(OTP-21)) $(lastword $(OTP-22))
-OTP-LATEST-20+ := $(lastword $(OTP-20)) $(lastword $(OTP-21)) $(lastword $(OTP-22))
-OTP-LATEST-21+ := $(lastword $(OTP-21)) $(lastword $(OTP-22))
-OTP-LATEST-22+ := $(lastword $(OTP-22))
+ $(lastword $(OTP-21)) $(lastword $(OTP-22)) $(lastword $(OTP-23))
+OTP-LATEST-20+ := $(lastword $(OTP-20)) $(lastword $(OTP-21)) \
+ $(lastword $(OTP-22)) $(lastword $(OTP-23))
+OTP-LATEST-21+ := $(lastword $(OTP-21)) $(lastword $(OTP-22)) $(lastword $(OTP-23))
+OTP-LATEST-22+ := $(lastword $(OTP-22)) $(lastword $(OTP-23))
+OTP-LATEST-23+ := $(lastword $(OTP-23))
# We exclude release candidates here because they are not
# the latest release, they are the *next* one.
@@ -77,9 +82,10 @@ 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-23-DROPPED :=
OTP-DROPPED := $(OTP-18-DROPPED) $(OTP-19-DROPPED) $(OTP-20-DROPPED) \
- $(OTP-21-DROPPED) $(OTP-22-DROPPED)
+ $(OTP-21-DROPPED) $(OTP-22-DROPPED) $(OTP-23-DROPPED)
# Configure Erlang.mk's CI plugin.
@@ -154,21 +160,28 @@ WINDOWS-OTP-19 := 19.0 19.1 19.2 19.3
WINDOWS-OTP-20 := 20.0 20.1 20.2 20.3
WINDOWS-OTP-21 := 21.0.1 21.1 21.2 21.3
WINDOWS-OTP-22 := 22.0 22.1 22.2
+WINDOWS-OTP-23 :=
-WINDOWS-OTP-18+ := $(WINDOWS-OTP-18) $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22)
-WINDOWS-OTP-19+ := $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22)
-WINDOWS-OTP-20+ := $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22)
-WINDOWS-OTP-21+ := $(WINDOWS-OTP-21) $(WINDOWS-OTP-22)
-WINDOWS-OTP-22+ := $(WINDOWS-OTP-22)
+WINDOWS-OTP-18+ := $(WINDOWS-OTP-18) $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) \
+ $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
+WINDOWS-OTP-19+ := $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) \
+ $(WINDOWS-OTP-23)
+WINDOWS-OTP-20+ := $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
+WINDOWS-OTP-21+ := $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
+WINDOWS-OTP-22+ := $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
+WINDOWS-OTP-23+ := $(WINDOWS-OTP-23)
WINDOWS-OTP-LATEST-18+ := $(lastword $(WINDOWS-OTP-18)) $(lastword $(WINDOWS-OTP-19)) \
- $(lastword $(WINDOWS-OTP-20)) $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22))
+ $(lastword $(WINDOWS-OTP-20)) $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22)) \
+ $(lastword $(WINDOWS-OTP-23))
WINDOWS-OTP-LATEST-19+ := $(lastword $(WINDOWS-OTP-19)) $(lastword $(WINDOWS-OTP-20)) \
- $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22))
+ $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23))
WINDOWS-OTP-LATEST-20+ := $(lastword $(WINDOWS-OTP-20)) $(lastword $(WINDOWS-OTP-21)) \
- $(lastword $(WINDOWS-OTP-22))
-WINDOWS-OTP-LATEST-21+ := $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22))
-WINDOWS-OTP-LATEST-22+ := $(lastword $(WINDOWS-OTP-22))
+ $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23))
+WINDOWS-OTP-LATEST-21+ := $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22)) \
+ $(lastword $(WINDOWS-OTP-23))
+WINDOWS-OTP-LATEST-22+ := $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23))
+WINDOWS-OTP-LATEST-23+ := $(lastword $(WINDOWS-OTP-23))
WINDOWS-OTP-LATEST := $(lastword $(WINDOWS-OTP-18+))
diff --git a/release-notes/OTP-23.0-rc1.README.txt b/release-notes/OTP-23.0-rc1.README.txt
new file mode 100644
index 0000000..ea24322
--- /dev/null
+++ b/release-notes/OTP-23.0-rc1.README.txt
@@ -0,0 +1,2170 @@
+Inital Release: OTP 23.0
+Git Tag: OTP-23.0
+Date: 2020-02-27
+Trouble Report Id: OTP-10278, OTP-11688, OTP-13450, OTP-14708,
+ OTP-14734, OTP-14790, OTP-15077, OTP-15232,
+ OTP-15251, OTP-15299, OTP-15434, OTP-15517,
+ 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-16251,
+ OTP-16252, OTP-16264, OTP-16270, OTP-16273,
+ OTP-16275, OTP-16276, OTP-16283, OTP-16284,
+ OTP-16289, 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-16394, OTP-16395,
+ OTP-16398, OTP-16400, OTP-16402, OTP-16406,
+ OTP-16419, OTP-16432, OTP-16453, OTP-16454,
+ OTP-16455, 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
+Seq num: ERIERL-402, ERL-1002, ERL-1003, ERL-1051,
+ ERL-1053, ERL-1057, ERL-1115, ERL-1134,
+ ERL-1150, ERL-1154, ERL-496, ERL-560,
+ ERL-700, ERL-708, ERL-927, ERL-991
+System: OTP
+Release: 23
+Application: asn1-5.0.10, 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-3.14, erts-11.0, eunit-2.5,
+ hipe-4.0, inets-7.2, jinterface-1.11,
+ kernel-7.0, megaco-3.18.8, mnesia-4.17,
+ observer-2.9.4, odbc-2.13, os_mon-2.5.2,
+ parsetools-2.2, public_key-1.7.2,
+ runtime_tools-1.15, sasl-3.5, snmp-5.5,
+ ssh-4.9, ssl-10.0, stdlib-3.12,
+ syntax_tools-2.3, tools-3.4, wx-1.9.1
+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-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 as
+ 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 if wanted 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.
+
+
+ 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).
+
+
+ ---------------------------------------------------------------------
+ --- 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-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 dtds of all documentation files have been trimmed
+ from all unused or rarely-used tags.
+
+ Unused dtds have been removed.
+
+
+ ---------------------------------------------------------------------
+ --- 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.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.10 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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.
+
+
+ Full runtime dependencies of asn1-5.0.10: 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-.
+
+
+ --- 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-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 compiler-7.6: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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.
+
+
+ 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.
+
+
+ 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 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-3.14 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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-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, odbc
+
+ Removed the deprecated parts of erl_interface
+ (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.
+
+
+ ---------------------------------------------------------------------
+ --- 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-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.
+
+
+ --- 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-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-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 the erlang:decode_packet/3. Example:
+
+ > erlang:decode_packet(httph_bin,>,[]).
+ {ok,{http_header,0,>,>,>},>}
+
+
+ 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.
+
+
+ Full runtime dependencies of erts-11.0: kernel-7.0, sasl-3.3,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- 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
+
+
+ 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.
+
+
+ --- 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-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-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.
+
+
+ Full runtime dependencies of kernel-7.0: erts-11.0, sasl-3.0,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.8 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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 megaco-3.18.8: 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.12, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16328 Application(s): erl_interface, odbc
+
+ Removed the deprecated parts of erl_interface
+ (essentially all C functions with prefix erl_).
+
+
+ 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.7.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ 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.7.2: 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.12
+
+
+ ---------------------------------------------------------------------
+ --- 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.
+
+
+ Full runtime dependencies of sasl-3.5: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.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-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-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.5: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.9 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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 as
+ 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 if wanted 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.
+
+
+ Full runtime dependencies of ssh-4.9: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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-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-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.
+
+
+ Full runtime dependencies of ssl-10.0: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.12 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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-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.12: 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
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+