aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2021-05-12 11:26:38 +0200
committerLoïc Hoguin <[email protected]>2021-05-12 11:26:38 +0200
commit5ff970e8ff1ebbe229ce3b7bc7d77b9abedd4661 (patch)
tree586e511fe80a28b304ce0f4a1bc6be7db26c1bd1
parentac23f401cb4ab41bf573da80f6119d4206675f07 (diff)
downloadci.erlang.mk-5ff970e8ff1ebbe229ce3b7bc7d77b9abedd4661.tar.gz
ci.erlang.mk-5ff970e8ff1ebbe229ce3b7bc7d77b9abedd4661.tar.bz2
ci.erlang.mk-5ff970e8ff1ebbe229ce3b7bc7d77b9abedd4661.zip
OTP-24.0
-rw-r--r--early-plugins.mk8
-rw-r--r--release-notes/OTP-24.0.README.txt3569
2 files changed, 3573 insertions, 4 deletions
diff --git a/early-plugins.mk b/early-plugins.mk
index e749227..271cfab 100644
--- a/early-plugins.mk
+++ b/early-plugins.mk
@@ -18,7 +18,7 @@ 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.23
OTP-22 := OTP-22.0.7 OTP-22.1.8 OTP-22.2.8 OTP-22.3.4.18
OTP-23 := OTP-23.0.4 OTP-23.1.5 OTP-23.2.7.3 OTP-23.3.4
-OTP-24 := OTP-24.0-rc3
+OTP-24 := OTP-24.0
OTP-18+ := $(OTP-18) $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24)
OTP-19+ := $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24)
@@ -86,7 +86,7 @@ OTP-23-DROPPED := OTP-23.0-rc1 OTP-23.0-rc2 OTP-23.0-rc3 OTP-23.0 OTP-23.0.1 \
OTP-23.0.2 OTP-23.0.3 OTP-23.1 OTP-23.1.1 OTP-23.1.2 OTP-23.1.3 OTP-23.1.4 \
OTP-23.2 OTP-23.2.1 OTP-23.2.3 OTP-23.2.4 OTP-23.3.1 OTP-23.3.2 OTP-23.2.7.2 \
OTP-23.3.3
-OTP-24-DROPPED := OTP-24.0-rc2
+OTP-24-DROPPED := OTP-24.0-rc2 OTP-24.0-rc3
OTP-DROPPED := $(OTP-18-DROPPED) $(OTP-19-DROPPED) $(OTP-20-DROPPED) \
$(OTP-21-DROPPED) $(OTP-22-DROPPED) $(OTP-23-DROPPED) $(OTP-24-DROPPED)
@@ -156,7 +156,7 @@ 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 22.3
WINDOWS-OTP-23 := 23.0 23.1 23.2 23.3
-WINDOWS-OTP-24 :=
+WINDOWS-OTP-24 := 24.0
WINDOWS-OTP-18+ := $(WINDOWS-OTP-18) $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) \
$(WINDOWS-OTP-22) $(WINDOWS-OTP-23) $(WINDOWS-OTP-24)
@@ -219,7 +219,7 @@ WINDOWS-OTP-23.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-23.1/bin)
WINDOWS-OTP-23.2-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-23.2/bin)
WINDOWS-OTP-23.3-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-23.3/bin)
-#WINDOWS-OTP-24.0-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-24.0/bin)
+WINDOWS-OTP-24.0-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-24.0/bin)
# We have to duplicate this for it to work as
# it is not yet defined when we define this.
diff --git a/release-notes/OTP-24.0.README.txt b/release-notes/OTP-24.0.README.txt
new file mode 100644
index 0000000..22d062a
--- /dev/null
+++ b/release-notes/OTP-24.0.README.txt
@@ -0,0 +1,3569 @@
+Inital Release: OTP 24.0
+Git Tag: OTP-24.0
+Date: 2021-05-12
+Trouble Report Id: OTP-10391, OTP-13126, OTP-14485, OTP-14601,
+ OTP-14646, OTP-14647, OTP-14650, OTP-14700,
+ OTP-14753, OTP-14793, OTP-15107, OTP-15523,
+ OTP-16226, OTP-16334, OTP-16517, OTP-16560,
+ OTP-16607, OTP-16611, OTP-16653, OTP-16656,
+ OTP-16678, OTP-16686, OTP-16687, OTP-16698,
+ OTP-16703, OTP-16706, OTP-16712, OTP-16718,
+ OTP-16720, OTP-16722, OTP-16723, OTP-16724,
+ OTP-16725, OTP-16749, OTP-16750, OTP-16788,
+ OTP-16793, OTP-16800, OTP-16809, OTP-16811,
+ OTP-16814, OTP-16822, OTP-16824, OTP-16865,
+ OTP-16867, OTP-16877, OTP-16878, OTP-16879,
+ OTP-16880, OTP-16881, OTP-16882, OTP-16883,
+ OTP-16884, OTP-16885, OTP-16898, OTP-16905,
+ OTP-16910, OTP-16926, OTP-16936, OTP-16940,
+ OTP-16943, OTP-16944, OTP-16945, OTP-16947,
+ OTP-16949, OTP-16950, OTP-16952, OTP-16957,
+ OTP-16963, OTP-16964, OTP-16968, OTP-16970,
+ OTP-16971, OTP-16974, OTP-16980, OTP-16981,
+ OTP-16986, OTP-16987, OTP-16995, OTP-17001,
+ OTP-17005, OTP-17007, OTP-17014, OTP-17015,
+ OTP-17020, OTP-17023, OTP-17024, OTP-17028,
+ OTP-17044, OTP-17049, OTP-17051, OTP-17057,
+ OTP-17059, OTP-17062, OTP-17077, OTP-17078,
+ OTP-17084, OTP-17092, OTP-17095, OTP-17103,
+ OTP-17104, OTP-17105, OTP-17106, OTP-17117,
+ OTP-17118, OTP-17120, OTP-17121, OTP-17122,
+ OTP-17123, OTP-17131, OTP-17132, OTP-17133,
+ OTP-17140, OTP-17142, OTP-17153, OTP-17154,
+ OTP-17155, OTP-17156, OTP-17157, OTP-17168,
+ OTP-17169, OTP-17170, OTP-17171, OTP-17172,
+ OTP-17175, OTP-17177, OTP-17180, OTP-17181,
+ OTP-17183, OTP-17186, OTP-17189, OTP-17192,
+ OTP-17198, OTP-17199, OTP-17201, OTP-17203,
+ OTP-17206, OTP-17207, OTP-17210, OTP-17213,
+ OTP-17214, OTP-17216, OTP-17217, OTP-17219,
+ OTP-17221, OTP-17222, OTP-17226, OTP-17236,
+ OTP-17243, OTP-17254, OTP-17257, OTP-17259,
+ OTP-17260, OTP-17262, OTP-17263, OTP-17266,
+ OTP-17267, OTP-17270, OTP-17272, OTP-17275,
+ OTP-17276, OTP-17277, OTP-17278, OTP-17284,
+ OTP-17285, OTP-17286, OTP-17287, OTP-17288,
+ OTP-17292, OTP-17293, OTP-17294, OTP-17300,
+ OTP-17301, OTP-17302, OTP-17310, OTP-17312,
+ OTP-17313, OTP-17314, OTP-17315, OTP-17321,
+ OTP-17322, OTP-17327, OTP-17329, OTP-17330,
+ OTP-17334, OTP-17341, OTP-17342, OTP-17343,
+ OTP-17344, OTP-17352, OTP-17353, OTP-17354,
+ OTP-17355, OTP-17364, OTP-17368, OTP-17372,
+ OTP-17373, OTP-17374, OTP-17378, OTP-17384,
+ OTP-17385, OTP-17387, OTP-17388
+Seq num: ERIERL-537, ERIERL-618, ERIERL-619, ERL-1113,
+ ERL-1281, ERL-1308, ERL-1313, ERL-1332,
+ ERL-1335, ERL-1348, ERL-1354, ERL-1367,
+ ERL-1378, ERL-1379, ERL-1380, ERL-1381,
+ ERL-1418, ERL-1430, ERL-1431, ERL-1450,
+ ERL-1480, ERL-892, GH-4019, GH-4033, GH-4230,
+ GH-4360, GH-4469, GH-4473, GH-4493, GH-4525,
+ GH-4544, GH-4588, GH-4621, GH-4624, GH-4626,
+ GH-4631, GH-4636, GH-4637, GH-4650, GH-4680,
+ GH-4725, GH-4800
+System: OTP
+Release: 24
+Application: asn1-5.0.16, common_test-1.20.3,
+ compiler-8.0, crypto-5.0, debugger-5.1,
+ dialyzer-4.4, edoc-1.0, erl_docgen-1.1,
+ erl_interface-5.0, erts-12.0, et-1.6.5,
+ eunit-2.6.1, ftp-1.1, inets-7.4,
+ jinterface-1.12, kernel-8.0, megaco-4.0,
+ mnesia-4.19.1, observer-2.9.6, odbc-2.13.4,
+ os_mon-2.7, parsetools-2.3, public_key-1.11,
+ reltool-0.9, runtime_tools-1.16.2, sasl-4.1,
+ snmp-5.9, ssh-4.12, ssl-10.4, stdlib-3.15,
+ syntax_tools-2.6, tftp-1.0.3, tools-3.5,
+ wx-2.0, xmerl-1.3.28
+Predecessor: OTP
+
+ Check out the git tag OTP-24.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10391 Application(s): compiler
+ Related Id(s): OTP-16226
+
+ Selective receive optimization will now be applied much
+ more often.
+
+ The new recv_opt_info compile flag can be used to print
+ diagnostics relating to this optimization.
+
+ You can read more about the selective receive
+ optimization in the Efficiency Guide.
+
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16800 Application(s): wx
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16964 Application(s): compiler
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ Added support for wxWebView.
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ OTP-17334 Application(s): stdlib
+ Related Id(s): EEP-56, PR-4638
+
+ Implementation of EEP 56 in supervisor. It adds the
+ concept of significant children as well as the
+ auto_shutdown supervisor flag.
+
+ See the supervisor manual page for more information.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16560 Application(s): megaco
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-16656 Application(s): crypto
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-16811 Application(s): kernel
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16878 Application(s): erts
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16945 Application(s): erts
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ The pg2 module has been removed.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-16971 Application(s): stdlib
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16974 Application(s): ssl
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-16987 Application(s): erts
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17156 Application(s): kernel
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ OTP-17355 Application(s): kernel
+ Related Id(s): OTP-17154
+
+ The return values from module socket functions send(),
+ sendto(), sendmsg(), sendfile() and recv() has been
+ changed to return a tuple tagged with select when a
+ SelectInfo was returned, and not sometimes tagged with
+ ok.
+
+ This is a backwards incompatible change that improves
+ usability for code using asynchronous operations.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-24.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17272 Application(s): otp
+ Related Id(s): GH-4626, PR-4627
+
+ Updated autoconf auxiliary files.
+
+
+ OTP-17278 Application(s): otp
+ Related Id(s): GH-4621
+
+ Do not allow a mandatory application to be disabled
+ using the configure switch --without-appname.
+
+
+ OTP-17373 Application(s): otp
+ Related Id(s): PR-4645
+
+ A build of OTP configured with --without-jinterface now
+ builds without complaining about missing jinterface
+ files.
+
+
+ OTP-17378 Application(s): otp
+ Related Id(s): PR-4791
+
+ The documentation about signaling in Erlang has been
+ improved in the Processes chapter of the Erlang
+ Reference Manual.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.16 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17387 Application(s): asn1
+ Related Id(s): OTP-17123
+
+ Fixed a bug in the asn1 compiler that potentially could
+ cause it to fail to open a file.
+
+
+ Full runtime dependencies of asn1-5.0.16: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.3 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16940 Application(s): common_test
+ Related Id(s): ERL-1335
+
+ The option release_shell could crash when used together
+ with the spec option.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of common_test-1.20.3: 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-8.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17104 Application(s): compiler
+ Related Id(s): ERL-1380
+
+ A repeated stack trace variable in a try/catch was not
+ rejected. The following example will now cause a
+ compilation error:
+
+ try E catch _:A:A -> A end.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17206 Application(s): compiler
+
+ When the makedep option was given, the compiler would
+ crash if the dependency output contained non-latin1
+ characters. The compiler will now output the dependency
+ information encoded in UTF-8 to avoid crashing.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10391 Application(s): compiler
+ Related Id(s): OTP-16226
+
+ *** HIGHLIGHT ***
+
+ Selective receive optimization will now be applied much
+ more often.
+
+ The new recv_opt_info compile flag can be used to print
+ diagnostics relating to this optimization.
+
+ You can read more about the selective receive
+ optimization in the Efficiency Guide.
+
+
+ OTP-16334 Application(s): compiler
+
+ erlang:throw/1 will no longer build stack traces when
+ we can prove that they will never be inspected.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ *** HIGHLIGHT ***
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16867 Application(s): compiler
+ Related Id(s): ERL-1354
+
+ Fixed a performance bug that made functions with lots
+ of try/after blocks slow to compile.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16964 Application(s): compiler
+
+ *** HIGHLIGHT ***
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ *** HIGHLIGHT ***
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17078 Application(s): compiler
+ Related Id(s): ERL-1430, PR-2918
+
+ The previously undocumented compiler options
+ warn_missing_spec and warn_missing_spec_all are now
+ documented.
+
+
+ OTP-17123 Application(s): compiler
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ OTP-17168 Application(s): compiler
+
+ Erlang source files not encoded in utf-8 will no longer
+ be accepted by the compiler unless it contains a
+ "coding: latin-1" comment.
+
+
+ OTP-17172 Application(s): compiler
+
+ New compiler options from_abstr and no_lint have been
+ added. They are useful when implementing other
+ languages running on the BEAM.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ *** HIGHLIGHT ***
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ OTP-17260 Application(s): compiler
+
+ It is now possible to disable warnings emitted from the
+ compiler's optimization passes with the new options
+ nowarn_opportunistic, nowarn_nomatch, nowarn_ignored,
+ and nowarn_failed.
+
+
+ OTP-17301 Application(s): compiler, erts
+ Related Id(s): GH-4636
+
+ Introduce new types nonempty_binary() and
+ nonempty_bitstring().
+
+
+ OTP-17330 Application(s): compiler, stdlib
+
+ Add compiler option {nowarn_unused_record,
+ RecordNames}. Document compiler option
+ nowarn_unused_type.
+
+
+ Full runtime dependencies of compiler-8.0: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16882 Application(s): crypto
+
+ Add /usr/local/opt/openssl to the openssl configure
+ search path. This path is where some tools on OS X
+ place openssl.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17254 Application(s): crypto, erts
+ Related Id(s): ERIERL-618, GH-4230
+
+ The configure scripts in crypto and erts now fail if a
+ requested feature cannot be enabled.
+
+ Large parts of the configure script of crypto have been
+ rewritten with various improvements and bug fixes. It
+ is now better at finding usable OpenSSL libraries, but
+ will in the following cases fail to detect OpenSSL
+ libraries where it previously sometimes detected the
+ libraries by chance:
+
+ -- OpenSSL installations with include directory and lib
+ directory parts installed in different base
+ directories. In order to detect such installations
+ after this change, the user must explicitly specify the
+ locations using the --with-ssl=<path> and the
+ --with-ssl-incl=<path> configure command line
+ arguments.
+
+ -- When building with old gcc compilers or other
+ compilers on Debian derivatives with multiarch
+ directories under the lib directory. In order to detect
+ such installations after this change, the user must
+ explicitly specify the multiarch directory name using
+ the --with-ssl-lib-subdir=lib/<multiarch-dir> configure
+ command line argument.
+
+
+ OTP-17312 Application(s): crypto
+ Related Id(s): PR-4723
+
+ The value 'none' was missing in the specs of
+ crypto:sign/4 and crypto:verify/6.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16656 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-17001 Application(s): crypto
+ Related Id(s): PR-2852
+
+ Removed installed directory priv/obj/ containing
+ superfluous object files.
+
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ *** HIGHLIGHT ***
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17313 Application(s): crypto
+ Related Id(s): PR-4686
+
+ Add prop_aead attribute to map from
+ crypto:cipher_info/1.
+
+
+ Full runtime dependencies of crypto-5.0: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ Full runtime dependencies of debugger-5.1: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16883 Application(s): dialyzer
+
+ Some internal HiPE modules have been moved into the
+ dialyzer application so that dialyzer works when HiPE
+ is disabled.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16986 Application(s): dialyzer
+ Related Id(s): ERL-1379, ERL-1480, GH-4033
+
+ Add warning option no_underspecs.
+
+
+ OTP-16995 Application(s): dialyzer
+ Related Id(s): ERL-1348
+
+ Report filename and location for warnings returned due
+ to the -Wunknown option. When used from the
+ command-line, one location per file is printed.
+
+
+ OTP-17084 Application(s): dialyzer
+
+ Add types and specifications for documentation.
+
+
+ OTP-17177 Application(s): dialyzer
+ Related Id(s): OTP-16824
+
+ Add option error_location. The option is recognized if
+ included in the environment variable
+ ERL_COMPILER_OPTIONS.
+
+
+ OTP-17183 Application(s): dialyzer
+ Related Id(s): ERL-892, GH-4493
+
+ Clarify how to declare records used in match patterns.
+
+
+ Full runtime dependencies of dialyzer-4.4: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17092 Application(s): edoc
+
+ Fix so that the edoc_doclet option file_suffix also
+ effects the links emitted into the module index.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-17095 Application(s): edoc
+ Related Id(s): PR-2914
+
+ Edoc has been updated to use -spec to document its own
+ interface instead of @doc@ tags.
+
+ Together with this change the inter-application linking
+ for -spec style documentation has been improved.
+
+
+ OTP-17153 Application(s): edoc
+ Related Id(s): PR-2674
+
+ Allow user defined edoc macros to be functions.
+
+
+ Full runtime dependencies of edoc-1.0: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17257 Application(s): erl_docgen
+
+ Fix bug where see* elements within type/name were
+ removed when generating html. Bug has been present
+ since OTP-21.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16877 Application(s): erl_docgen
+
+ Add support for displaying .svg images.
+
+
+ OTP-17192 Application(s): erl_docgen
+ Related Id(s): PR-2803
+
+ Updated the way specs are generated after changes in
+ edoc.
+
+
+ Full runtime dependencies of erl_docgen-1.1: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17132 Application(s): erl_interface, kernel
+
+ Two options have been added to erl_call. The
+ -fetch_stdout option fetches stdout data resulting from
+ the code invoked by erl_call. The -fetch_stdout option
+ disables printing of the result term. In order to
+ implement the first of these two options a new function
+ called ei_xrpc_from has been added to erl_interface.
+ For details see the erl_call documentation and
+ erl_interface documentation.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17270 Application(s): erl_interface
+ Related Id(s): OTP-17127
+
+ Support the new link protocol in order to be able to
+ phase out the old link protocol in the future.
+ erl_interface does not support setting up or removing
+ links from the erl_interface side, so the bug present
+ with the old protocol did not effect erl_interface.
+ This since both participants of a link simultaneously
+ needed to operate on the link in order to trigger the
+ bug.
+
+
+ --- 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.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16822 Application(s): erts
+ Related Id(s): PR-2723
+
+ file:open/2 now throws an badarg error when opened with
+ both the ram and raw options.
+
+
+ OTP-16879 Application(s): erts
+
+ The estone benchmark has been updated to better reflect
+ changes in the compiler and run-time system.
+
+
+ OTP-16880 Application(s): erts
+
+ Fix profile guided optimization of run-time system when
+ using GCC 7 or later.
+
+
+ OTP-16884 Application(s): erts
+
+ Fix double close of fd when creating crash dump.
+
+
+ OTP-17014 Application(s): erts
+
+ Improve erl error message when unable to open included
+ args_file.
+
+
+ OTP-17020 Application(s): erts
+
+ Remove warning text about the -- operation from
+ documentation
+
+ The -- operation was optimized in Erlang/OTP 22 so that
+ its worst case complexity is O(N*log(N)), where N is
+ the total size of the input lists. Therefore, the
+ warning in the documentation saying that the time
+ complexity is proportional to length(A)*length(B) is
+ incorrect and is no longer needed. Notice that
+ Erlang/OTP 21 will no longer be supported when
+ Erlang/OTP 24 gets released.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17131 Application(s): erts
+ Related Id(s): GH-4360, PR-3031
+
+ Windows process erl.exe killed if its service process
+ erlsrv.exe terminates.
+
+
+ OTP-17254 Application(s): crypto, erts
+ Related Id(s): ERIERL-618, GH-4230
+
+ The configure scripts in crypto and erts now fail if a
+ requested feature cannot be enabled.
+
+ Large parts of the configure script of crypto have been
+ rewritten with various improvements and bug fixes. It
+ is now better at finding usable OpenSSL libraries, but
+ will in the following cases fail to detect OpenSSL
+ libraries where it previously sometimes detected the
+ libraries by chance:
+
+ -- OpenSSL installations with include directory and lib
+ directory parts installed in different base
+ directories. In order to detect such installations
+ after this change, the user must explicitly specify the
+ locations using the --with-ssl=<path> and the
+ --with-ssl-incl=<path> configure command line
+ arguments.
+
+ -- When building with old gcc compilers or other
+ compilers on Debian derivatives with multiarch
+ directories under the lib directory. In order to detect
+ such installations after this change, the user must
+ explicitly specify the multiarch directory name using
+ the --with-ssl-lib-subdir=lib/<multiarch-dir> configure
+ command line argument.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ OTP-17314 Application(s): erts
+ Related Id(s): GH-4624, OTP-15926, PR-
+
+ Add check to make sure that when passing an option to
+ erl that requires an argument, but none is given, we
+ report an error. This fixes a bug introduced in
+ OTP-22.1 via OTP-15926.
+
+
+ OTP-17329 Application(s): erts
+ Related Id(s): PR-4730
+
+ The "Last calls" section in crash dumps have been
+ updated to print newlines after each non-function
+ save_calls state (send, receive, timeout).
+
+
+ OTP-17372 Application(s): erts, kernel
+
+ Sockets created with socket:accept not counted
+ (socket:info/0).
+
+
+ --- Improvements and New Features ---
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-14753 Application(s): erts
+
+ New functions enif_dynamic_resource_call enables NIFs
+ to call native code in another NIF module. The call is
+ done via a resource callback function dyncall supplied
+ by the user with the new enif_init_resource_type.
+
+
+ OTP-16226 Application(s): erts
+ Related Id(s): OTP-10391
+
+ Runtime support for new improved selective receive
+ optimization.
+
+
+ OTP-16653 Application(s): erts
+
+ The deprecated function erlang:get_stacktrace/0 has
+ been removed. Use the new syntax in try/catch to
+ retrieve the stack backtrace.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16687 Application(s): erts
+ Related Id(s): PR-2762, PR-2996
+
+ The erlang module documentation has been updated to
+ improve clarity and description of edge cases.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16712 Application(s): erts
+
+ Improve code generation when creating funs by adding a
+ new beam instruction make_fun3 that does not do GC and
+ allows for better register allocation.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16788 Application(s): erts
+
+ Remove old unused +MYm and ERL_MALLOC_LIB options.
+
+
+ OTP-16814 Application(s): erts
+ Related Id(s): PR-2704
+
+ Increase timer resolution on windows.
+
+
+ OTP-16878 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16881 Application(s): erts
+
+ Add support in the Erlang/OTP build system to generate
+ a compilation database that can be used by third-party
+ tools (such as irony in Emacs) to compile the erts C
+ and C++ source code. Create the database using make
+ compdb.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ *** HIGHLIGHT ***
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16898 Application(s): erts
+ Related Id(s): OTP-16856
+
+ By default all ERTS internal memory allocators based on
+ alloc_util will now use their own separate carrier pool
+ for migration of carriers instead of using a node
+ global carrier pool. This was the default behavior
+ between OTP 17 and OTP 21, but changed to use a node
+ global carrier pool as of OTP 22.0. Usage of the node
+ global carrier pool proved troublesome since it had a
+ tendency to spread long lived blocks into allocators
+ with normally short lived blocks causing increased
+ memory fragmentation. The node global carrier pool
+ behavior as well as other behaviors can be configured
+ using the +M<S>cp command line argument.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16945 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-16987 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17028 Application(s): erts
+
+ One can now pass the ERL_ROOTDIR environment variable
+ to the erl and start scrips. This makes it easier to
+ use Erlang for Android apps. On Android, apps don't
+ control where they will be installed.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17154 Application(s): erts, kernel
+ Related Id(s): OTP-16749
+
+ socket:sendfile/2,3,4,5 has been implemented, for
+ platforms that support the underlying socket library
+ call.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ OTP-17285 Application(s): erts
+ Related Id(s): PR-4651
+
+ Add process_flag(fullsweep_after, N) to change
+ fullsweep_after value in an already spawned process.
+
+
+ OTP-17293 Application(s): erts
+ Related Id(s): PR-4672
+
+ The max_heap_size error report has been updated to
+ include the message queue size.
+
+
+ OTP-17301 Application(s): compiler, erts
+ Related Id(s): GH-4636
+
+ Introduce new types nonempty_binary() and
+ nonempty_bitstring().
+
+
+ OTP-17310 Application(s): erts
+ Related Id(s): PR-4656
+
+ Optimize updates of large maps with identical keys and
+ values. E.g. in the example below the original Map will
+ be reused as the return of the second update.
+
+ 1> Map = LargeMap#{ a => b }.
+
+ 2> Map#{ a := b }.
+
+ The same optimization was done for small maps (< 33
+ keys) in erts-10.4 (OTP 22.0).
+
+
+ OTP-17341 Application(s): erts
+ Related Id(s): PR-2945
+
+ The previously undocumented internal -no_epmd option
+ has been made documented and public.
+
+
+ OTP-17368 Application(s): erts
+
+ Reduce memory carrier super alignment on 64-bit
+ architectures. In practice allows more fine grained
+ control over configuration of memory carrier sizes,
+ from increments of 256kb to 16kb.
+
+
+ Full runtime dependencies of erts-12.0: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6.5 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of et-1.6.5: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.6.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17300 Application(s): eunit
+ Related Id(s): PR-4695
+
+ The eunit_surefire report handler has been updated to
+ automatically create the directories needed to store
+ the surefire xml file.
+
+
+ Full runtime dependencies of eunit-2.6.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16926 Application(s): ftp
+ Related Id(s): ERL-1450, GH-4473
+
+ Use OTP supervisor as intended, avoiding surprising
+ behavior as the killing of the user's process. Also,
+ FTP state handling logic is improved to avoid race
+ conditions that could result in unexpected errors.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ *** HIGHLIGHT ***
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ Full runtime dependencies of ftp-1.1: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16722 Application(s): inets
+
+ Drop all support for ftp and tftp in inets code.
+
+
+ OTP-16723 Application(s): inets
+
+ Deprecate following functions in httpd_util module:
+ flatlength/1, lhexlist_to_integer/1,
+ integer_to_hexlist/1, strip/1, and suffix/1.
+
+
+ OTP-16724 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpd.
+
+
+ OTP-16725 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpc.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of inets-7.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.12 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17170 Application(s): jinterface
+ Related Id(s): PR-3005
+
+ Make OtpErlangExternalFun's fields module, function and
+ arity public.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14700 Application(s): kernel
+ Related Id(s): PR-2848
+
+ A bug has been fixed for the internal inet_res resolver
+ cache that handled a resolver configuration file status
+ timer incorrectly and caused performance problems due
+ to many unnecessary file system accesses.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-17132 Application(s): erl_interface, kernel
+
+ Two options have been added to erl_call. The
+ -fetch_stdout option fetches stdout data resulting from
+ the code invoked by erl_call. The -fetch_stdout option
+ disables printing of the result term. In order to
+ implement the first of these two options a new function
+ called ei_xrpc_from has been added to erl_interface.
+ For details see the erl_call documentation and
+ erl_interface documentation.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17262 Application(s): kernel
+ Related Id(s): GH-4588, OTP-16487, PR-4604
+
+ inet:get_rc/0 has been corrected to return host entries
+ as separate entries instead of (incorrectly) in a list
+ within the list. This bug was introduced by OTP-16487
+ in OTP-23.0-rc1.
+
+
+ OTP-17277 Application(s): kernel
+
+ The type gen_tcp:option_name() had a duplicate
+ pktoptions value.
+
+
+ OTP-17286 Application(s): kernel
+ Related Id(s): PR-4619
+
+ Fixed removal of empty groups from internal state in
+ pg.
+
+
+ OTP-17287 Application(s): kernel
+ Related Id(s): PR-4581
+
+ erl -remsh now prints an error message when it fails to
+ connect to the remote node.
+
+
+ OTP-17288 Application(s): kernel
+ Related Id(s): PR-4581
+
+ Fix bugs related to corrupt shell history files.
+
+ Error messages printed by shell history are now logged
+ as logger error reports instead of written to standard
+ error.
+
+
+ OTP-17315 Application(s): kernel
+ Related Id(s): GH-4626
+
+ A logger warning is now issues when too many arguments
+ are given to -name or -sname. Example: erl -name a b.
+
+
+ OTP-17344 Application(s): kernel
+ Related Id(s): GH-4631, OTP-12136, OTP-14485, PR-4633
+
+ The cache used by inet_res now, again, can handle
+ multiple IP addresses per domain name, and thus fixes a
+ bug introduced in PR-3041 (OTP-13126) and PR-2891
+ (OTP-14485).
+
+
+ OTP-17372 Application(s): erts, kernel
+
+ Sockets created with socket:accept not counted
+ (socket:info/0).
+
+
+ OTP-17374 Application(s): kernel
+ Related Id(s): GH-4680, OTP-17216, PR-2989, PR-4787
+
+ The {fd, Fd} option to gen_tcp:listen/2 did not work
+ for inet_backend socket, which has been fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13126 Application(s): kernel
+ Related Id(s): PR-3041
+
+ The cache used by the DNS resolver inet_res has been
+ improved to use ETS lookups instead of server calls.
+ This is a considerable speed improvement for cache
+ hits.
+
+
+ OTP-14485 Application(s): kernel
+ Related Id(s): PR-2891
+
+ The cache ETS table type for the internal DNS resolver
+ inet_res has changed type (internally) to get better
+ speed and atomicity.
+
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16517 Application(s): kernel
+ Related Id(s): PR-2827
+
+ The DNS resolver inet_res has been updated to support
+ CAA (RFC 6844) and URI (RFC 7553) records.
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ *** HIGHLIGHT ***
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16698 Application(s): kernel
+ Related Id(s): PR-2634
+
+ The file server can now be bypassed in file:delete/1,2
+ with the raw option.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16793 Application(s): kernel
+ Related Id(s): ERL-1332, PR-2740
+
+ New function os:env/0 returns all OS environment
+ variables as a list of 2-tuples.
+
+
+ OTP-16811 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16947 Application(s): kernel
+ Related Id(s): PR-2781
+
+ Expand the spec for erl_epmd:listen_port_please/2 to
+ mirror erl_epmd:port_please/2.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The pg2 module has been removed.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17015 Application(s): kernel
+
+ Allow utf-8 binaries as parts of logger_formatter
+ template.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17103 Application(s): kernel
+ Related Id(s): PR-2949
+
+ Allow the shell history of an erlang node to be fetched
+ and stores using a custom callback module. See
+ shell_history configuration parameter in the kernel
+ documentation for more details.
+
+
+ OTP-17106 Application(s): kernel
+ Related Id(s): PR-2885
+
+ The simple logger (used to log events that happen
+ before kernel has been started) has been improved to
+ print prettier error messages.
+
+
+ OTP-17154 Application(s): erts, kernel
+ Related Id(s): OTP-16749
+
+ socket:sendfile/2,3,4,5 has been implemented, for
+ platforms that support the underlying socket library
+ call.
+
+
+ OTP-17155 Application(s): kernel
+
+ Add socket monitor(s) for all types sockets.
+
+
+ OTP-17156 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17157 Application(s): kernel
+
+ inet:i/0 now also shows existing gen_tcp compatibility
+ sockets (based on 'socket').
+
+
+ OTP-17181 Application(s): kernel
+ Related Id(s): PR-2457
+
+ Added support in logger for setting primary metadata.
+ The primary metadata is passed as a base metadata to
+ all log events in the system. See Metadata in the
+ Logger chapter of the Kernel User's Guide for more
+ details.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17198 Application(s): kernel
+ Related Id(s): PR-2721
+
+ The Fun's passed to logger:log/2,3,4 can now return
+ metadata that will only be fetched when needed. See
+ logger:log/2,3,4 for more details.
+
+
+ OTP-17201 Application(s): kernel
+ Related Id(s): PR-4534
+
+ erpc:multicall() has been rewritten to be able to
+ utilize the newly introduced and improved selective
+ receive optimization.
+
+
+ OTP-17203 Application(s): kernel
+ Related Id(s): OTP-17156
+
+ Add utility fiunction inet:info/1 to provide
+ miscellaneous info about a socket.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17266 Application(s): kernel
+ Related Id(s): PR-4564
+
+ An option {nxdomain_reply, boolean()} has been
+ implemented in the DNS resolver inet_res. It is useful
+ since an nxdomain error from a name server does contain
+ the SOA record if the domain exists at all. This record
+ is useful to determine a TTL for negative caching of
+ the failed entry.
+
+
+ OTP-17284 Application(s): kernel
+ Related Id(s): PR-4615
+
+ Optimized lookup of local processes part of groups in
+ pg.
+
+
+ OTP-17355 Application(s): kernel
+ Related Id(s): OTP-17154
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The return values from module socket functions send(),
+ sendto(), sendmsg(), sendfile() and recv() has been
+ changed to return a tuple tagged with select when a
+ SelectInfo was returned, and not sometimes tagged with
+ ok.
+
+ This is a backwards incompatible change that improves
+ usability for code using asynchronous operations.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of kernel-8.0: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16560 Application(s): megaco
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of megaco-4.0: 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.19.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17217 Application(s): mnesia
+
+ Suppression of deprecation warnings has been added to
+ the source files of the Mnesia application.
+
+
+ OTP-17294 Application(s): mnesia
+ Related Id(s): GH-4525, PR-4674
+
+ Fixed that the backend plugin initialization is done
+ only once.
+
+
+ Full runtime dependencies of mnesia-4.19.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.9.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17214 Application(s): observer
+
+ Updated gui parts to work with the new wx version.
+
+
+ Full runtime dependencies of observer-2.9.6: erts-11.0, et-1.5,
+ kernel-7.0, runtime_tools-1.8.14, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ Full runtime dependencies of odbc-2.13.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16944 Application(s): os_mon
+ Related Id(s): PR-2787
+
+ Fix disk_sup to also search the system PATH on linux
+ when looking for the df program.
+
+
+ Full runtime dependencies of os_mon-2.7: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-17023 Application(s): parsetools
+
+ Let Leex and Yecc recognize the environment variable
+ ERL_COMPILER_OPTIONS. Add Yecc option {error_location,
+ column | line}.
+
+
+ Full runtime dependencies of parsetools-2.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.11 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ *** HIGHLIGHT ***
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17352 Application(s): public_key, ssh
+
+ The functions public_key:ssh_encode/2,
+ public_key:ssh_decode/2,
+ public_key:ssh_hostkey_fingerprint/1 and
+ public_key:ssh_hostkey_fingerprint/2 are deprecated.
+
+ Replacement functions are available in SSH, see the
+ Deprecations chapter in the Erlang/OTP documentation.
+
+
+ OTP-17384 Application(s): public_key, ssl
+ Related Id(s): GH-4800
+
+ Enhance documentation and logging of certificate
+ handling.
+
+
+ Full runtime dependencies of public_key-1.11: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17292 Application(s): reltool, sasl
+ Related Id(s): PR-4684, PR-4685
+
+ Removed timestamps from files generated by sasl and
+ reltool to enable deterministic builds.
+
+
+ Full runtime dependencies of reltool-0.9: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.16.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of runtime_tools-1.16.2: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17292 Application(s): reltool, sasl
+ Related Id(s): PR-4684, PR-4685
+
+ Removed timestamps from files generated by sasl and
+ reltool to enable deterministic builds.
+
+
+ Full runtime dependencies of sasl-4.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.9 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ OTP-17354 Application(s): snmp
+
+ Removed timestamps from files generated by snmp to
+ enable deterministic builds.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of snmp-5.9: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17353 Application(s): ssh
+
+ The send window handling is changed to not initialize a
+ too large window on some occasions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16750 Application(s): ssh
+
+ Removed usage of erlang:is_port/1 from the SSH
+ implementation.
+
+
+ OTP-17051 Application(s): ssh
+
+ Internal connection setup refactoring.
+
+
+ OTP-17140 Application(s): ssh
+
+ Refactor SSH fsm into a (hopefully) more comprehensible
+ set of gen_statem callback-files.
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ OTP-17322 Application(s): ssh
+ Related Id(s): EEP-56, OTP-17334, PR-4638
+
+ Adapt ssh supervisors to the new 'significant' and
+ 'auto_shutdown' flags in supervisor.
+
+
+ OTP-17352 Application(s): public_key, ssh
+
+ The functions public_key:ssh_encode/2,
+ public_key:ssh_decode/2,
+ public_key:ssh_hostkey_fingerprint/1 and
+ public_key:ssh_hostkey_fingerprint/2 are deprecated.
+
+ Replacement functions are available in SSH, see the
+ Deprecations chapter in the Erlang/OTP documentation.
+
+
+ Full runtime dependencies of ssh-4.12: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17343 Application(s): ssl
+
+ TLS handshake should fail if OCSP staple is requested
+ but missing. Note that OCSP support is still considered
+ experimental and only partially implemented.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16974 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ *** HIGHLIGHT ***
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17117 Application(s): ssl
+ Related Id(s): PR-2933
+
+ Randomize internal {active,n} optimization when running
+ Erlang distribution over TLS to spread RAM/CPU spike
+ that may occur when starting up a big cluster.
+
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ *** HIGHLIGHT ***
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17384 Application(s): public_key, ssl
+ Related Id(s): GH-4800
+
+ Enhance documentation and logging of certificate
+ handling.
+
+
+ Full runtime dependencies of ssl-10.4: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16865 Application(s): stdlib
+
+ Fix bugs in erl_eval concerning bitstring
+ comprehensions.
+
+
+ OTP-16905 Application(s): stdlib
+
+ File names that start with a dot (such as ".gitignore"
+ are now treated as file names and not extensions by
+ filename:extension/1 and filename:rootname/1.
+
+
+ OTP-16950 Application(s): stdlib
+ Related Id(s): ERL-1378
+
+ Fixed a bug where beam_lib:chunks/3 with the
+ allow_missing_chunks option would crash if a named
+ chunk was missing.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17133 Application(s): stdlib
+
+ On Solaris, the math:acos/1 and math:asin/1 functions
+ would not fail for arguments outside the valid domain.
+
+
+ OTP-17186 Application(s): stdlib
+
+ Silence unused_record warnings when using ms_transform.
+ The parse transform ms_transform replaces records with
+ tuples, which can cause the Erlang code linter to emit
+ warnings about unused records.
+
+
+ OTP-17222 Application(s): stdlib
+ Related Id(s): GH-4544
+
+ Documented a deficiency in the re module regarding the
+ [:ascii:] character class matching Latin-1 characters.
+
+
+ OTP-17342 Application(s): stdlib
+ Related Id(s): GH-4725, PR-4726
+
+ Fixed spec of start functions in generic behaviors.
+
+
+ OTP-17364 Application(s): stdlib
+ Related Id(s): PR-4747
+
+ Supervisors rejected child specs with a shutdown value
+ of 0.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14646 Application(s): stdlib
+ Related Id(s): PR-2920
+
+ In the rand module it is now possible to seed the
+ default algorithm using an algorithm alias: default.
+
+ Generating pseudo random binaries has been implemented
+ with rand:bytes/1 and rand:bytes_s/2.
+
+
+ OTP-14647 Application(s): stdlib
+ Related Id(s): PR-2910
+
+ New functions have been added to the proplists module:
+ to_map/1,2 and from_map/1.
+
+
+ OTP-14650 Application(s): stdlib
+ Related Id(s): PR-2850
+
+ New functions have been added to the queue module:
+ all/2, any/2, delete/2, delete_r/2, delete_with/2, and
+ delete_with_r/2.
+
+
+ OTP-14793 Application(s): stdlib
+ Related Id(s): PR-2791
+
+ New function have been added to the queue module:
+ fold/2 and filtermap/2.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16910 Application(s): stdlib
+ Related Id(s): PR-2771
+
+ Improved documentation about exit signals emitted when
+ a gen_server terminates.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16971 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17024 Application(s): stdlib
+
+ Add option location to erl_parse:abstract/2.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17059 Application(s): stdlib
+ Related Id(s): PR-2864
+
+ The sets module now has an optional map-based
+ implementation, as described in EEP 50.
+
+ To use this implementation, pass the {version,2} option
+ to sets:new/1 or sets:from_list/2.
+
+
+ OTP-17120 Application(s): stdlib
+
+ Added shell_docs:supported_tags/0. This function can be
+ used to retrieve the tags currently supported by
+ shell_docs.
+
+
+ OTP-17121 Application(s): stdlib
+
+ The application/erlang+html documentation storage
+ format used by shell_docs has been updated to include
+ the tags b, strong, h4, h5 and h6.
+
+
+ OTP-17169 Application(s): stdlib
+ Related Id(s): PR-2584
+
+ Do not pretty-print catch expressions with unnecessary
+ parentheses. The re-write of the Erlang parser grammar
+ in PR-2584 implies that parentheses around catch
+ expressions are in many cases no longer required.
+
+
+ OTP-17171 Application(s): stdlib
+ Related Id(s): PR-3011
+
+ Improved explanation of {continue,Continue} in
+ Module:init/1 of the gen_server documentation.
+
+
+ OTP-17175 Application(s): stdlib
+
+ The erl_eval module now accepts a map for keeping track
+ of bindings. Using an orddict for bindings will still
+ work.
+
+
+ OTP-17199 Application(s): stdlib
+ Related Id(s): PR-2658
+
+ Documented epp:scan_erl_form/1 and added
+ epp:scan_file/2.
+
+
+ OTP-17210 Application(s): stdlib
+
+ The standard floating point printing algorithm used by
+ the io and io_lib modules has been changed from the
+ algorithm described in [1] to the Ryu algorithm [2].
+ This gives a significant speed improvement for the
+ printing of most floating point numbers and a small
+ memory consumption improvement.
+
+ [1]: Robert G. Burger and R. Kent Dybvig. 1996.
+ Printing floating-point numbers quickly and accurately.
+ In Proceedings of the ACM SIGPLAN 1996 conference on
+ Programming language design and implementation (PLDI
+ '96). Association for Computing Machinery, New York,
+ NY, USA, 108–116.
+ DOI:https://doi.org/10.1145/231379.231397
+
+ [2]: Ulf Adams. 2018. Ryū: fast float-to-string
+ conversion. In Proceedings of the 39th ACM SIGPLAN
+ Conference on Programming Language Design and
+ Implementation (PLDI 2018). Association for Computing
+ Machinery, New York, NY, USA, 270–282.
+ DOI:https://doi.org/10.1145/3192366.3192369
+
+ Thanks to Thomas Depierre
+
+
+ OTP-17236 Application(s): stdlib
+ Related Id(s): PR-3014
+
+ Add hex encoding and decoding functions in the binary
+ module.
+
+
+ OTP-17263 Application(s): stdlib
+
+ The undocumented and partially broken ets:filter/3
+ function has been removed.
+
+
+ OTP-17267 Application(s): stdlib
+
+ Add support in shell_docs to display any "text"
+ documentation format. This means that h(Module) in the
+ shell now can display the "text/markdown" of Elixir
+ documentation.
+
+
+ OTP-17276 Application(s): stdlib
+ Related Id(s): PR-2979
+
+ The internal hashing of keys within ETS tables of types
+ set, bag, duplicate_bag has been salted to diverge from
+ erlang:phash2. This to avoid bad hashing if phash2 is
+ used to distribute the keys over separate tables/nodes.
+
+
+ OTP-17327 Application(s): stdlib
+ Related Id(s): PR-4707
+
+ Updated to the Unicode 13.0 specification.
+
+
+ OTP-17330 Application(s): compiler, stdlib
+
+ Add compiler option {nowarn_unused_record,
+ RecordNames}. Document compiler option
+ nowarn_unused_type.
+
+
+ OTP-17334 Application(s): stdlib
+ Related Id(s): EEP-56, PR-4638
+
+ *** HIGHLIGHT ***
+
+ Implementation of EEP 56 in supervisor. It adds the
+ concept of significant children as well as the
+ auto_shutdown supervisor flag.
+
+ See the supervisor manual page for more information.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of stdlib-3.15: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.6 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17302 Application(s): syntax_tools
+ Related Id(s): PR-4705
+
+ The type spec of erl_syntax:function_type/2 has been
+ fixed.
+
+
+ OTP-17321 Application(s): syntax_tools
+
+ Output parentheses around BitStringExpr when
+ pretty-printing binary comprehensions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-17180 Application(s): syntax_tools
+
+ The igor and erl_tidy modules have been the removed and
+ are now maintained by their original author Richard
+ Carlsson. They can be found at github.com/richcarl/igor
+ and github.com/richcarl/erl_tidy, respectively.
+
+
+ Full runtime dependencies of syntax_tools-2.6: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ Full runtime dependencies of tftp-1.0.3: erts-6.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17221 Application(s): tools
+ Related Id(s): PR-4547
+
+ For cover-compiled code, the error behaviour of list
+ and binary comprehensions that used andalso/orelse in
+ guards could be changed so that a filter that was
+ supposed be evaluated in guard context was evaluated in
+ body context. That is, there was a possibility that
+ comprehensions that did not raise exceptions could
+ raise exceptions when being run using cover.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of tools-3.5: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.0 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16800 Application(s): wx
+
+ *** HIGHLIGHT ***
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ *** HIGHLIGHT ***
+
+ Added support for wxWebView.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ Full runtime dependencies of wx-2.0: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.28 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17388 Application(s): xmerl
+ Related Id(s): OTP-17123
+
+ Fixed a bug that could cause parsing to crash.
+
+
+ Full runtime dependencies of xmerl-1.3.28: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Alexander Clouter, Alexander Petrovsky, Andreas Schultz, Bryan
+ Paxton, Cheng Zhe, Dominic Letz, Eksperimental, Erlend Hamberg,
+ Filipe Cristovao, Frej Drejhammar, Henrik Lagebrand, Jesper Eskilson,
+ Jonathan Klabunde Tomer, José Valim, João Henrique Ferreira de
+ Freitas, Jérôme de Bretagne, Leo Liu, Linus.yuan, Loïc Hoguin, Luca
+ Favatella, Luis Rascao, Luke Bakken, Maria Scott, Maria-12648430,
+ Mariano Guerra, Mattias Hansson, Max Nordlund, Maxim Fedorov, Michal
+ Palka, Michal Piotrowski, Michal Slaski, Michał Muskała, Mikael
+ Pettersson, Nalin Ranjan, Nelson Vides, Nico Piderman, Oskar, Paulo
+ F. Oliveira, Philip Kuryloski, Philipp Klaus Krause, Pierre Allix,
+ Péter Gömöri, Radek Szymczyszyn, Richard Carlsson, Ruud Kamphuis,
+ Stavros Aronis, Taras Halturin, Thomas Depierre, Tianon Gravi, Tony
+ Rogvall, Ulf Wiger, Viktor Söderqvist, Wojtek Mach, Zeyu Zhang, ergl,
+ gearnode, ilya-klyuchnikov, juhlig, lagebr, plan-do-break-fix,
+ skatepalli, vans163, yfractal, Łukasz Niemier
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+