aboutsummaryrefslogtreecommitdiffstats
path: root/release-notes/OTP-24.0-rc2.README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'release-notes/OTP-24.0-rc2.README.txt')
-rw-r--r--release-notes/OTP-24.0-rc2.README.txt2965
1 files changed, 2965 insertions, 0 deletions
diff --git a/release-notes/OTP-24.0-rc2.README.txt b/release-notes/OTP-24.0-rc2.README.txt
new file mode 100644
index 0000000..4d19031
--- /dev/null
+++ b/release-notes/OTP-24.0-rc2.README.txt
@@ -0,0 +1,2965 @@
+Inital Release: OTP 24.0
+Git Tag: OTP-24.0
+Date: 2021-03-26
+Trouble Report Id: OTP-10391, OTP-13126, OTP-14485, OTP-14601,
+ OTP-14646, OTP-14647, OTP-14650, OTP-14700,
+ OTP-14793, OTP-15107, OTP-15523, 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-17133, OTP-17140, OTP-17153, OTP-17156,
+ OTP-17168, OTP-17170, OTP-17171, OTP-17172,
+ OTP-17175, OTP-17177, OTP-17180, OTP-17181,
+ OTP-17183, 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-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-17286, OTP-17287,
+ OTP-17288
+Seq num: ERIERL-537, 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-4360, GH-4469,
+ GH-4473, GH-4493, GH-4544, GH-4588, GH-4621,
+ GH-4626
+System: OTP
+Release: 24
+Application: asn1-5.1, common_test-1.20.1, 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.7, 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, reltool-0.9,
+ runtime_tools-1.16.1, sasl-4.1, snmp-5.8.1,
+ 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.4
+Predecessor: OTP
+
+ Check out the git tag OTP-24.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ 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
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases 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.
+
+ 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-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.
+
+
+ ---------------------------------------------------------------------
+ --- 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.
+
+ 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-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.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of asn1-5.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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.
+
+
+ Full runtime dependencies of common_test-1.20.1: 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
+
+ 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): asn1, compiler, et, xmerl
+
+ 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.
+
+
+ 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.
+
+
+ --- 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.
+
+
+ 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.
+
+ 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 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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-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.
+
+
+ --- 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-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 ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases 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-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ Full runtime dependencies of erts-12.0: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- et-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of et-1.7: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- 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.
+
+
+ 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-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.
+
+
+ --- 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 ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases 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-17156 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ 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
+ reference/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.
+
+
+ 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.
+
+
+ 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
+
+
+ ---------------------------------------------------------------------
+ --- 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.
+
+
+ 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.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.
+
+
+ Full runtime dependencies of runtime_tools-1.16.1: 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.
+
+
+ Full runtime dependencies of sasl-4.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.8.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of snmp-5.8.1: 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.
+
+
+ --- 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.
+
+
+ Full runtime dependencies of ssh-4.12: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- 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.
+
+
+ --- 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.
+
+
+ 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-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.
+
+
+ --- 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 ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases 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-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.
+
+
+ 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 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- 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.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of xmerl-1.4: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Alexander Clouter, Andreas Schultz, Bryan Paxton, Cheng Zhe, Dominic
+ Letz, Erlend Hamberg, Filipe Cristovao, Frej Drejhammar, Henrik
+ Lagebrand, Jesper Eskilson, Jonathan Klabunde Tomer, José Valim,
+ Jérôme de Bretagne, Linus.yuan, Luca Favatella, Luis Rascao, Luke
+ Bakken, Maria-12648430, Mariano Guerra, Mattias Hansson, Max
+ Nordlund, Maxim Fedorov, Michał Muskała, Mikael Pettersson, Nalin
+ Ranjan, Nico Piderman, Oskar, Paulo F. Oliveira, Philip Kuryloski,
+ Philipp Klaus Krause, Pierre Allix, Radek Szymczyszyn, Richard
+ Carlsson, Ruud Kamphuis, Stavros Aronis, Taras Halturin, Thomas
+ Depierre, Tianon Gravi, Tony Rogvall, Viktor Söderqvist, Wojtek Mach,
+ Zeyu Zhang, ergl, gearnode, ilya-klyuchnikov, lagebr, vans163,
+ yfractal, Łukasz Niemier
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+