aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-06-26 14:30:24 +0200
committerLoïc Hoguin <[email protected]>2018-06-26 14:30:24 +0200
commit4f4b441446afeadd251025d636902fa2cfa86542 (patch)
tree46d3a010d378351e61c9ed7df013b896e8bacf16
parentd934f92715a8b8fbacbf262ea21d8c5b540d96a5 (diff)
downloadci.erlang.mk-4f4b441446afeadd251025d636902fa2cfa86542.tar.gz
ci.erlang.mk-4f4b441446afeadd251025d636902fa2cfa86542.tar.bz2
ci.erlang.mk-4f4b441446afeadd251025d636902fa2cfa86542.zip
Add release notes for OTP-18.0+
The version 18.3.4.3 is missing and seems to have had no announcement or README, I do not know why.
-rw-r--r--release-notes/OTP-18.0.1.README.txt40
-rw-r--r--release-notes/OTP-18.0.2.README.txt115
-rw-r--r--release-notes/OTP-18.0.3.README.txt52
-rw-r--r--release-notes/OTP-18.0.README.txt1640
-rw-r--r--release-notes/OTP-18.1.1.README.txt69
-rw-r--r--release-notes/OTP-18.1.2.README.txt39
-rw-r--r--release-notes/OTP-18.1.3.README.txt39
-rw-r--r--release-notes/OTP-18.1.4.README.txt63
-rw-r--r--release-notes/OTP-18.1.5.README.txt39
-rw-r--r--release-notes/OTP-18.1.README.txt990
-rw-r--r--release-notes/OTP-18.2.1.README.txt51
-rw-r--r--release-notes/OTP-18.2.2.README.txt41
-rw-r--r--release-notes/OTP-18.2.3.README.txt39
-rw-r--r--release-notes/OTP-18.2.4.0.1.README.txt49
-rw-r--r--release-notes/OTP-18.2.4.1.README.txt38
-rw-r--r--release-notes/OTP-18.2.4.README.txt45
-rw-r--r--release-notes/OTP-18.2.README.txt1201
-rw-r--r--release-notes/OTP-18.3.1.README.txt130
-rw-r--r--release-notes/OTP-18.3.2.README.txt66
-rw-r--r--release-notes/OTP-18.3.3.README.txt125
-rw-r--r--release-notes/OTP-18.3.4.1.README.txt40
-rw-r--r--release-notes/OTP-18.3.4.2.README.txt90
-rw-r--r--release-notes/OTP-18.3.4.4.README.txt46
-rw-r--r--release-notes/OTP-18.3.4.5.README.txt164
-rw-r--r--release-notes/OTP-18.3.4.6.README.txt143
-rw-r--r--release-notes/OTP-18.3.4.7.README.txt89
-rw-r--r--release-notes/OTP-18.3.4.8.README.txt44
-rw-r--r--release-notes/OTP-18.3.4.9.README.txt44
-rw-r--r--release-notes/OTP-18.3.4.README.txt88
-rw-r--r--release-notes/OTP-18.3.README.txt1417
-rw-r--r--release-notes/OTP-19.0-rc1.README.txt2792
-rw-r--r--release-notes/OTP-19.0-rc2.README.txt3182
-rw-r--r--release-notes/OTP-19.0.1.README.txt157
-rw-r--r--release-notes/OTP-19.0.2.README.txt89
-rw-r--r--release-notes/OTP-19.0.3.README.txt84
-rw-r--r--release-notes/OTP-19.0.4.README.txt47
-rw-r--r--release-notes/OTP-19.0.5.README.txt41
-rw-r--r--release-notes/OTP-19.0.6.README.txt41
-rw-r--r--release-notes/OTP-19.0.7.README.txt40
-rw-r--r--release-notes/OTP-19.0.README.txt3134
-rw-r--r--release-notes/OTP-19.1.1.README.txt52
-rw-r--r--release-notes/OTP-19.1.2.README.txt42
-rw-r--r--release-notes/OTP-19.1.3.README.txt45
-rw-r--r--release-notes/OTP-19.1.4.README.txt45
-rw-r--r--release-notes/OTP-19.1.5.README.txt43
-rw-r--r--release-notes/OTP-19.1.6.1.README.txt45
-rw-r--r--release-notes/OTP-19.1.6.README.txt73
-rw-r--r--release-notes/OTP-19.1.README.txt1363
-rw-r--r--release-notes/OTP-19.2.1.README.txt49
-rw-r--r--release-notes/OTP-19.2.2.README.txt39
-rw-r--r--release-notes/OTP-19.2.3.README.txt77
-rw-r--r--release-notes/OTP-19.2.README.txt1096
-rw-r--r--release-notes/OTP-19.3.1.README.txt157
-rw-r--r--release-notes/OTP-19.3.2.README.txt47
-rw-r--r--release-notes/OTP-19.3.3.README.txt106
-rw-r--r--release-notes/OTP-19.3.4.README.txt71
-rw-r--r--release-notes/OTP-19.3.5.README.txt78
-rw-r--r--release-notes/OTP-19.3.6.1.README.txt64
-rw-r--r--release-notes/OTP-19.3.6.2.README.txt63
-rw-r--r--release-notes/OTP-19.3.6.3.README.txt99
-rw-r--r--release-notes/OTP-19.3.6.4.README.txt94
-rw-r--r--release-notes/OTP-19.3.6.5.README.txt114
-rw-r--r--release-notes/OTP-19.3.6.6.README.txt71
-rw-r--r--release-notes/OTP-19.3.6.7.README.txt49
-rw-r--r--release-notes/OTP-19.3.6.8.README.txt46
-rw-r--r--release-notes/OTP-19.3.6.9.README.txt57
-rw-r--r--release-notes/OTP-19.3.6.README.txt58
-rw-r--r--release-notes/OTP-19.3.README.txt1223
-rw-r--r--release-notes/OTP-20.0-rc1.README.txt2392
-rw-r--r--release-notes/OTP-20.0-rc2.README.txt2799
-rw-r--r--release-notes/OTP-20.0.1.README.txt169
-rw-r--r--release-notes/OTP-20.0.2.README.txt96
-rw-r--r--release-notes/OTP-20.0.3.README.txt104
-rw-r--r--release-notes/OTP-20.0.4.README.txt77
-rw-r--r--release-notes/OTP-20.0.5.README.txt76
-rw-r--r--release-notes/OTP-20.0.README.txt3308
-rw-r--r--release-notes/OTP-20.1.1.README.txt96
-rw-r--r--release-notes/OTP-20.1.2.README.txt62
-rw-r--r--release-notes/OTP-20.1.3.README.txt88
-rw-r--r--release-notes/OTP-20.1.4.README.txt54
-rw-r--r--release-notes/OTP-20.1.5.README.txt91
-rw-r--r--release-notes/OTP-20.1.6.README.txt80
-rw-r--r--release-notes/OTP-20.1.7.1.README.txt48
-rw-r--r--release-notes/OTP-20.1.7.README.txt144
-rw-r--r--release-notes/OTP-20.1.README.txt1344
-rw-r--r--release-notes/OTP-20.2.1.README.txt47
-rw-r--r--release-notes/OTP-20.2.2.README.txt50
-rw-r--r--release-notes/OTP-20.2.3.README.txt117
-rw-r--r--release-notes/OTP-20.2.4.README.txt58
-rw-r--r--release-notes/OTP-20.2.README.txt1384
-rw-r--r--release-notes/OTP-20.3.1.README.txt45
-rw-r--r--release-notes/OTP-20.3.2.README.txt66
-rw-r--r--release-notes/OTP-20.3.3.README.txt43
-rw-r--r--release-notes/OTP-20.3.4.README.txt112
-rw-r--r--release-notes/OTP-20.3.5.README.txt64
-rw-r--r--release-notes/OTP-20.3.6.README.txt75
-rw-r--r--release-notes/OTP-20.3.7.README.txt89
-rw-r--r--release-notes/OTP-20.3.8.1.README.txt101
-rw-r--r--release-notes/OTP-20.3.8.README.txt63
-rw-r--r--release-notes/OTP-20.3.README.txt775
-rw-r--r--release-notes/OTP-21.0-rc1.README.txt2773
-rw-r--r--release-notes/OTP-21.0-rc2.README.txt3264
-rw-r--r--release-notes/OTP-21.0.1.README.txt60
-rw-r--r--release-notes/OTP-21.0.README.txt3554
104 files changed, 45777 insertions, 0 deletions
diff --git a/release-notes/OTP-18.0.1.README.txt b/release-notes/OTP-18.0.1.README.txt
new file mode 100644
index 0000000..f38b0e7
--- /dev/null
+++ b/release-notes/OTP-18.0.1.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 18.0.1
+Git Tag: OTP-18.0.1
+Date: 2015-06-30
+Trouble Report Id: OTP-12859
+Seq num: seq12882
+System: OTP
+Release: 18
+Application: erts-7.0.1
+Predecessor: OTP 18.0
+
+ Check out the git tag OTP-18.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-7.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.0.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12859 Application(s): erts
+ Related Id(s): seq12882
+
+ Fix a rare hanging of the VM seen to happen just after
+ emulator start. Bug exists since R14.
+
+
+ Full runtime dependencies of erts-7.0.1: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.0.2.README.txt b/release-notes/OTP-18.0.2.README.txt
new file mode 100644
index 0000000..578c147
--- /dev/null
+++ b/release-notes/OTP-18.0.2.README.txt
@@ -0,0 +1,115 @@
+Patch Package: OTP 18.0.2
+Git Tag: OTP-18.0.2
+Date: 2015-07-08
+Trouble Report Id: OTP-12889, OTP-12890, OTP-12892, OTP-12894,
+ OTP-12895, OTP-12896
+Seq num: seq12885
+System: OTP
+Release: 18
+Application: erts-7.0.2, runtime_tools-1.9.1
+Predecessor: OTP 18.0.1
+
+ Check out the git tag OTP-18.0.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-7.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.0.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12889 Application(s): erts
+ Related Id(s): seq12885
+
+ A process could end up in an inconsistent half exited
+ state in the runtime system without SMP support. This
+ could occur if the processes was traced by a port that
+ it also was linked to, and the port terminated
+ abnormally while handling a trace message for the
+ process.
+
+ This bug has always existed in the runtime system
+ without SMP support, but never in the runtime system
+ with SMP support.
+
+
+ OTP-12894 Application(s): erts
+
+ Removed unnecessary copying of data when retrieving
+ corrected Erlang monotonic time.
+
+
+ OTP-12895 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed default OS monotonic clock source chosen at
+ build time. This in order to improve performance. The
+ behavior will now on most systems be that (both OS and
+ Erlang) monotonic time stops when the system is
+ suspended.
+
+ If you prefer that monotonic time elapse during suspend
+ of the machine, you can pass the command line argument
+ --enable-prefer-elapsed-monotonic-time-during-suspend
+ to configure when building Erlang/OTP. The
+ configuration stage will try to find such a clock
+ source, but might not be able to find it. Note that
+ there might be a performance penalty associated with
+ such a clock source.
+
+
+ OTP-12896 Application(s): erts
+
+ erlang:system_info(end_time) returned a faulty value on
+ 32-bit architectures.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12892 Application(s): erts
+
+ The configure command line argument
+ --enable-gettimeofday-as-os-system-time has been added
+ which force usage of gettimeofday() for OS system time.
+ This will improve performance of os:system_time() and
+ os:timestamp() on MacOS X, at the expense of worse
+ accuracy, resolution and precision of Erlang monotonic
+ time, Erlang system time, and OS system time.
+
+
+ Full runtime dependencies of erts-7.0.2: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.9.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.9.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12890 Application(s): runtime_tools
+ Related Id(s): seq12885
+
+ The trace_file_drv did not handle EINTR correct which
+ caused it to fail when the runtime system received a
+ signal.
+
+
+ Full runtime dependencies of runtime_tools-1.9.1: erts-7.0,
+ kernel-3.0, mnesia-4.12, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.0.3.README.txt b/release-notes/OTP-18.0.3.README.txt
new file mode 100644
index 0000000..7edfb29
--- /dev/null
+++ b/release-notes/OTP-18.0.3.README.txt
@@ -0,0 +1,52 @@
+Patch Package: OTP 18.0.3
+Git Tag: OTP-18.0.3
+Date: 2015-08-20
+Trouble Report Id: OTP-12941, OTP-12942
+Seq num:
+System: OTP
+Release: 18
+Application: erts-7.0.3
+Predecessor: OTP 18.0.2
+
+ Check out the git tag OTP-18.0.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-7.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.0.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12941 Application(s): erts
+
+ Fixed a binary memory leak when printing to shell using
+ the tty driver (i.e. not -oldshell).
+
+
+ OTP-12942 Application(s): erts
+
+ Fix a bug where the standard error port sometimes
+ crashes with eagain as the reason.
+
+
+ Full runtime dependencies of erts-7.0.3: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Steve Vinoski
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.0.README.txt b/release-notes/OTP-18.0.README.txt
new file mode 100644
index 0000000..6ca39f1
--- /dev/null
+++ b/release-notes/OTP-18.0.README.txt
@@ -0,0 +1,1640 @@
+Major release : otp_src_18
+Build date : 2015-06-24
+
+18 is a major new release of Erlang/OTP.
+You can download the full source distribution from
+
+ http://www.erlang.org/download/otp_src_18.0.tar.gz
+ http://www.erlang.org/download/otp_src_18.0.readme (this file)
+
+Note: To unpack the TAR archive you need a GNU TAR compatible program.
+
+For installation instructions please read the README that is part of
+the distribution.
+
+The Windows binary distribution can be downloaded from
+
+ http://www.erlang.org/download/otp_win32_18.0.exe
+ http://www.erlang.org/download/otp_win64_18.0.exe
+
+
+On-line documentation can be found at http://www.erlang.org/doc/.
+You can also download the complete HTML documentation or the Unix manual files
+
+ http://www.erlang.org/download/otp_doc_html_18.0.tar.gz
+ http://www.erlang.org/download/otp_doc_man_18.0.tar.gz
+
+We also want to thank those that sent us patches, suggestions and bug reports,
+
+The OTP Team
+
+--- HIGHLIGHTS ----------------------------------------------------------
+
+ OTP-11997 == erts ==
+
+ The time functionality of Erlang has been extended. This both
+ includes a new API for time, as well as time warp modes which
+ alters the behavior of the system when system time changes.
+ You are strongly encouraged to use the new API instead of the
+ old API based on erlang:now/0. erlang:now/0 has been
+ deprecated since it is and forever will be a scalability
+ bottleneck. For more information see the Time and Time
+ Correction chapter of the ERTS User's Guide.
+
+ Besides the API changes and time warp modes a lot of
+ scalability and performance improvements regarding time
+ management has been made internally in the runtime system.
+ Examples of such improvements are scheduler specific timer
+ wheels, scheduler specific BIF timer management, parallel
+ retrieval of monotonic time and system time on systems with
+ primitives that are not buggy.
+
+ OTP-12029 == ssh ==
+
+ A new option 'preferred_algorithms' is available for
+ ssh:daemon and ssh:connect.
+
+ This option defines the algorithms presented to the peer in
+ the algorithm negotiation phase of the ssh protocol.
+
+ The default list can be obtained from the new function
+ ssh:default_algorithms/0.
+
+ OTP-12218 == compiler debugger stdlib ==
+
+ Support variables as Map keys in expressions and patterns
+
+ Erlang will accept any expression as keys in Map expressions
+ and it will accept literals or bound variables as keys in Map
+ patterns.
+
+ OTP-12309 == erts stdlib ==
+
+ New function ets:take/2. Works the same as ets:delete/2 but
+ also returns the deleted object(s).
+
+ OTP-12585 == erts ==
+
+ Use persistent hashmaps for large Maps
+
+ Maps will use a persistent hashmap implementation when the
+ number of pairs in a Map becomes sufficiently large. The
+ change will occur when a Map reaches 33 pairs in size but
+ this limit might change in the future.
+
+ The most significant impact for the user by this change is
+ speed, and to a lesser degree memory consumption and
+ introspection of Maps. Memory consumption size is probalistic
+ but lesser than gb_trees or dict for instance. Any other
+ impacts will be transparent for the user except for the
+ following changes.
+
+ Semantics of Maps have changed in two incompatible ways
+ compared to the experimental implementation in OTP 17:
+
+ -- Hashing of maps is done different by erlang:phash2/1,2,
+ erlang:phash/1 and erlang:hash/2.
+
+ -- Comparing two maps with ==, /=, =<, <, >= and >, is done
+ different if the keys contain floating point numbers.
+
+ OTP-12650 == erts ==
+
+ Optimization of timers internally in the VM. This include
+ process timers (receive ... after), port timers
+ (driver_set_timer()) as well as BIF timers
+ (erlang:send_after()/erlang:start_timer()).
+
+ Each scheduler thread now has its own lock-free timer service
+ instead of one locked central service. This dramatically
+ improves performance of timer management on systems with a
+ large amount of schedulers and timers.
+
+ The timer service internal data structure has also been
+ optimized to be able to handle more timers than before. That
+ is, each timer service is by its self able to handle more
+ timers without dramatic performance loss than the old
+ centralized timer service.
+
+ The API of BIF timers has also been extended. Timeout values
+ are for example no longer limited to 32-bit integers. For
+ more information see the documentation of
+ erlang:start_timer/4, erlang:send_after/4,
+ erlang:cancel_timer/2, and erlang:read_timer/2.
+
+ Characteristics impact: Calls to the synchronous versions of
+ erlang:cancel_timer(), and erlang:read_timer() may take
+ substantially longer time to complete than before. This occur
+ when the timer that is accessed is managed by a remote
+ scheduler. You typically want to use the new asynchronous
+ option in order to avoid blocking the calling process.
+
+ OTP-12854 == otp ==
+
+ Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- POTENTIAL INCOMPATIBILITIES -----------------------------------------
+
+ OTP-11905 == erts ==
+
+ Fix issuing with spaces and quoting in the arguments when
+ using erlang:open_port spawn_executable on windows. The
+ behavior now mimics how unix works. This change implies a
+ backwards incompatibility for how spawn_executable works on
+ windows.
+
+ OTP-11940 == erts ==
+
+ Add md5 and module entries to ?MODULE:module_info/0/1 and
+ remove obsolete entry 'import'.
+
+ OTP-12099 == erts ==
+
+ erlang:function_exported(M, F, A) will now return true if
+ M:F/A refers to a BIF.
+
+ OTP-12100 == compiler ==
+
+ The deprecated 'asm' option has been removed.
+
+ OTP-12240 == erts kernel ssh ==
+
+ The internal group to user_drv protocol has been changed to
+ be synchronous in order to guarantee that output sent to a
+ process implementing the user_drv protocol is printed before
+ replying. This protocol is used by the standard_output device
+ and the ssh application when acting as a client.
+
+ This change changes the previous unlimited buffer when
+ printing to standard_io and other devices that end up in
+ user_drv to 1KB.
+
+ OTP-12292 == erts ==
+
+ The notice that a crashdump has been written has been moved
+ to be printed before the crashdump is generated instead of
+ afterwords. The wording of the notice has also been changed.
+
+ OTP-12585 == erts ==
+
+ Use persistent hashmaps for large Maps
+
+ Maps will use a persistent hashmap implementation when the
+ number of pairs in a Map becomes sufficiently large. The
+ change will occur when a Map reaches 33 pairs in size but
+ this limit might change in the future.
+
+ The most significant impact for the user by this change is
+ speed, and to a lesser degree memory consumption and
+ introspection of Maps. Memory consumption size is probalistic
+ but lesser than gb_trees or dict for instance. Any other
+ impacts will be transparent for the user except for the
+ following changes.
+
+ Semantics of Maps have changed in two incompatible ways
+ compared to the experimental implementation in OTP 17:
+
+ -- Hashing of maps is done different by erlang:phash2/1,2,
+ erlang:phash/1 and erlang:hash/2.
+
+ -- Comparing two maps with ==, /=, =<, <, >= and >, is done
+ different if the keys contain floating point numbers.
+
+ OTP-12610 == erts ==
+
+ Scalability improvement for erlang:make_ref/0, and other
+ functionality that create references. Each scheduler now
+ manage its own set of references. By this no communication at
+ all is needed when creating references.
+
+ Previous implementation generated a strictly monotonically
+ increasing sequence of references corresponding to creation
+ time on the runtime system instance. This is not the case
+ with current implementation. You can only expect reference to
+ be unique. The Erlang/OTP documentation has never mentioned
+ anything else but the uniqueness property, so this change is
+ fully compatible. The only reason we've marked this as a
+ potential incompatibility is since an early draft for an
+ Erlang specification mentions strict monotonicity as a
+ property.
+
+ If you need to create data with a strict monotonicity
+ property use erlang:unique_integer([monotonic]). Do not use
+ the deprecated erlang:now().
+
+--- otp -----------------------------------------------------------------
+
+ OTP-11306 The type identifier() is documented in the reference manual,
+ in section Types and Function Specifications.
+
+ OTP-12854 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- asn1-4.0 ------------------------------------------------------------
+
+ OTP-12395 Many bugs have been eliminated in the the ASN.1 compiler so
+ that it can now successfully compile many more ASN.1
+ specifications. Error messages have also been improved.
+
+ OTP-12765 The documentation for asn1ct:test/1,2,3 and asn1ct:value/2
+ has been updated with information about the limitations of
+ the functions.
+
+--- common_test-1.11 ----------------------------------------------------
+
+ OTP-10446 Earlier there was no way to add optional parameters like
+ default-operation to an edit-config request sent with
+ ct_netconfc:edit_config/3,4, you had to use
+ ct_netconfc:send_rpc/2,3. For simplicity and completion, a
+ new optional argument, OptParams, is now added to the
+ edit_config function.
+
+ OTP-10816 The status of an aborted test due to test suite compilation
+ error has changed from 'auto_skipped' to 'failed'. This
+ affects both the textual log file, event handling and CT hook
+ callbacks. The logging of compilation failures has also been
+ improved, especially in the case of multiple test suites
+ failing compilation.
+
+ OTP-11962 When running OTP tests using the ts interface, it is now
+ possible to specify so called test categories per OTP
+ application. A test category is represented by a CT test
+ specification and defines an arbitrary subset of existing
+ test suites, groups and cases. Examples of test categories
+ are 'smoke' (smoke tests) and 'bench' (benchmarks). (Call
+ ts:help() for more info). Also, functions for reading terms
+ from the current test specification during test,
+ ct:get_testspec_terms/0 and ct:get_testspec_terms/1, have
+ been implemented.
+
+ OTP-12421 Obsolete scripts and make file operations have been removed
+ and the installation chapter in the Common Test User's Guide
+ has been updated.
+
+ OTP-12678 The 'keep_alive' interval has been reduced to 8 seconds,
+ which is two seconds shorter than the default 'idle_timeout'
+ value for ct_telnet:expect/3. This way, the telnet server
+ receives a NOP message (which might trigger an action) before
+ the operation times out. Also the TCP option 'nodelay' has
+ been enabled per default for all telnet connections, in order
+ to reduce the risk for communication timeouts.
+
+ OTP-12684 When the ct_run program is executed without any flags, "-dir
+ ." is now used as default start flag. Similarly, the option
+ {dir,"."} is used by ct:run_test/1 if called with an empty
+ list. Also, the help text (ct_run -help) has been updated, as
+ well as the Running Tests chapter in the Common Test User's
+ Guide.
+
+ OTP-12740 The Test Server source code parser (erl2html2) failed to
+ handle the macro tuple in the syntax tree returned by
+ epp_dodger. This error has been corrected.
+
+ OTP-12809 New options to make it possible to specify ssh_port in a
+ .spec file: [{node_start, [{ssh_port, 9999}]}].
+
+ And also to specify additional ssh options like paths to
+ public-key files: [{node_start, [{ssh_opts, [{user_dir,
+ "/home/shrek/e2/"}]}]}].
+
+--- compiler-6.0 --------------------------------------------------------
+
+ OTP-11978 The cerl and cerl_trees modules in the compiler application
+ are now documented.
+
+ OTP-12100 The deprecated 'asm' option has been removed.
+
+ OTP-12218 Support variables as Map keys in expressions and patterns
+
+ Erlang will accept any expression as keys in Map expressions
+ and it will accept literals or bound variables as keys in Map
+ patterns.
+
+ OTP-12253 Infer Map type information in beam_type compiler optimization
+ pass.
+
+ OTP-12393 Compiler optimizations have been improved.
+
+ OTP-12453 The compiler optimizes away building of terms that are never
+ actually used. As a result, the compiler in OTP 18 may
+ produce more warnings for terms that are built but not used
+ than the compiler in OTP 17.
+
+ OTP-12497 Five undocumented functions in the module core_lib have been
+ deprecated and will be removed in the next major release. The
+ functions are: get_anno/{1,2}, is_literal/1,
+ is_literal_list/1, and literal_value. Use the appropriate
+ functions in the cerl module instead.
+
+ OTP-12515 Using a map could incorrectly suppress warnings for unused
+ variables.
+
+ OTP-12723 The compiler now properly reports unknown parse transforms.
+ That is, undef exceptions coming from the parse transform
+ itself is reported differently from the absence of the parse
+ transform.
+
+ OTP-12758 Allow for 'creation of sub binary delayed' optimization if
+ maps instructions are in a clause.
+
+ OTP-12774 Change some internal data structures to Maps in order to
+ speed up compilation time. Measured speed up is around
+ 10%-15%.
+
+ OTP-12844 Fix beam_bool pass for Maps instruction get_map_elements
+
+ Before beam_split the get_map_elements instruction is still
+ in blocks and the helper function in beam_jump did not
+ reflect this.
+
+--- cosEvent-2.2 --------------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- cosEventDomain-1.2 --------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- cosFileTransfer-1.2 -------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- cosNotification-1.2 -------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- cosProperty-1.2 -----------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- cosTime-1.2 ---------------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- cosTransactions-1.3 -------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- crypto-3.6 ----------------------------------------------------------
+
+ OTP-12380 Use the EVP API for AES-CBC crypto to enables the use of
+ hardware acceleration for AES-CBC crypto on newer Intel CPUs
+ (AES-NI), among other platforms.
+
+ OTP-12394 Enhance crypto:generate_key to calculate ECC public keys from
+ private key.
+
+ OTP-12403 Add AES ECB block encryption.
+
+ OTP-12733 Fix bug in crypto:generate_key for ecdh that could cause VM
+ crash for faulty input.
+
+--- debugger-4.1 --------------------------------------------------------
+
+ OTP-12218 Support variables as Map keys in expressions and patterns
+
+ Erlang will accept any expression as keys in Map expressions
+ and it will accept literals or bound variables as keys in Map
+ patterns.
+
+--- dialyzer-2.8 --------------------------------------------------------
+
+ OTP-10280 The -dialyzer() attribute can be used for suppressing
+ warnings in a module by specifying functions or warning
+ options. It can also be used for requesting warnings in a
+ module.
+
+ OTP-11445 The pre-defined types array(), dict(), digraph(), gb_set(),
+ gb_tree(), queue(), set(), and tid() have been removed.
+
+ OTP-11851 A few type names that have been used for representing certain
+ predefined types can now be used for user-defined types. This
+ affects the types product/_, union/_, and range/2 as well as
+ tuple/N (N > 0), map/N (N > 0), atom/1, integer/1, binary/2,
+ record/_, and 'fun'/_. A consequence is that, for example, it
+ is no longer possible to refer to a record type with
+ record(r); instead the usual record notation, #r{}, is to be
+ used.
+
+ OTP-11861 When implementing user-defined behaviours it is now possible
+ to specify optional callback functions. See OTP Design
+ Principles User's Guide, Sys and Proc_Lib, User-Defined
+ Behaviours, for details.
+
+ OTP-12350 The translation of Erlang forms to the type representation
+ used by Dialyzer has been improved in several ways. The most
+ important change is that deeply nested records can be
+ handled.
+
+ OTP-12493 Fix a bug that could cause bogus warnings for opaque types.
+
+ In Erlang/OTP 18 two parameterized types declared in the same
+ module always result in a contradiction (none()) when
+ combined outside of the module where they are declared,
+ unless they have the same number of parameters.
+
+ The behaviour is different from Erlang/OTP 17 where, for
+ instance, dict:dict() and dict:dict(_, _), which are both
+ opaque, can be combined outside of the dict module.
+
+ In Erlang/OTP 18, dict:dict() and dict:dict(_, _) can still
+ be combined outside of the dict module. That has been made
+ possible by not declaring dict:dict() as opaque.
+
+ OTP-12637 Update the PLT properly when a module is changed. (Thanks to
+ James Fish for the bug report, and to Stavros Aronis for
+ fixing the bug.)
+
+ OTP-12682 Add two options to the Dialyzer: no_missing_calls suppresses
+ warnings about calls to missing or unexported functions;
+ unknown lets warnings about unknown functions or types affect
+ the exit status. See also dialyzer(3).
+
+ OTP-12725 An argument of '*'/2 is not constraind if the other operand
+ can be zero.
+
+ OTP-12750 Mention the option check_plt among the dialyzer:gui()
+ options. (Thanks to James Fish.)
+
+ OTP-12779 By default, dialyzer will now cache native versions of
+ dialyzer modules to avoid having to re-compile them each time
+ dialyzer is started. Caching can be disabled using the option
+ --no_native_cache.
+
+ OTP-12826 Fix a bug which could cause an infinite loop in Dialyzer.
+
+--- diameter-1.10 -------------------------------------------------------
+
+ OTP-12721 Fix decode of Grouped AVPs containing errors.
+
+ RFC 6733 says this of Failed-AVP in 7.5:
+
+ --
+
+ In the case where the offending AVP is embedded within a
+ Grouped AVP, the Failed-AVP MAY contain the grouped AVP,
+ which in turn contains the single offending AVP. The same
+ method MAY be employed if the grouped AVP itself is embedded
+ in yet another grouped AVP and so on. In this case, the
+ Failed-AVP MAY contain the grouped AVP hierarchy up to the
+ single offending AVP. This enables the recipient to detect
+ the location of the offending AVP when embedded in a group.
+
+ It says this of DIAMETER_INVALID_AVP_LENGTH in 7.1.5:
+
+ --
+
+ The request contained an AVP with an invalid length. A
+ Diameter message indicating this error MUST include the
+ offending AVPs within a Failed-AVP AVP. In cases where the
+ erroneous AVP length value exceeds the message length or is
+ less than the minimum AVP header length, it is sufficient to
+ include the offending AVP header and a zero filled payload of
+ the minimum required length for the payloads data type. If
+ the AVP is a Grouped AVP, the Grouped AVP header with an
+ empty payload would be sufficient to indicate the offending
+ AVP. In the case where the offending AVP header cannot be
+ fully decoded when the AVP length is less than the minimum
+ AVP header length, it is sufficient to include an offending
+ AVP header that is formulated by padding the incomplete AVP
+ header with zero up to the minimum AVP header length.
+
+ The AVPs placed in the errors field of a diameter_packet
+ record are intended to be appropriate for inclusion in a
+ Failed-AVP, but neither of the above paragraphs has been
+ followed in the Grouped case: the entire faulty AVP
+ (non-faulty components and all) has been included. This made
+ it difficult to identify the actual faulty AVP in all but
+ simple cases.
+
+ The decode is now adapted to the RFC, and implements the
+ suggested single faulty AVP, nested in as many Grouped
+ containers as required.
+
+ OTP-12768 Fix SCTP problems on Solaris.
+
+ The allocation of association ids in Solaris was in conflict
+ with an assumption made in diameter_sctp, resulting in
+ failures when accepting multiple peer connections.
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+ OTP-12851 Fix start order of alternate transports.
+
+ A transport configured with diameter:add_transport/2 can be
+ passed multiple transport_module/transport_config tuples in
+ order to specify alternate configuration, modules being
+ attempted in order until one succeeds. This is primarily for
+ the connecting case; for example, to allow a transport to be
+ configured to first attempt connection over SCTP, and then
+ TCP in case SCTP fails. Multiple module tuples can be paired
+ with a single config tuple, but in this case the start order
+ was reversed relative to the order in which the modules were
+ specifed.
+
+--- edoc-0.7.17 ---------------------------------------------------------
+
+ OTP-12431 Remove functionality related to packages
+
+--- eldap-1.2 -----------------------------------------------------------
+
+ OTP-12282 Support added for LDAP Password Modify Extended Operation
+ (RFC 3062). Thanks to danielwhite.
+
+--- erl_docgen-0.4 ------------------------------------------------------
+
+ OTP-12722 Add possibility to add extra information on documentation
+ front pages.
+
+--- erl_interface-3.8 ---------------------------------------------------
+
+ OTP-12801 Do not accept Nan and Infinity values
+
+ Erlang does not accept these values, so we return an error in
+ the C interface rather than letting them through to the
+ Erlang VM, which rejects the message with a somewhat cryptic
+ "bad external term".
+
+--- erts-7.0 ------------------------------------------------------------
+
+ OTP-11905 Fix issuing with spaces and quoting in the arguments when
+ using erlang:open_port spawn_executable on windows. The
+ behavior now mimics how unix works. This change implies a
+ backwards incompatibility for how spawn_executable works on
+ windows.
+
+ OTP-11939 Fix global call trace when hipe compiled code call beam
+ compiled functions. Tracing of beam functions should now
+ alway work regardless who the caller is.
+
+ OTP-11940 Add md5 and module entries to ?MODULE:module_info/0/1 and
+ remove obsolete entry 'import'.
+
+ OTP-11941 Debug function erlang:display/1 shows content of binaries and
+ bitstrings, not only the length.
+
+ OTP-11974 Correct cache alignment for ETS write_concurrency locks to
+ improve performance by reduced false sharing. May increase
+ memory footprint for tables with write_concurrency.
+
+ OTP-11997 The time functionality of Erlang has been extended. This both
+ includes a new API for time, as well as time warp modes which
+ alters the behavior of the system when system time changes.
+ You are strongly encouraged to use the new API instead of the
+ old API based on erlang:now/0. erlang:now/0 has been
+ deprecated since it is and forever will be a scalability
+ bottleneck. For more information see the Time and Time
+ Correction chapter of the ERTS User's Guide.
+
+ Besides the API changes and time warp modes a lot of
+ scalability and performance improvements regarding time
+ management has been made internally in the runtime system.
+ Examples of such improvements are scheduler specific timer
+ wheels, scheduler specific BIF timer management, parallel
+ retrieval of monotonic time and system time on systems with
+ primitives that are not buggy.
+
+ OTP-12099 erlang:function_exported(M, F, A) will now return true if
+ M:F/A refers to a BIF.
+
+ OTP-12151 New BIF: erlang:get_keys/0, lists all keys associated with
+ the process dictionary. Note: erlang:get_keys/0 is
+ auto-imported.
+
+ OTP-12232 Make distributed send of large messages yield to improve
+ real-time characteristics.
+
+ OTP-12236 Use high accuracy poll timeouts
+
+ Where available, use poll/select API's that can handle time
+ resolutions less than 1ms. In the cases where such API's are
+ not available the timeout is rounded up to the nearest ms.
+
+ OTP-12239 All possibly blocking operations in the fd/spawn and terminal
+ driver have been converted to non-blocking operations. Before
+ this fix it was possible for the VM to be blocked for a long
+ time if the entity consuming stdout/stderr did not consume it
+ fast enough.
+
+ OTP-12240 The internal group to user_drv protocol has been changed to
+ be synchronous in order to guarantee that output sent to a
+ process implementing the user_drv protocol is printed before
+ replying. This protocol is used by the standard_output device
+ and the ssh application when acting as a client.
+
+ This change changes the previous unlimited buffer when
+ printing to standard_io and other devices that end up in
+ user_drv to 1KB.
+
+ OTP-12254 The previously introduced "eager check I/O" feature is now
+ enabled by default.
+
+ Eager check I/O can be disabled using the erl command line
+ argument: +secio false
+
+ Characteristics impact compared to previous default:
+
+ -- Lower latency and smoother management of externally
+ triggered I/O operations.
+
+ -- A slightly reduced priority of externally triggered I/O
+ operations.
+
+ OTP-12270 Properly support maps in match_specs
+
+ OTP-12292 The notice that a crashdump has been written has been moved
+ to be printed before the crashdump is generated instead of
+ afterwords. The wording of the notice has also been changed.
+
+ OTP-12309 New function ets:take/2. Works the same as ets:delete/2 but
+ also returns the deleted object(s).
+
+ OTP-12366 Tracing with cpu_timestamp option has been enabled on Linux.
+
+ OTP-12376 ets:info/1,2 now contains information about whether
+ write_concurrency or read_concurrency is enabled.
+
+ OTP-12377 Crashdumps have been expanded to include:
+
+ -- Stack trace of currently running process (including
+ processes that are being garbage collected)
+
+ -- Data about the state of the erts schedulers
+
+ -- Extended statistics about ets tables of the types; set,
+ bag or dublicate_bag.
+
+ -- All configurable options for ets tables
+
+ For more detailed information see How to interpret the Erlang
+ crash dumps in the ERTS User's Guide.
+
+ OTP-12383 Improved usage of gcc's builtins for atomic memory access.
+ These are used when no other implementation of atomic memory
+ operations is available. For example, when compiling for ARM
+ when libatomic_ops is not available.
+
+ The largest improvement will be seen when compiling with a
+ gcc with support for the __atomic_* builtins (using a gcc of
+ at least version 4.7), but also when only the legacy __sync_*
+ builtins are available (using a gcc of at least version 4.1)
+ an improvement can be seen.
+
+ For more information see the "Atomic Memory Operations and
+ the VM" section of $ERL_TOP/HOWTO/INSTALL.md.
+
+ OTP-12411 Introduce math:log2/1 function to math module.
+
+ OTP-12492 The documentation of the Abstract Format (in the ERTS User's
+ Guide) has been updated with types and specification. (Thanks
+ to Anthony Ramine.)
+
+ The explicit representation of parentheses used in types of
+ the abstract format has been removed. Instead the new
+ functions erl_parse:type_inop_prec() and
+ erl_parse:type_preop_prec() can be used for inserting
+ parentheses where needed.
+
+ OTP-12508 Remove perfctr support
+
+ Development of perfctr in the linux kernel ceased in 2010.
+ The perfctr support code in the Erlang VM is thus effectively
+ dead code and therefor removed.
+
+ OTP-12548 zlib:inflateChunk/2 has been added. It works like
+ zlib:inflate/2, but decompresses no more data than will fit
+ in the buffer configured by zlib:setBufSize/2.
+
+ OTP-12554 Add missing overhead for offheap binaries created from
+ external format. This fix can improve the garbage collection
+ of large binaries originating from binary_to_term or messages
+ from remote nodes.
+
+ OTP-12555 Use linear search for small select_val arrays
+
+ OTP-12563 New BIF ets:update_counter/4 with a default object as
+ argument, which will be inserted in the table if the key was
+ not found.
+
+ OTP-12584 Export missing types from zlib module
+
+ OTP-12585 Use persistent hashmaps for large Maps
+
+ Maps will use a persistent hashmap implementation when the
+ number of pairs in a Map becomes sufficiently large. The
+ change will occur when a Map reaches 33 pairs in size but
+ this limit might change in the future.
+
+ The most significant impact for the user by this change is
+ speed, and to a lesser degree memory consumption and
+ introspection of Maps. Memory consumption size is probalistic
+ but lesser than gb_trees or dict for instance. Any other
+ impacts will be transparent for the user except for the
+ following changes.
+
+ Semantics of Maps have changed in two incompatible ways
+ compared to the experimental implementation in OTP 17:
+
+ -- Hashing of maps is done different by erlang:phash2/1,2,
+ erlang:phash/1 and erlang:hash/2.
+
+ -- Comparing two maps with ==, /=, =<, <, >= and >, is done
+ different if the keys contain floating point numbers.
+
+ OTP-12610 Scalability improvement for erlang:make_ref/0, and other
+ functionality that create references. Each scheduler now
+ manage its own set of references. By this no communication at
+ all is needed when creating references.
+
+ Previous implementation generated a strictly monotonically
+ increasing sequence of references corresponding to creation
+ time on the runtime system instance. This is not the case
+ with current implementation. You can only expect reference to
+ be unique. The Erlang/OTP documentation has never mentioned
+ anything else but the uniqueness property, so this change is
+ fully compatible. The only reason we've marked this as a
+ potential incompatibility is since an early draft for an
+ Erlang specification mentions strict monotonicity as a
+ property.
+
+ If you need to create data with a strict monotonicity
+ property use erlang:unique_integer([monotonic]). Do not use
+ the deprecated erlang:now().
+
+ OTP-12613 Enable different abort signal from heart
+
+ By using environment variable HEART_KILL_SIGNAL, heart can
+ now use a different signal to kill the old running Erlang.
+
+ By default the signal is SIGKILL but SIGABRT may also be used
+ by setting environment variable: HEART_KILL_SIGNAL=SIGABRT
+
+ OTP-12641 Ensure hashing of zero is consistent
+
+ Erlang treats positive and negative zero as equal:
+
+ true = 0.0 =:= 0.0/-1
+
+ However, Erlangs hash functions: hash, phash and phash2 did
+ not reflect this behaviour. The hash values produced by the
+ different hash functions would not be identical for positive
+ and negative zero.
+
+ This change ensures that hash value of positive zero is
+ always produced regardless of the signedness of the zero
+ float, i.e.,
+
+ true = erlang:phash2(0.0) =:= erlang:phash2(0.0/-1)
+
+ OTP-12646 Update autconf to latest version 2015-03-04
+
+ OTP-12650 Optimization of timers internally in the VM. This include
+ process timers (receive ... after), port timers
+ (driver_set_timer()) as well as BIF timers
+ (erlang:send_after()/erlang:start_timer()).
+
+ Each scheduler thread now has its own lock-free timer service
+ instead of one locked central service. This dramatically
+ improves performance of timer management on systems with a
+ large amount of schedulers and timers.
+
+ The timer service internal data structure has also been
+ optimized to be able to handle more timers than before. That
+ is, each timer service is by its self able to handle more
+ timers without dramatic performance loss than the old
+ centralized timer service.
+
+ The API of BIF timers has also been extended. Timeout values
+ are for example no longer limited to 32-bit integers. For
+ more information see the documentation of
+ erlang:start_timer/4, erlang:send_after/4,
+ erlang:cancel_timer/2, and erlang:read_timer/2.
+
+ Characteristics impact: Calls to the synchronous versions of
+ erlang:cancel_timer(), and erlang:read_timer() may take
+ substantially longer time to complete than before. This occur
+ when the timer that is accessed is managed by a remote
+ scheduler. You typically want to use the new asynchronous
+ option in order to avoid blocking the calling process.
+
+ OTP-12655 Ensure NIF term creation disallows illegal floating point
+ values and too long atoms. Such values will cause a NIF to
+ throw badarg exception when it returns.
+
+ OTP-12656 Fixed building of Map results from match_specs
+
+ A faulty "box-value" entered into the heap which could cause
+ a segmentation fault in the garbage collector if it was
+ written on a heap fragment.
+
+ OTP-12667 Fix hipe bug when matching a "writable" binary. The bug has
+ been seen to sometimes cause a failed binary matching of a
+ correct utf8 character, but other symptoms are also possible.
+
+ OTP-12685 Keep dirty schedulers from waking other schedulers.
+
+ OTP-12690 Specialize instructions from common assembler patterns
+
+ Specialize common instructions of rem, band, minus and plus
+ in the beam loader. This will reduce the number of fetches
+ and thus lessen the instruction dispatch pressure during
+ runtime and speed up those operations in some common cases.
+
+ Specialize move patterns from x-registers to the stack with a
+ new move_window instruction. This change will reduce
+ instruction dispatch pressure.
+
+ OTP-12693 Fix cross compilation for Android.
+
+ OTP-12706 Fix incorrect use of autoconf macro AC_EGREP_CPP, which could
+ cause faulty configuration if run from a path containing the
+ string 'yes'.
+
+ OTP-12715 Minimal Java version is now 1.6
+
+ OTP-12717 Disable floating point exceptions if the VM is compiled by
+ clang/llvm. This is a known long-standing problem in
+ clang/llvm.
+
+ OTP-12720 Fix bug in file:sendfile for FreeBSD causing not the entire
+ file to be sent.
+
+ OTP-12735 Send format and args on process exit to error_logger
+
+ Previously, the emulator would generate a whole string with
+ values and call the error_logger passing "~s~n". This changes
+ it to a format string containing ~p with the respective
+ values as arguments.
+
+ OTP-12751 Fix the broken Android support in erl_child_setup.c
+
+ OTP-12755 Map error logger warnings to warning messages by default.
+
+ OTP-12761 Configure architecture ppc64le architecture as a ppc64
+
+ OTP-12766 Faulty statistics reported by the fix_alloc allocator.
+
+ OTP-12770 Add function enif_raise_exception to allow a NIF to raise an
+ error exception with any type of reason.
+
+ OTP-12771 Fix two erts_snprintf() calls to correct sizes.
+
+ - run_erl.c (ose): Use the size of the signal type, not its
+ pointer. - erl_node_tables.c: Use the size of the _BUFFER in
+ erts_snprintf() to make sure we can use the full space.
+
+ OTP-12777 Optimized node table statistics retrieval.
+
+ OTP-12781 Map beam error logger warnings to warning messages by
+ default. Previously these messages were mapped to the error
+ channel by default.
+
+ OTP-12797 gen_tcp:shutdown/2 is now asynchronous
+
+ This solves the following problems with the old
+ implementation:
+
+ It doesn't block when the TCP peer is idle or slow. This is
+ the expected behaviour when shutdown() is called: the caller
+ needs to be able to continue reading from the socket, not be
+ prevented from doing so.
+
+ It doesn't truncate the output. The current version of
+ gen_tcp:shutdown/2 will truncate any outbound data in the
+ driver queue after about 10 seconds if the TCP peer is idle
+ of slow. Worse yet, it doesn't even inform anyone that the
+ data has been truncated: 'ok' is returned to the caller; and
+ a FIN rather than an RST is sent to the TCP peer.
+
+ OTP-12802 Introduced delayed node table GC. This in order to avoid
+ oscillation of entries in and out of the tables. The
+ oscillation caused unnecessary lock contention on the table
+ locks. The delay length can be set by passing the +zdntgc
+ command line argument.
+
+ Characteristics impact: The tables can grow to very large
+ sizes with unused entries if the node is get huge amounts of
+ short lived connections from other nodes. This problem can be
+ alleviated by shortening the length of the delay using the
+ +zdntgc command line argument.
+
+ OTP-12812 Delayed memory allocations could be delayed an unnecessarily
+ long time.
+
+ OTP-12817 Make sure that timeouts on a pool of acceptors are released
+ in the correct order.
+
+ OTP-12820 Fix segmentation fault in module_info for deleted modules
+
+ OTP-12821 Fix garbage collection of literals in code purge
+
+ During code purging and check_process_code, the checking of
+ the binary reference embedded in the match binary state was
+ omitted for the tracing tests. This would cause the binary
+ match state to reference deallocated memory.
+
+ OTP-12840 A bug has been corrected for gen_tcp:close so when
+ {linger,{true,0}} is in effect it does not wait for data in
+ the driver queue to transfer out before closing the port. Bug
+ fix by Rory Byrne.
+
+ OTP-12842 Improved implementation of erlang:statistics(io) in order to
+ reduce contention between schedulers.
+
+ Characteristics impact: The actual call to
+ erlang:statistics(io) takes longer time to complete, but the
+ overall impact on the system is improved.
+
+ OTP-12843 There are many cases where user code needs to be able to
+ distinguish between a socket that was closed normally and one
+ that was aborted. Setting the option {show_econnreset, true}
+ enables the user to receive ECONNRESET errors on both active
+ and passive sockets.
+
+ OTP-12849 Do not preallocate too large event pool
+
+ A default pool size of 4000 is too excessive for the common
+ case. This corresponds directly to the number of threads in
+ the system. Change ERTS_TS_EV_ALLOC_DEFAULT_POOL_SIZE to
+ 2048. Change ERTS_TS_EV_ALLOC_POOL_SIZE to 32.
+
+ OTP-12855 The documentation of the driver callback start() erroneously
+ stated that a return value of ERL_DRV_ERROR_ERRNO caused the
+ error value to be passed via erl_errno when it should have
+ been errno.
+
+--- et-1.5.1 ------------------------------------------------------------
+
+ OTP-12780 The et application must continue to use erlang:now/0 in order
+ to obtain timestamps that are consistent with timestamps
+ obtained from tracing. The application has been updated to
+ suppress the warning for erlang:now/0.
+
+--- eunit-2.2.10 --------------------------------------------------------
+
+ OTP-11660 The eunit application is now unicode safe.
+
+--- gs-1.6 --------------------------------------------------------------
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- hipe-3.12 -----------------------------------------------------------
+
+ OTP-12666 Fix a minor bug in the handling of opaque types.
+
+ OTP-12667 Fix hipe bug when matching a "writable" binary. The bug has
+ been seen to sometimes cause a failed binary matching of a
+ correct utf8 character, but other symptoms are also possible.
+
+ OTP-12794 Allow use of complete interface of cerl_pmatch module
+
+ OTP-12816 Optimizations and code cleanup in hipe code loader.
+
+--- ic-4.4 --------------------------------------------------------------
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- inets-6.0 -----------------------------------------------------------
+
+ OTP-11845 Fix race condition in httpc. If the socket is closed by the
+ peer do not try to close it again.
+
+ OTP-12156 Remove Server Side Include support from inets, as this is an
+ old technic that has security issues and was not well tested.
+
+ OTP-12362 Avoid process leak by gracefully terminating httpc request
+ handler process when send operation fails.
+
+ OTP-12674 To enable the HTTP server to run in a virtualized
+ environment, where there can be more that one server that has
+ the same ip-address and port, we add a new option profile.
+
+ OTP-12798 Let gen_tcp:controlling_process/2 and inet_sctp:connect/[45]
+ propagate prim_inet:setopt/3 errors instead of having them
+ generate badmatch exceptions.
+
+ OTP-12803 httpc: Fix implementation of gracefull shudown to work as
+ intended for keep alive connections not using pipelining.
+
+ OTP-12822 Correct handling of proxy options when using persistent
+ connections.
+
+--- jinterface-1.6 ------------------------------------------------------
+
+ OTP-12333 Reformat the sources for JInterface uniformly and according
+ to the standard Java style guidelines. Provide description of
+ the rules applied in Eclipse format (for other editors one
+ can check the settings against these).
+
+ In short, the formatting style is: * indentation uses only
+ spaces; each level is 4 positions * no trailing whitespace *
+ mostly default Java style formatting (any difference is
+ minor) * always use {} blocks * use 'final' as much as
+ possible
+
+ OTP-12686 Add basic transport factory implementation. This makes
+ possible creating connections between nodes using ssh
+ channels for example.
+
+ OTP-12691 Add Jinterface generic match and bind methods to provide low
+ level interface base methods sufficient for variety of higher
+ level pattern matching/variable binding implementations.
+
+ OTP-12715 Minimal Java version is now 1.6
+
+ OTP-12746 Remove extra @param in javadoc as this gives an error when
+ building the docs in java 1.8
+
+--- kernel-4.0 ----------------------------------------------------------
+
+ OTP-12144 Fix error handling in file:read_line/1 for Unicode contents.
+
+ OTP-12151 New BIF: erlang:get_keys/0, lists all keys associated with
+ the process dictionary. Note: erlang:get_keys/0 is
+ auto-imported.
+
+ OTP-12240 The internal group to user_drv protocol has been changed to
+ be synchronous in order to guarantee that output sent to a
+ process implementing the user_drv protocol is printed before
+ replying. This protocol is used by the standard_output device
+ and the ssh application when acting as a client.
+
+ This change changes the previous unlimited buffer when
+ printing to standard_io and other devices that end up in
+ user_drv to 1KB.
+
+ OTP-12342 Introduce os:getenv/2 which is similar to os:getenv/1 but
+ returns the passed default value if the required environment
+ variable is undefined.
+
+ OTP-12564 The inflateInit/2 and deflateInit/6 functions now accepts a
+ WindowBits argument equal to 8 and -8.
+
+ OTP-12673 It is now possible to paste text in JCL mode (using Ctrl-Y)
+ that has been copied in the previous shell session. Also a
+ bug that caused the JCL mode to crash when pasting text has
+ been fixed.
+
+ OTP-12755 Map error logger warnings to warning messages by default.
+
+ OTP-12773 Ensure that each segment of an IPv6 address when parsed from
+ a string has a maximum of 4 hex digits
+
+ OTP-12781 Map beam error logger warnings to warning messages by
+ default. Previously these messages were mapped to the error
+ channel by default.
+
+ OTP-12797 gen_tcp:shutdown/2 is now asynchronous
+
+ This solves the following problems with the old
+ implementation:
+
+ It doesn't block when the TCP peer is idle or slow. This is
+ the expected behaviour when shutdown() is called: the caller
+ needs to be able to continue reading from the socket, not be
+ prevented from doing so.
+
+ It doesn't truncate the output. The current version of
+ gen_tcp:shutdown/2 will truncate any outbound data in the
+ driver queue after about 10 seconds if the TCP peer is idle
+ of slow. Worse yet, it doesn't even inform anyone that the
+ data has been truncated: 'ok' is returned to the caller; and
+ a FIN rather than an RST is sent to the TCP peer.
+
+ OTP-12843 There are many cases where user code needs to be able to
+ distinguish between a socket that was closed normally and one
+ that was aborted. Setting the option {show_econnreset, true}
+ enables the user to receive ECONNRESET errors on both active
+ and passive sockets.
+
+--- megaco-3.18 ---------------------------------------------------------
+
+ OTP-12762 The runtime dependencies in the application resource file
+ have been updated.
+
+--- mnesia-4.13 ---------------------------------------------------------
+
+ OTP-12481 Make Mnesia DCD dump behavior at start up optional, when
+ turned off mnesia loads large disc_copies tables faster.
+
+ OTP-12714 Mnesia's dirty functions did not always exit with {aborted,
+ Reason} as documented when an error occurred.
+
+ OTP-12807 Consider file descriptors limits (emfile) as a fatal error
+ and do not delete log files. Previously the error was seen as
+ a corrupted disk and the log files deleted which caused data
+ loss.
+
+--- observer-2.1 --------------------------------------------------------
+
+ OTP-12363 Added display of new crashdump information available in
+ crashdumps from Erlang/OTP 18.
+
+ OTP-12401 Show run queue status in crashdump viewer.
+
+ OTP-12504 Added the possibility to view sasl log entries for processes.
+
+ OTP-12631 Add memory allocator usage and utilization graphs.
+
+ OTP-12819 Don't refresh observer table view if there was no change
+
+--- odbc-2.11 -----------------------------------------------------------
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- orber-3.8 -----------------------------------------------------------
+
+ OTP-12687 Remove the usage of erlang:now() from all Corba applications
+ and use the new rand module instead of random.
+
+--- os_mon-2.4 ----------------------------------------------------------
+
+ OTP-12730 cpu_sup should use native sysctl/libkvm calls on BSD
+
+ This avoids forking off with os:cmd every time we just want
+ to collect the load averages. riak does this every second,
+ which results in a lot of unnecessary load.
+
+ OTP-12796 Implement native cpu_sup:util/0,1 for FreeBSD
+
+--- ose-1.1 -------------------------------------------------------------
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- otp_mibs-1.1 --------------------------------------------------------
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- parsetools-2.1 ------------------------------------------------------
+
+ OTP-12271 The new -dialyzer() attribute is used for suppressing
+ Dialyzer warnings in generated code.
+
+--- percept-0.8.11 ------------------------------------------------------
+
+ OTP-12662 Fix http server configuration
+
+--- public_key-1.0 ------------------------------------------------------
+
+ OTP-12110 public_key: Remove legacy switch compact_bit_string
+
+ E.i bitstrings will not be decode as {Unused, Binary}, they
+ are now Erlang bitstrings.
+
+ Also the compact_bit_string implies the legacy_erlang_types
+ switch So removing the switch will also make OCTET STRING
+ values be represented as binaries.
+
+ Undecoded open type will now be wrapped in a asn1_OPENTYPE
+ tuple.
+
+ This will change some values in records returned by the
+ public_key API making this change a potentiall
+ incompatibility.
+
+--- reltool-0.7 ---------------------------------------------------------
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- runtime_tools-1.9 ---------------------------------------------------
+
+ OTP-12845 Change license text from Erlang Public License to Apache
+ Public License v2
+
+--- sasl-2.5 ------------------------------------------------------------
+
+ OTP-11540 The undocumented upgrade instruction
+ <code>{remove_module,PrePurge,PostPurge,DepMods}</code> is
+ removed. This instruction was added for symmetry reasons in
+ OTP R7B, but was never documented or tested.
+
+ The existing instruction
+ <code>{add_module,Mod,DepMods}</code> is now documented, and
+ the complementing instruction
+ <code>{delete_module,Mod,DepMods}</code> is added.
+
+ OTP-12778 The sasl_error_logger configuration parameter now supports
+ the value {file,FileName,Modes} which allows the log file to
+ be opened in other mode than write (for example, append
+ mode).
+
+--- snmp-5.2 ------------------------------------------------------------
+
+ OTP-12762 The runtime dependencies in the application resource file
+ have been updated.
+
+--- ssh-4.0 -------------------------------------------------------------
+
+ OTP-11697 Better usage of binary matching in ssh_auth.erl and
+ ssh_message.erl
+
+ OTP-12029 A new option 'preferred_algorithms' is available for
+ ssh:daemon and ssh:connect.
+
+ This option defines the algorithms presented to the peer in
+ the algorithm negotiation phase of the ssh protocol.
+
+ The default list can be obtained from the new function
+ ssh:default_algorithms/0.
+
+ OTP-12240 The internal group to user_drv protocol has been changed to
+ be synchronous in order to guarantee that output sent to a
+ process implementing the user_drv protocol is printed before
+ replying. This protocol is used by the standard_output device
+ and the ssh application when acting as a client.
+
+ This change changes the previous unlimited buffer when
+ printing to standard_io and other devices that end up in
+ user_drv to 1KB.
+
+ OTP-12648 If ssh_connection:subsystem/4 fails we terminates gracefully.
+
+ OTP-12649 Included test of the 'e' and 'f' parameters in diffie-hellman
+ key exchange as specified in rfc 4253 section 8.
+
+ OTP-12675 To enable the ssh daemon to run in a virtualized environment,
+ where there can be more that one server that has the same
+ ip-address and port, we add a new option profile.
+
+ OTP-12676 Upgrade test suite added.
+
+ OTP-12692 Fixes the bug that once the rekey_limit bytes (by default,
+ 1GB) had been transmitted the connection was rekeyed every
+ minute, not after the next transferred 'rekey_limit' chunk.
+
+ Thanks to Simon Cornish for the report and the fix!
+
+ OTP-12708 Fixes a bug that causes an SFTP connection to always fail
+ when {timeout, Timeout} option is used with
+ ssh_sftp:start_channel.
+
+ Thanks to Simon Cornish
+
+ OTP-12760 Fix various ssh key exchange problems.
+
+ Thanks to Simon Cornish
+
+ OTP-12786 Testcase improvements and corrections:
+
+ * Add testcases for the disconnectfun option on both server
+ and client sides
+
+ * Timeout testcases adjusted for slow machines where they
+ sometimes failed
+
+ OTP-12788 The options system_dir and user_dir assumes that the value is
+ a path to a directory which is readable. This is now checked
+ early, so ssh:daemon and ssh:connect will fail with an error
+ message immediately.
+
+ OTP-12789 The option disconnectfun can now be used both on the client
+ and server side.
+
+ OTP-12790 A daemon now checks that a client doesn't try to authorize
+ with methods not in the option auth_methods.
+
+ OTP-12811 Disconnectfun now triggers on all disconnects.
+
+ OTP-12813 A new option unknown_msgfun/2 for ssh:connect and ssh:daemon
+ for handling unknown messages. With the option it is possible
+ to intercept before an INFO log message is generated.
+
+ One usage is to filter out messages that are not wanted in
+ the error logger as info reports. An example of such a
+ message is the 'etimedout' tcp error message that will be
+ received if a connection has keep_alive and the peer is
+ restarted.
+
+--- ssl-7.0 -------------------------------------------------------------
+
+ OTP-10362 Add new API functions to handle CRL-verification
+
+ OTP-12390 Remove default support for SSL-3.0, due to Poodle vunrability
+ in protocol specification.
+
+ Add padding check for TLS-1.0 to remove Poodle vunrability
+ from TLS 1.0, also add the option padding_check. This option
+ only affects TLS-1.0 connections and if set to false it
+ disables the block cipher padding check to be able to
+ interoperate with legacy software.
+
+ Remove default support for RC4 cipher suites, as they are
+ consider too weak.
+
+ OTP-12580 Add support for TLS ALPN (Application-Layer Protocol
+ Negotiation) extension.
+
+ OTP-12670 Ignore signature_algorithm (TLS 1.2 extension) sent to TLS
+ 1.0 or TLS 1.1 server
+
+ OTP-12736 Add SNI (Server Name Indication) support for the server side.
+
+ OTP-12799 Improve error handling in TLS distribution module to avoid
+ lingering sockets.
+
+ OTP-12815 Add option {client_renegotiation, boolean()} option to the
+ server-side of the SSL application.
+
+ OTP-12829 Gracefully ignore proprietary hash_sign algorithms
+
+--- stdlib-2.5 ----------------------------------------------------------
+
+ OTP-11043 Allow maps for supervisor flags and child specs
+
+ Earlier, supervisor flags and child specs were given as
+ tuples. While this is kept for backwards compatibility, it is
+ now also allowed to give these parameters as maps, see
+ sup_flags and child_spec.
+
+ OTP-11173 A new system message, terminate, is added. This can be sent
+ with sys:terminate/2,3. If the receiving process handles
+ system messages properly it will terminate shortly after
+ receiving this message.
+
+ The new function proc_lib:stop/1,3 utilizes this new system
+ message and monitors the receiving process in order to
+ facilitate a synchronous stop mechanism for 'special
+ processes'.
+
+ proc_lib:stop/1,3 is used by the following functions:
+
+ -- gen_server:stop/1,3 (new)
+
+ -- gen_fsm:stop/1,3 (new)
+
+ -- gen_event:stop/1,3 (modified to be synchronous)
+
+ -- wx_object:stop/1,3 (new)
+
+ OTP-11907 Remove the pg module, which has been deprecated through
+ OTP-17, is now removed from the STDLIB application. This
+ module has been marked experimental for more than 15 years,
+ and has largely been superseded by the pg2 module from the
+ Kernel application.
+
+ OTP-12151 New BIF: erlang:get_keys/0, lists all keys associated with
+ the process dictionary. Note: erlang:get_keys/0 is
+ auto-imported.
+
+ OTP-12158 Fix handling of single dot in filename:join/2
+
+ The reference manual says that filename:join(A,B) is
+ equivalent to filename:join([A,B]). In some rare cases this
+ turns out not to be true. For example:
+
+ filename:join("/a/.","b") -> "/a/./b" vs
+ filename:join(["/a/.","b"]) -> "/a/b".
+
+ This has been corrected. A single dot is now only kept if it
+ occurs at the very beginning or the very end of the resulting
+ path.
+
+ OTP-12167 Add three new functions to io_lib-- scan_format/2,
+ unscan_format/1, and build_text/1-- which expose the parsed
+ form of the format control sequences to make it possible to
+ easily modify or filter the input to io_lib:format/2. This
+ can e.g. be used in order to replace unbounded-size control
+ sequences like ~w or ~p with corresponding depth-limited ~W
+ and ~P before doing the actual formatting.
+
+ OTP-12183 The undocumented option generic_debug for gen_server has been
+ removed.
+
+ OTP-12186 erl_lint:icrt_export/4 has been rewritten to make the code
+ really follow the scoping rules of Erlang, and not just in
+ most situations by accident.
+
+ OTP-12195 Introduce the erl_anno module, an abstraction of the second
+ element of tokens and tuples in the abstract format.
+
+ OTP-12218 Support variables as Map keys in expressions and patterns
+
+ Erlang will accept any expression as keys in Map expressions
+ and it will accept literals or bound variables as keys in Map
+ patterns.
+
+ OTP-12257 The last traces of Mnemosyne Rules have been removed.
+
+ OTP-12270 Properly support maps in match_specs
+
+ OTP-12301 Add 'trim_all' option to binary:split/3
+
+ This option can be set to remove _ALL_ empty parts of the
+ result of a call to binary:split/3.
+
+ OTP-12309 New function ets:take/2. Works the same as ets:delete/2 but
+ also returns the deleted object(s).
+
+ OTP-12376 ets:info/1,2 now contains information about whether
+ write_concurrency or read_concurrency is enabled.
+
+ OTP-12422 string:tokens/2 is somewhat faster, especially if the list of
+ separators only contains one separator character.
+
+ OTP-12492 The documentation of the Abstract Format (in the ERTS User's
+ Guide) has been updated with types and specification. (Thanks
+ to Anthony Ramine.)
+
+ The explicit representation of parentheses used in types of
+ the abstract format has been removed. Instead the new
+ functions erl_parse:type_inop_prec() and
+ erl_parse:type_preop_prec() can be used for inserting
+ parentheses where needed.
+
+ OTP-12566 Prevent zip:zip_open/[12] from leaking file descriptors if
+ parent process dies.
+
+ OTP-12586 Add a new random number generator, see rand module. It have
+ better characteristics and an improved interface.
+
+ OTP-12651 Correct orddict(3) regarding evaluation order of fold() and
+ map().
+
+ OTP-12657 Correct maps module error exceptions
+
+ Bad input to maps module function will now yield the
+ following exceptions:
+
+ -- {badmap,NotMap} or,
+
+ -- badarg
+
+ OTP-12673 It is now possible to paste text in JCL mode (using Ctrl-Y)
+ that has been copied in the previous shell session. Also a
+ bug that caused the JCL mode to crash when pasting text has
+ been fixed.
+
+ OTP-12716 filename:split/1 when given an empty binary will now return
+ an empty list, to make it consistent with return value when
+ given an empty list.
+
+ OTP-12737 Add sync option to ets:tab2file/3.
+
+ OTP-12742 Add functions gb_sets:iterator_from() and
+ gb_trees:iterator_from(). (Thanks to Kirill Kinduk.)
+
+ OTP-12745 Add maps:filter/2 to maps module.
+
+ OTP-12752 Add uptime() shell command.
+
+ OTP-12754 Cache nowarn_bif_clash functions in erl_lint.
+
+ This patch stores nowarn_bif_clash in the lint record. By
+ using erlc +'{eprof,lint_module}' when compiling the erlang
+ parser, we noticed the time spent on nowarn_function/2
+ reduced from 30% to 0.01%.
+
+ OTP-12772 Optimize the Erlang Code Linter by using the cached filename
+ information.
+
+ OTP-12774 Change some internal data structures to Maps in order to
+ speed up compilation time. Measured speed up is around
+ 10%-15%.
+
+ OTP-12785 Update orddict to use parameterized types and specs. (Thanks
+ to UENISHI Kota.)
+
+ OTP-12793 If a child of a simple_one_for_one returns ignore from its
+ start function no longer store the child for any restart
+ type. It is not possible to restart or delete the child
+ because the supervisor is a simple_one_for_one.
+
+ OTP-12808 The assert macros in eunit has been moved out to
+ stdlib/include/assert.hrl. This files get included by
+ eunit.hrl. Thus, nothing changes for eunit users, but the
+ asserts can now also be included separately.
+
+ OTP-12814 Make ets:file2tab preserve enabled read_concurrency and
+ write_concurrency options for tables.
+
+ OTP-12841 There are many cases where user code needs to be able to
+ distinguish between a socket that was closed normally and one
+ that was aborted. Setting the option {show_econnreset, true}
+ enables the user to receive ECONNRESET errors on both active
+ and passive sockets.
+
+--- syntax_tools-1.7 ----------------------------------------------------
+
+ OTP-12732 Use the new erl_anno module.
+
+ OTP-12769 The merl module has been added to the syntax_tools
+ application. The Merl library is a simpler way to work with
+ erl_syntax parse trees.
+
+--- test_server-3.9 -----------------------------------------------------
+
+ OTP-10816 The status of an aborted test due to test suite compilation
+ error has changed from 'auto_skipped' to 'failed'. This
+ affects both the textual log file, event handling and CT hook
+ callbacks. The logging of compilation failures has also been
+ improved, especially in the case of multiple test suites
+ failing compilation.
+
+ OTP-10923 The Test Server application has been marked as obsolete and
+ will be removed from OTP in the next major release (OTP
+ 19.0).
+
+ OTP-11962 When running OTP tests using the ts interface, it is now
+ possible to specify so called test categories per OTP
+ application. A test category is represented by a CT test
+ specification and defines an arbitrary subset of existing
+ test suites, groups and cases. Examples of test categories
+ are 'smoke' (smoke tests) and 'bench' (benchmarks). (Call
+ ts:help() for more info). Also, functions for reading terms
+ from the current test specification during test,
+ ct:get_testspec_terms/0 and ct:get_testspec_terms/1, have
+ been implemented.
+
+ OTP-12740 The Test Server source code parser (erl2html2) failed to
+ handle the macro tuple in the syntax tree returned by
+ epp_dodger. This error has been corrected.
+
+--- tools-2.8 -----------------------------------------------------------
+
+ OTP-11043 Allow maps for supervisor flags and child specs
+
+ Earlier, supervisor flags and child specs were given as
+ tuples. While this is kept for backwards compatibility, it is
+ now also allowed to give these parameters as maps, see
+ sup_flags and child_spec.
+
+ OTP-12330 In order to improve performance of the cover tool, new
+ functions are added for cover compilation and analysis on
+ multiple files. This allows for more parallelisation.
+
+ Some improvements of the data base access is also done in
+ order to improve the performance when analysing and resetting
+ cover data.
+
+ Minor incompatibility: An error reason from analyse_to_file
+ is changed from no_source_code_found to
+ {no_source_code_found,Module}.
+
+ OTP-12511 Remove Mnemosyne rules support.
+
+ OTP-12681 Add printout of total number of calls and time in eprof
+
+ OTP-12806 Attempting to do a cover analysis when neither source code
+ nor beam file could be found would hang the cover server.
+ Corrected to return a proper error.
+
+--- typer-0.9.9 ---------------------------------------------------------
+
+ OTP-12727 Properly extract annotations from core code.
+
+--- webtool-0.9 ---------------------------------------------------------
+
+ OTP-10922 The Webtool application has been marked as obsolete and will
+ be removed from OTP in the next major release (OTP 19.0).
+
+--- wx-1.4 --------------------------------------------------------------
+
+ OTP-12183 The undocumented option generic_debug for gen_server has been
+ removed.
+
+ OTP-12632 Use wxWidgets-3.0, if found, as default backend on windows.
+
+ OTP-12660 Add missing fields in some events records. May require a
+ recompilation of user applications.
+
+ OTP-12734 Remove raise condition where wx could crash during emulator
+ stoppage.
+
+--- xmerl-1.3.8 ---------------------------------------------------------
+
+ OTP-12689 Remove compiler warnings in xmerl.
+
+--- Open Source Contributors --------------------------------------------
+
+ Alex Wilson, Andras Horvath, Andreas Amsenius, Andreas Schultz,
+ András Veres-Szentkirályi, Anthony Ramine, Breno Leitao, Chris Dituri,
+ Christopher Faulet, Daniel White, David Kubecka, David N. Welton,
+ Derek Brown, Dmitriy Kargapolov, Dmitry Ivanov, Fred Hebert,
+ Holger Weiß, James Fish, Jesper Louis Andersen, Johan Oudinet,
+ Jonas Falkevik, José Valim, Jérôme de Bretagne, Kenji Rikitake,
+ Kirill Zaborsky, Kirilll Zaborsky, Kostis Sagonas, Larry, Leo Liu,
+ Loïc Hoguin, Magnus Henoch, Magnus Ottenklinger, Marc Sugiyama,
+ Martin Hässler, Martin Schürrer, Maxim Mai, Michael Klishin,
+ Mikael Pettersson, Nate Bartley, Nick Mills, Olivier Girondel,
+ Peter Lemenkov, Péter Gömöri, Qijiang Fan, Richard Carlsson,
+ Rory Byrne, Serge Aleynikov, Simon Cornish, Stavros Aronis,
+ Stefan Grundmann, Steve Vinoski, Tom Briden, Tomas Abrahamsson,
+ Tuncer Ayaz, UENISHI Kota, Ulf Wiger, Vlad Dumitrescu, Wasif Malik,
+ Wasif Malik and Johannes Huning, Yoshihiro Tanaka, Yuki Ito, andreaP,
+ beaver, crownedgrouse, jeffweiss, larry, tmanevik, xsipewe,
+ Сергей Прохоров
diff --git a/release-notes/OTP-18.1.1.README.txt b/release-notes/OTP-18.1.1.README.txt
new file mode 100644
index 0000000..d6a061a
--- /dev/null
+++ b/release-notes/OTP-18.1.1.README.txt
@@ -0,0 +1,69 @@
+Patch Package: OTP 18.1.1
+Git Tag: OTP-18.1.1
+Date: 2015-10-06
+Trouble Report Id: OTP-13013, OTP-13022, OTP-13025
+Seq num: seq12957
+System: OTP
+Release: 18
+Application: inets-6.0.2, mnesia-4.13.2
+Predecessor: OTP 18.1
+
+ Check out the git tag OTP-18.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.0.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.0.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13022 Application(s): inets
+
+ Avoid crash in mod_auth_server and mod_security_server
+ due to using an atom instead of a string when creating
+ a name.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13013 Application(s): inets
+
+ Add function response_default_headers/0 to httpd
+ customize API, to allow user to specify default values
+ for HTTP response headers.
+
+
+ Full runtime dependencies of inets-6.0.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.13.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.13.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13025 Application(s): mnesia
+ Related Id(s): seq12957
+
+ Fixed a process and file descriptor leak in
+ mnesia:restore/2.
+
+
+ Full runtime dependencies of mnesia-4.13.2: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.1.2.README.txt b/release-notes/OTP-18.1.2.README.txt
new file mode 100644
index 0000000..a7e68c1
--- /dev/null
+++ b/release-notes/OTP-18.1.2.README.txt
@@ -0,0 +1,39 @@
+Patch Package: OTP 18.1.2
+Git Tag: OTP-18.1.2
+Date: 2015-10-14
+Trouble Report Id: OTP-13036
+Seq num:
+System: OTP
+Release: 18
+Application: ssh-4.1.1
+Predecessor: OTP 18.1.1
+
+ Check out the git tag OTP-18.1.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.1.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13036 Application(s): ssh
+
+ A new option max_channels limits the number of channels
+ with active server-side subsystems that are accepted.
+
+
+ Full runtime dependencies of ssh-4.1.1: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.1.3.README.txt b/release-notes/OTP-18.1.3.README.txt
new file mode 100644
index 0000000..50617c0
--- /dev/null
+++ b/release-notes/OTP-18.1.3.README.txt
@@ -0,0 +1,39 @@
+Patch Package: OTP 18.1.3
+Git Tag: OTP-18.1.3
+Date: 2015-10-16
+Trouble Report Id: OTP-13046
+Seq num:
+System: OTP
+Release: 18
+Application: ssh-4.1.2
+Predecessor: OTP 18.1.2
+
+ Check out the git tag OTP-18.1.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.1.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.1.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13046 Application(s): ssh
+
+ Add a 1024 group to the list of key group-exchange
+ groups
+
+
+ Full runtime dependencies of ssh-4.1.2: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.1.4.README.txt b/release-notes/OTP-18.1.4.README.txt
new file mode 100644
index 0000000..5bf48e9
--- /dev/null
+++ b/release-notes/OTP-18.1.4.README.txt
@@ -0,0 +1,63 @@
+Patch Package: OTP 18.1.4
+Git Tag: OTP-18.1.4
+Date: 2015-11-13
+Trouble Report Id: OTP-13061, OTP-13062
+Seq num:
+System: OTP
+Release: 18
+Application: inets-6.0.3
+Predecessor: OTP 18.1.3
+
+ Check out the git tag OTP-18.1.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-13062 Application(s): inets
+
+ Add possibility to set socket options, such as nodelay,
+ for httpd. Also phase out legacy option value inet6bf4
+ for the ipfamily option. This value will be translated
+ to the value inet.
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.0.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.0.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13061 Application(s): inets
+
+ Improved error handling and gracfully termination when
+ an invalid chunked length header is encountered.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13062 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Add possibility to set socket options, such as nodelay,
+ for httpd. Also phase out legacy option value inet6bf4
+ for the ipfamily option. This value will be translated
+ to the value inet.
+
+
+ Full runtime dependencies of inets-6.0.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.1.5.README.txt b/release-notes/OTP-18.1.5.README.txt
new file mode 100644
index 0000000..10aaa0d
--- /dev/null
+++ b/release-notes/OTP-18.1.5.README.txt
@@ -0,0 +1,39 @@
+Patch Package: OTP 18.1.5
+Git Tag: OTP-18.1.5
+Date: 2015-11-27
+Trouble Report Id: OTP-13140
+Seq num:
+System: OTP
+Release: 18
+Application: ssh-4.1.3
+Predecessor: OTP 18.1.4
+
+ Check out the git tag OTP-18.1.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.1.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.1.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Known Bugs and Problems ---
+
+ OTP-13140 Application(s): ssh
+
+ SSH_MSG_KEX_DH_GEX_REQUEST_OLD implemented to make
+ PuTTY work with erl server.
+
+
+ Full runtime dependencies of ssh-4.1.3: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.1.README.txt b/release-notes/OTP-18.1.README.txt
new file mode 100644
index 0000000..51f1be7
--- /dev/null
+++ b/release-notes/OTP-18.1.README.txt
@@ -0,0 +1,990 @@
+Patch Package: OTP 18.1
+Git Tag: OTP-18.1
+Date: 2015-09-22
+Trouble Report Id: OTP-11397, OTP-11531, OTP-12230, OTP-12622,
+ OTP-12671, OTP-12672, OTP-12831, OTP-12832,
+ OTP-12853, OTP-12858, OTP-12864, OTP-12865,
+ OTP-12866, OTP-12870, OTP-12871, OTP-12875,
+ OTP-12879, OTP-12891, OTP-12898, OTP-12901,
+ OTP-12902, OTP-12911, OTP-12912, OTP-12922,
+ OTP-12934, OTP-12935, OTP-12937, OTP-12938,
+ OTP-12940, OTP-12943, OTP-12944, OTP-12945,
+ OTP-12946, OTP-12947, OTP-12948, OTP-12949,
+ OTP-12950, OTP-12952, OTP-12954, OTP-12961,
+ OTP-12962, OTP-12963, OTP-12964, OTP-12965,
+ OTP-12967, OTP-12968, OTP-12969, OTP-12971,
+ OTP-12972, OTP-12973, OTP-12974, OTP-12976,
+ OTP-12977, OTP-12980, OTP-12981, OTP-12984,
+ OTP-12986, OTP-12987, OTP-12988, OTP-12989,
+ OTP-12990
+Seq num: seq12878, seq12891, seq12900, seq12906,
+ seq12947
+System: OTP
+Release: 18
+Application: compiler-6.0.1, crypto-3.6.1, debugger-4.1.1,
+ dialyzer-2.8.1, diameter-1.11, erts-7.1,
+ eunit-2.2.11, hipe-3.13, inets-6.0.1,
+ kernel-4.1, mnesia-4.13.1, odbc-2.11.1,
+ public_key-1.0.1, sasl-2.6, ssh-4.1, ssl-7.1,
+ stdlib-2.6, tools-2.8.1, wx-1.5
+Predecessor: OTP 18.0.3
+
+ Check out the git tag OTP-18.1, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-11397 Application(s): ssl
+
+ Add possibility to downgrade an SSL/TLS connection to a
+ tcp connection, and give back the socket control to a
+ user process.
+
+ This also adds the possibility to specify a timeout to
+ the ssl:close function.
+
+
+ OTP-12622 Application(s): ssh
+ Related Id(s): OTP-12671, OTP-12672
+
+ The key exchange algorithms 'ecdh-sha2-nistp256',
+ 'ecdh-sha2-nistp384' and 'ecdh-sha2-nistp521' are
+ implemented. See RFC 5656.
+
+ This raises the security level considerably.
+
+
+ OTP-12671 Application(s): ssh
+ Related Id(s): OTP-12622, OTP-12672
+
+ The key exchange algorithm
+ 'diffie-hellman-group14-sha1' is implemented. See RFC
+ 4253.
+
+ This raises the security level.
+
+
+ OTP-12672 Application(s): ssh
+ Related Id(s): OTP-12622, OTP-12671
+
+ The key exchange algorithms
+ 'diffie-hellman-group-exchange-sha1' and
+ 'diffie-hellman-group-exchange-sha256' are implemented.
+ See RFC 4419.
+
+ This raises the security level.
+
+
+ OTP-12864 Application(s): kernel, sasl, stdlib
+
+ A mechanism for limiting the amount of text that the
+ built-in error logger events will produce has been
+ introduced. It is useful for limiting both the size of
+ log files and the CPU time used to produce them.
+
+ This mechanism is experimental in the sense that it may
+ be changed if it turns out that it does not solve the
+ problem it is supposed to solve. In that case, there
+ may be backward incompatible improvements to this
+ mechanism.
+
+ See the documentation for the config parameter
+ error_logger_format_depth in the Kernel application for
+ information about how to turn on this feature.
+
+
+ OTP-12864 Application(s): kernel, sasl, stdlib
+
+ A mechanism for limiting the amount of text that the
+ built-in error logger events will produce has been
+ introduced. It is useful for limiting both the size of
+ log files and the CPU time used to produce them.
+
+ This mechanism is experimental in the sense that it may
+ be changed if it turns out that it does not solve the
+ problem it is supposed to solve. In that case, there
+ may be backward incompatible improvements to this
+ mechanism.
+
+ See the documentation for the config parameter
+ error_logger_format_depth in the Kernel application for
+ information about how to turn on this feature.
+
+
+ OTP-12864 Application(s): kernel, sasl, stdlib
+
+ A mechanism for limiting the amount of text that the
+ built-in error logger events will produce has been
+ introduced. It is useful for limiting both the size of
+ log files and the CPU time used to produce them.
+
+ This mechanism is experimental in the sense that it may
+ be changed if it turns out that it does not solve the
+ problem it is supposed to solve. In that case, there
+ may be backward incompatible improvements to this
+ mechanism.
+
+ See the documentation for the config parameter
+ error_logger_format_depth in the Kernel application for
+ information about how to turn on this feature.
+
+
+ ---------------------------------------------------------------------
+ --- compiler-6.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-6.0.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12967 Application(s): compiler
+
+ Fix get_map_elements register corruption
+
+ Instruction get_map_elements might destroy target
+ registers when the fail-label is taken. Only seen for
+ patterns with two, and only two, target registers.
+ Specifically if we copy one register and then jump.
+
+
+ Full runtime dependencies of compiler-6.0.1: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.6.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.6.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12944 Application(s): crypto
+
+ Make crypto:ec_curves/0 return empty list if elliptic
+ curve is not supported at all.
+
+
+ Full runtime dependencies of crypto-3.6.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12911 Application(s): debugger
+ Related Id(s): seq12906
+
+ Fix crash when starting a quick debugging session.
+ Thanks Alan Duffield.
+
+
+ Full runtime dependencies of debugger-4.1.1: compiler-5.0, erts-6.0,
+ kernel-3.0, stdlib-2.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-2.8.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-2.8.1 application can *not* be applied
+ independently of other applications on an arbitrary OTP 18
+ installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.13 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12865 Application(s): dialyzer
+
+ Improve the translation of forms to types.
+
+
+ OTP-12866 Application(s): dialyzer
+
+ Fix a bug concerning parameterized opaque types.
+
+
+ OTP-12940 Application(s): dialyzer
+
+ Fix a bug concerning parameterized opaque types.
+
+
+ OTP-12948 Application(s): dialyzer, hipe
+
+ Fix bugs concerning erlang:abs/1.
+
+
+ OTP-12949 Application(s): dialyzer, hipe
+
+ Fix a bug concerning lists:keydelete/3 with union and
+ opaque types.
+
+
+ OTP-12964 Application(s): dialyzer
+ Related Id(s): OTP-12962, OTP-12963
+
+ Use new function hipe:erts_checksum to get correct
+ runtime checksum for cached beam files.
+
+
+ Full runtime dependencies of dialyzer-2.8.1: compiler-5.0, erts-7.0,
+ hipe-3.13, kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.11 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.11 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12879 Application(s): diameter
+ Related Id(s): OTP-12475
+
+ Fix relay encode of nested, Grouped AVPs.
+
+ A fault in OTP-12475 caused encode to fail if the first
+ AVP in a Grouped AVP was itself Grouped.
+
+
+ OTP-12902 Application(s): diameter
+
+ Match acceptable peer addresses case insensitively.
+
+ Regular expressions passed in an 'accept' tuple to
+ diameter_tcp or diameter_sctp inappropriately matched
+ case.
+
+
+ OTP-12969 Application(s): diameter
+
+ Fix diameter_watchdog function clause.
+
+ OTP-12912 introduced an error with accepting transports
+ setting {restrict_connections, false}, causing
+ processes to fail when peer connections were
+ terminated.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12871 Application(s): diameter
+
+ Don't report 5005 (DIAMETER_AVP_MISSING) errors
+ unnecessarily.
+
+ An AVP whose decode failed was reported as missing,
+ despite having been reported with another error as a
+ consequence of the failure.
+
+
+ OTP-12891 Application(s): diameter
+
+ Improve decode performance.
+
+ The time required to decode a message increased
+ quadratically with the number of AVPs in the worst
+ case, leading to extremely long execution times.
+
+
+ OTP-12912 Application(s): diameter
+
+ Improve watchdog and statistics performance.
+
+ Inefficient use of timers contributed to poor
+ performance at high load, as did ordering of the table
+ statistics are written to.
+
+
+ OTP-12947 Application(s): diameter
+
+ Add service_opt() strict_mbit.
+
+ There are differing opinions on whether or not
+ reception of an arbitrary AVP setting the M-bit is an
+ error. The default interpretation is strict: if a
+ command grammar doesn't explicitly allow an AVP setting
+ the M-bit then reception of such an AVP is regarded as
+ an error. Setting {strict_mbit, false} disables this
+ check.
+
+
+ Full runtime dependencies of diameter-1.11: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-7.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12870 Application(s): erts
+
+ Fix bug in ETS that could cause stray objects marked
+ for deletion to occasionally be missed by the cleanup
+ done by safe_fixtable(_,false).
+
+
+ OTP-12901 Application(s): erts
+
+ Fixed VM crash that could occur if a trace port was
+ linked to a process, and the trace port terminated
+ abnormally while handling a trace message. This bug has
+ always existed in the runtime system with SMP support.
+
+
+ OTP-12934 Application(s): erts
+
+ Instead of aborting, the vm now creates a crash dump
+ when a system process is terminated.
+
+
+ OTP-12943 Application(s): erts
+
+ Fixed a rare emulator dead lock that occurred when
+ erlang:process_flag(priority,...) was called by a
+ process that was also scheduled for an internal system
+ activity.
+
+
+ OTP-12954 Application(s): erts
+
+ The runtime system on various posix platforms (except
+ for Linux and Solaris) could crash when large amounts
+ of file-descriptors were in use.
+
+
+ OTP-12962 Application(s): erts, hipe
+
+ A beam file compiled by hipe for an incompatible
+ runtime system was sometimes not rejected by the
+ loader, which could lead to vm crash. This fix will
+ also allow the same hipe compiler to be used by both
+ normal and debug-built vm.
+
+
+ OTP-12965 Application(s): erts
+
+ Fix bug in maps:merge/2 when called by hipe compiled
+ code that could cause vm crash. Bug exists since
+ erts-7.0 (OTP 18.0).
+
+
+ OTP-12968 Application(s): erts
+
+ When tracing with process_dump option, the VM could
+ abort if there was an ongoing binary match somewhere in
+ the call stack of the traced process.
+
+
+ OTP-12987 Application(s): erts
+ Related Id(s): seq12947
+
+ Fixed possible output deadlock in tty driver when
+ hitting "CTRL-C" in a non-smp emulator shell on unix.
+
+
+ OTP-12988 Application(s): erts
+
+ Fix binary_to_integer to throw badarg for "+" and "-"
+ similar to list_to_integer.
+
+
+ OTP-12989 Application(s): erts
+
+ Suppress warning of unused argument when using macro
+ enif_make_pid.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12945 Application(s): erts
+ Related Id(s): OTP-12892
+
+ Changed default clock source used for OS system time on
+ MacOS X to gettimeofday() in order to improve
+ performance. The system can be configured during build
+ to use the previously used higher resolution clock
+ source by passing the switch
+ --with-clock-resolution=high when configuring the
+ build.
+
+
+ OTP-12971 Application(s): erts
+
+ Added the configure option --disable-saved-compile-time
+ which disables saving of compile date and time in the
+ emulator binary.
+
+
+ Full runtime dependencies of erts-7.1: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.2.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.2.11 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12952 Application(s): eunit
+
+ Improve success message when 2 tests have passed
+
+
+ Full runtime dependencies of eunit-2.2.11: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.13 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The hipe-3.13 application can *not* be applied independently of
+ other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-7.1 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12948 Application(s): dialyzer, hipe
+
+ Fix bugs concerning erlang:abs/1.
+
+
+ OTP-12949 Application(s): dialyzer, hipe
+
+ Fix a bug concerning lists:keydelete/3 with union and
+ opaque types.
+
+
+ OTP-12962 Application(s): erts, hipe
+
+ A beam file compiled by hipe for an incompatible
+ runtime system was sometimes not rejected by the
+ loader, which could lead to vm crash. This fix will
+ also allow the same hipe compiler to be used by both
+ normal and debug-built vm.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12963 Application(s): hipe
+ Related Id(s): OTP-12962, OTP-12964
+
+ New function hipe:erts_checksum/0 which returns a value
+ identifying the target runtime system for the compiler.
+ Used by dialyzer for its beam cache directory.
+
+
+ Full runtime dependencies of hipe-3.13: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.0.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.0.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12875 Application(s): inets
+ Related Id(s): seq12878
+
+ Fix broken socket feature, that is on Linux systems a
+ socket may be opened before starting Erlang and then
+ passed to Erlang's httpd daemon. This is useful as the
+ wrap program can open a privileged port and Erlang does
+ not have to be run as root.
+
+
+ OTP-12898 Application(s): inets
+ Related Id(s): seq12900
+
+ Fix broken socket feature, that is on Linux systems a
+ socket may be opened before starting Erlang and then
+ passed to Erlangs tftp daemon. This is useful as the
+ wrap program can open a privileged port and Erlang does
+ not have to be run as root.
+
+
+ OTP-12922 Application(s): inets
+
+ httpc_handler should react properly to cancel requests
+ even when the request to be canceled was already
+ finished but httpc_manager did not get notified about
+ that yet.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12976 Application(s): inets
+
+ Added format_status function to httpd process to avoid
+ sensitive information to be printed in supervisor logs.
+
+
+ OTP-12984 Application(s): inets
+
+ Return meaningful error reason disregarding whether a
+ http proxy is used or not.
+
+
+ Full runtime dependencies of inets-6.0.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-4.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-4.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- sasl-2.6 (first satisfied in OTP 18.1)
+ -- stdlib-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-12864 Application(s): kernel, sasl, stdlib
+
+ *** HIGHLIGHT ***
+
+ A mechanism for limiting the amount of text that the
+ built-in error logger events will produce has been
+ introduced. It is useful for limiting both the size of
+ log files and the CPU time used to produce them.
+
+ This mechanism is experimental in the sense that it may
+ be changed if it turns out that it does not solve the
+ problem it is supposed to solve. In that case, there
+ may be backward incompatible improvements to this
+ mechanism.
+
+ See the documentation for the config parameter
+ error_logger_format_depth in the Kernel application for
+ information about how to turn on this feature.
+
+
+ Full runtime dependencies of kernel-4.1: erts-7.0, sasl-2.6,
+ stdlib-2.6
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.13.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.13.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12972 Application(s): mnesia
+
+ Improved index updates to avoid a timing glitch in
+ dirty_index_read.
+
+
+ Full runtime dependencies of mnesia-4.13.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.11.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.11.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12935 Application(s): odbc
+
+ New application variable to set timeout of internal
+ communication setup between the erlang code and the
+ c-port program that interfaces the odbc driver. This
+ can be useful if you have an underlying system that is
+ slow due to heavy load at startup.
+
+ With this environment variable you can easily bypass
+ and tailor odbc to the needs of the underlying actual
+ system without changing the configuration. Which is a
+ good thing because this value is very system specific.
+
+
+ Full runtime dependencies of odbc-2.11.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.0.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.0.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12986 Application(s): public_key
+
+ Document enhancements
+
+
+ Full runtime dependencies of public_key-1.0.1: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-2.6 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The sasl-2.6 application can *not* be applied independently of
+ other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-4.1 (first satisfied in OTP 18.1)
+ -- stdlib-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-12864 Application(s): kernel, sasl, stdlib
+
+ *** HIGHLIGHT ***
+
+ A mechanism for limiting the amount of text that the
+ built-in error logger events will produce has been
+ introduced. It is useful for limiting both the size of
+ log files and the CPU time used to produce them.
+
+ This mechanism is experimental in the sense that it may
+ be changed if it turns out that it does not solve the
+ problem it is supposed to solve. In that case, there
+ may be backward incompatible improvements to this
+ mechanism.
+
+ See the documentation for the config parameter
+ error_logger_format_depth in the Kernel application for
+ information about how to turn on this feature.
+
+
+ Full runtime dependencies of sasl-2.6: erts-6.0, kernel-4.1,
+ stdlib-2.6, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-11531 Application(s): ssh
+
+ Send an understandable disconnect message when the key
+ exchange phase can't find a common algorithm. There are
+ also some test cases added.
+
+
+ OTP-12853 Application(s): ssh
+ Related Id(s): seq12891
+
+ The third parameter in ssh_sftp:write_file is now
+ accepting iolists again. Unicode handling adjusted.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12230 Application(s): ssh
+
+ First part of ssh test suite re-organization and
+ extension.
+
+
+ OTP-12622 Application(s): ssh
+ Related Id(s): OTP-12671, OTP-12672
+
+ *** HIGHLIGHT ***
+
+ The key exchange algorithms 'ecdh-sha2-nistp256',
+ 'ecdh-sha2-nistp384' and 'ecdh-sha2-nistp521' are
+ implemented. See RFC 5656.
+
+ This raises the security level considerably.
+
+
+ OTP-12671 Application(s): ssh
+ Related Id(s): OTP-12622, OTP-12672
+
+ *** HIGHLIGHT ***
+
+ The key exchange algorithm
+ 'diffie-hellman-group14-sha1' is implemented. See RFC
+ 4253.
+
+ This raises the security level.
+
+
+ OTP-12672 Application(s): ssh
+ Related Id(s): OTP-12622, OTP-12671
+
+ *** HIGHLIGHT ***
+
+ The key exchange algorithms
+ 'diffie-hellman-group-exchange-sha1' and
+ 'diffie-hellman-group-exchange-sha256' are implemented.
+ See RFC 4419.
+
+ This raises the security level.
+
+
+ OTP-12831 Application(s): ssh
+
+ Adding random length extra padding as recommended in
+ RFC 4253 section 6.
+
+
+ OTP-12858 Application(s): ssh
+
+ New test library for low-level protocol testing. There
+ is also a test suite using it for some preliminary
+ tests. The intention is to build on that for more
+ testing of individual ssh messages. See
+ lib/ssh/test/ssh_trpt_test_lib.erl and
+ ssh_protocol_SUITE.erl in the same directory.
+
+
+ OTP-12937 Application(s): ssh
+
+ Increased default values for
+ diffie-hellman-group-exchange-sha* to Min = 1024, N =
+ 6144, Max = 8192.
+
+ Added 6144 and 8192 bit default gex groups.
+
+
+ OTP-12938 Application(s): ssh
+
+ The mac algorithm 'hmac-sha2-512' is implemented. See
+ RFC 6668.
+
+
+ Full runtime dependencies of ssh-4.1: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-7.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12974 Application(s): ssl
+
+ Add DER encoded ECPrivateKey as valid input format for
+ key option.
+
+
+ OTP-12980 Application(s): ssl
+
+ Correct return value of default session callback module
+
+ This error had the symptom that the client check for
+ unique session would always fail, potentially making
+ the client session table grow a lot and causing long
+ setup times.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11397 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Add possibility to downgrade an SSL/TLS connection to a
+ tcp connection, and give back the socket control to a
+ user process.
+
+ This also adds the possibility to specify a timeout to
+ the ssl:close function.
+
+
+ OTP-12832 Application(s): ssl
+
+ Add application setting to be able to change fatal
+ alert shutdown timeout, also shorten the default
+ timeout. The fatal alert timeout is the number of
+ milliseconds between sending of a fatal alert and
+ closing the connection. Waiting a little while improves
+ the peers chances to properly receiving the alert so it
+ may shutdown gracefully.
+
+
+ Full runtime dependencies of ssl-7.1: crypto-3.3, erts-6.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-2.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-2.6 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-4.1 (first satisfied in OTP 18.1)
+ -- sasl-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12946 Application(s): stdlib
+
+ In OTP 18.0, qlc does not handle syntax errors well.
+ This bug has been fixed.
+
+
+ OTP-12950 Application(s): stdlib
+
+ Optimize zip:unzip/2 when uncompressing to memory.
+
+
+ OTP-12973 Application(s): stdlib
+
+ The stdlib reference manual is updated to show correct
+ information about the return value of gen_fsm:reply/2.
+
+
+ OTP-12977 Application(s): stdlib
+
+ re:split2,3 and re:replace/3,4 now correctly handles
+ pre-compiled patterns that have been compiled using the
+ 'unicode' option.
+
+
+ OTP-12990 Application(s): stdlib
+
+ Export shell:catch_exception/1 as documented.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12864 Application(s): kernel, sasl, stdlib
+
+ *** HIGHLIGHT ***
+
+ A mechanism for limiting the amount of text that the
+ built-in error logger events will produce has been
+ introduced. It is useful for limiting both the size of
+ log files and the CPU time used to produce them.
+
+ This mechanism is experimental in the sense that it may
+ be changed if it turns out that it does not solve the
+ problem it is supposed to solve. In that case, there
+ may be backward incompatible improvements to this
+ mechanism.
+
+ See the documentation for the config parameter
+ error_logger_format_depth in the Kernel application for
+ information about how to turn on this feature.
+
+
+ Full runtime dependencies of stdlib-2.6: compiler-5.0, crypto-3.3,
+ erts-7.0, kernel-4.1, sasl-2.6
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.8.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12981 Application(s): tools
+
+ If a module includes eunit.hrl, a parse transform adds
+ the function test/0 on line 0 in the module. A bug in
+ OTP-18.0 caused cover:analyse_to_file/1 to fail to
+ insert cover data in the output file when line 0
+ existed in the cover data table. This is now corrected.
+
+
+ Full runtime dependencies of tools-2.8.1: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5,
+ webtool-0.8.10
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.5 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.5 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12961 Application(s): wx
+
+ Extend AUI functionality.
+
+
+ Full runtime dependencies of wx-1.5: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Attila Gulyas, Constantin Rack, Daniel Goertzen, Eric
+ Meadows-Jönsson, Jimmy Zöger, Kirilll Zaborsky, Leo Liu, Lukas
+ Larsson, Mikael Pettersson, Red, Shane Howley, Stefan Strigler, Yuki
+ Ito, eksperimental, tmanevik
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.2.1.README.txt b/release-notes/OTP-18.2.1.README.txt
new file mode 100644
index 0000000..887a940
--- /dev/null
+++ b/release-notes/OTP-18.2.1.README.txt
@@ -0,0 +1,51 @@
+Patch Package: OTP 18.2.1
+Git Tag: OTP-18.2.1
+Date: 2015-12-18
+Trouble Report Id: OTP-13202, OTP-13204
+Seq num:
+System: OTP
+Release: 18
+Application: erts-7.2.1
+Predecessor: OTP 18.2
+
+ Check out the git tag OTP-18.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-7.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.2.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13202 Application(s): erts
+
+ Revert "Fix erroneous splitting of emulator path"
+
+
+ OTP-13204 Application(s): erts
+ Related Id(s): pr926
+
+ Fix HiPE enabled emulator for FreeBSD.
+
+
+ Full runtime dependencies of erts-7.2.1: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Kenji Rikitake
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.2.2.README.txt b/release-notes/OTP-18.2.2.README.txt
new file mode 100644
index 0000000..2008dd5
--- /dev/null
+++ b/release-notes/OTP-18.2.2.README.txt
@@ -0,0 +1,41 @@
+Patch Package: OTP 18.2.2
+Git Tag: OTP-18.2.2
+Date: 2016-01-11
+Trouble Report Id: OTP-13225
+Seq num:
+System: OTP
+Release: 18
+Application: ssh-4.2.1
+Predecessor: OTP 18.2.1
+
+ Check out the git tag OTP-18.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.2.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13225 Application(s): ssh
+
+ The authentication method 'keyboard-interactive' failed
+ in the Erlang client when the server after successful
+ authentication continued by asking for zero more
+ passwords.
+
+
+ Full runtime dependencies of ssh-4.2.1: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.2.3.README.txt b/release-notes/OTP-18.2.3.README.txt
new file mode 100644
index 0000000..cf889b4
--- /dev/null
+++ b/release-notes/OTP-18.2.3.README.txt
@@ -0,0 +1,39 @@
+Patch Package: OTP 18.2.3
+Git Tag: OTP-18.2.3
+Date: 2016-01-29
+Trouble Report Id: OTP-13248
+Seq num:
+System: OTP
+Release: 18
+Application: inets-6.1.1
+Predecessor: OTP 18.2.2
+
+ Check out the git tag OTP-18.2.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.1.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13248 Application(s): inets
+
+ mod_alias now traverses all aliases picking the longest
+ match and not the first match.
+
+
+ Full runtime dependencies of inets-6.1.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.2.4.0.1.README.txt b/release-notes/OTP-18.2.4.0.1.README.txt
new file mode 100644
index 0000000..3396595
--- /dev/null
+++ b/release-notes/OTP-18.2.4.0.1.README.txt
@@ -0,0 +1,49 @@
+Patch Package: OTP 18.2.4.0.1
+Git Tag: OTP-18.2.4.0.1
+Date: 2017-05-10
+Trouble Report Id: OTP-13201
+Seq num:
+System: OTP
+Release: 18
+Application: erts-7.2.1.1
+Predecessor: OTP 18.2.4
+
+ Check out the git tag OTP-18.2.4.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-7.2.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.2.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13201 Application(s): erts
+
+ Introduced new statistics functionality in order to
+ more efficiently retrieve information about runnable
+ and active processes and ports. For more information
+ see:
+
+ -- statistics(total_run_queue_lengths)
+
+ -- statistics(run_queue_lengths)
+
+ -- statistics(total_active_tasks)
+
+ -- statistics(active_tasks)
+
+
+ Full runtime dependencies of erts-7.2.1.1: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.2.4.1.README.txt b/release-notes/OTP-18.2.4.1.README.txt
new file mode 100644
index 0000000..7001da3
--- /dev/null
+++ b/release-notes/OTP-18.2.4.1.README.txt
@@ -0,0 +1,38 @@
+Patch Package: OTP 18.2.4.1
+Git Tag: OTP-18.2.4.1
+Date: 2016-03-17
+Trouble Report Id: OTP-13417
+Seq num:
+System: OTP
+Release: 18
+Application: inets-6.1.1.1
+Predecessor: OTP 18.2.4
+
+ Check out the git tag OTP-18.2.4.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.1.1.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.1.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13417 Application(s): inets
+
+ Mend ipv6_host_with_brackets option in httpc
+
+
+ Full runtime dependencies of inets-6.1.1.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.2.4.README.txt b/release-notes/OTP-18.2.4.README.txt
new file mode 100644
index 0000000..7d815af
--- /dev/null
+++ b/release-notes/OTP-18.2.4.README.txt
@@ -0,0 +1,45 @@
+Patch Package: OTP 18.2.4
+Git Tag: OTP-18.2.4
+Date: 2016-02-23
+Trouble Report Id: OTP-13323
+Seq num:
+System: OTP
+Release: 18
+Application: common_test-1.11.2
+Predecessor: OTP 18.2.3
+
+ Check out the git tag OTP-18.2.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.11.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.11.2 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13323 Application(s): common_test
+
+ If a ssh package contained more than one netconf end
+ tag, then the second end tag was never detected in
+ ct_netconfc:handle_data. Instead it was included in the
+ XML data given to the xmerl parser, which then failed.
+ The problem was introduced by OTP-13007, and has now
+ been corrected.
+
+
+ Full runtime dependencies of common_test-1.11.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, test_server-3.9, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.2.README.txt b/release-notes/OTP-18.2.README.txt
new file mode 100644
index 0000000..b9bc64c
--- /dev/null
+++ b/release-notes/OTP-18.2.README.txt
@@ -0,0 +1,1201 @@
+Patch Package: OTP 18.2
+Git Tag: OTP-18.2
+Date: 2015-12-16
+Trouble Report Id: OTP-12003, OTP-12392, OTP-12457, OTP-12699,
+ OTP-12759, OTP-12787, OTP-12792, OTP-12836,
+ OTP-12837, OTP-12838, OTP-12936, OTP-12939,
+ OTP-12966, OTP-12985, OTP-13000, OTP-13007,
+ OTP-13008, OTP-13010, OTP-13015, OTP-13017,
+ OTP-13018, OTP-13026, OTP-13029, OTP-13030,
+ OTP-13031, OTP-13032, OTP-13035, OTP-13040,
+ OTP-13042, OTP-13044, OTP-13048, OTP-13052,
+ OTP-13054, OTP-13055, OTP-13063, OTP-13066,
+ OTP-13067, OTP-13068, OTP-13069, OTP-13070,
+ OTP-13071, OTP-13076, OTP-13078, OTP-13079,
+ OTP-13083, OTP-13084, OTP-13091, OTP-13092,
+ OTP-13093, OTP-13101, OTP-13102, OTP-13105,
+ OTP-13106, OTP-13107, OTP-13109, OTP-13110,
+ OTP-13113, OTP-13115, OTP-13116, OTP-13117,
+ OTP-13125, OTP-13130, OTP-13132, OTP-13134,
+ OTP-13137, OTP-13141, OTP-13142, OTP-13143,
+ OTP-13144, OTP-13145, OTP-13146, OTP-13147,
+ OTP-13149, OTP-13150, OTP-13155, OTP-13156,
+ OTP-13157, OTP-13158, OTP-13159, OTP-13160,
+ OTP-13162, OTP-13163, OTP-13165, OTP-13166,
+ OTP-13173, OTP-13181, OTP-13188, OTP-13189
+Seq num: seq12945, seq12959, seq12978
+System: OTP
+Release: 18
+Application: asn1-4.0.1, common_test-1.11.1,
+ compiler-6.0.2, crypto-3.6.2, dialyzer-2.8.2,
+ diameter-1.11.1, erl_docgen-0.4.1,
+ erl_interface-3.8.1, erts-7.2, eunit-2.2.12,
+ hipe-3.14, inets-6.1, jinterface-1.6.1,
+ kernel-4.1.1, observer-2.1.1,
+ parsetools-2.1.1, public_key-1.1,
+ runtime_tools-1.9.2, sasl-2.6.1, snmp-5.2.1,
+ ssh-4.2, ssl-7.2, stdlib-2.7,
+ test_server-3.9.1, tools-2.8.2, typer-0.9.10,
+ wx-1.6, xmerl-1.3.9
+Predecessor: OTP 18.1.5
+
+ Check out the git tag OTP-18.2, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-12392 Application(s): ssl
+
+ Add upper limit for session cache, configurable on ssl
+ application level.
+
+ If upper limit is reached, invalidate the current cache
+ entries, e.i the session lifetime is the max time a
+ session will be keept, but it may be invalidated
+ earlier if the max limit for the table is reached. This
+ will keep the ssl manager process well behaved, not
+ exhusting memeory. Invalidating the entries will
+ incrementally empty the cache to make room for fresh
+ sessions entries.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-4.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-4.0.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13149 Application(s): asn1
+
+ Trying to encode an empty named BIT STRING in BER would
+ fail with a function_clause exception. (Thanks to
+ Svilen Ivanov for reporting this bug.)
+
+
+ Full runtime dependencies of asn1-4.0.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.11.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.11.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13007 Application(s): common_test
+
+ When data from the netconf server was split into many
+ ssh packages, the netconf client performed really bad.
+ This is now improved.
+
+
+ OTP-13008 Application(s): common_test
+
+ In ct_netconfc, if a timer expired 'at the same time'
+ as the server sent the rpc-reply, the timeout message
+ might already be in the client's message queue when the
+ client removed the timer ref from its 'pending' list.
+ This caused a crash in the client since the timer ref
+ could no longer be found when handling the timeout
+ message. This problem is now fixed by always flushing
+ the timeout message from the message queue when
+ canceling a timer.
+
+
+ OTP-13035 Application(s): common_test
+
+ The error logger handler ct_conn_log_h did not respect
+ the 'silent' option, and tried to print to an undefined
+ file descriptor. This has been corrected.
+
+
+ OTP-13173 Application(s): common_test
+ Related Id(s): seq12978
+
+ If the user would let the test run proceed after test
+ suite compilation failure, Common Test did not set the
+ exit status to indicate failure as expected. This has
+ been corrected. Also, the 'abort_if_missing_suites'
+ option now makes Common Test abort the test run without
+ asking the user if compilation fails, even if access to
+ stdin/stdout exists.
+
+
+ OTP-13181 Application(s): common_test, test_server
+
+ With the Common Test 'create_priv_dir' start option set
+ to 'auto_per_tc', the name of the priv directory for a
+ configuration function could clash with the name of the
+ priv directory for a test case, which would cause Test
+ Server failure. This error has been corrected.
+
+
+ Full runtime dependencies of common_test-1.11.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, test_server-3.9, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-6.0.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-6.0.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13091 Application(s): compiler
+
+ Fix cerl_trees:label/2 bug with map K/V swap
+
+
+ OTP-13113 Application(s): compiler
+
+ Warnings produced when the 'bin_opt_info' option was
+ given could sometimes lack filenames and line numbers.
+ (Thanks to José Valim for reporting this bug.)
+
+
+ Full runtime dependencies of compiler-6.0.2: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.6.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.6.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13017 Application(s): crypto, erts, eunit, snmp
+
+ Small documentation fixes
+
+
+ Full runtime dependencies of crypto-3.6.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-2.8.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-2.8.2 application can *not* be applied
+ independently of other applications on an arbitrary OTP 18
+ installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.13 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13068 Application(s): dialyzer, hipe
+
+ Reintroduce the erlang:make_fun/3 BIF in erl_bif_types.
+
+
+ Full runtime dependencies of dialyzer-2.8.2: compiler-5.0, erts-7.0,
+ hipe-3.13, kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.11.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.11.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13137 Application(s): diameter
+
+ Fix request table leaks
+
+ The End-to-End and Hop-by-Hop identifiers of outgoing
+ Diameter requests are stored in a table in order for
+ the caller to be located when the corresponding answer
+ message is received. Entries were orphaned if the
+ handler was terminated by an exit signal as a
+ consequence of actions taken by callback functions, or
+ if callbacks modified identifiers in retransmission
+ cases.
+
+
+ Full runtime dependencies of diameter-1.11.1: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.4.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.4.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13026 Application(s): erl_docgen, erts
+
+ Updated the xmllint target to just check the xml files
+ with real documentation content.
+ Corrected some errors and added some missing target in
+ the DTD's.
+
+
+ Full runtime dependencies of erl_docgen-0.4.1: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.8.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.8.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13188 Application(s): erl_interface
+
+ Fix the conditional selection of gethostbyname_r and
+ gethostbyaddr_r.
+
+
+ ---------------------------------------------------------------------
+ --- erts-7.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13017 Application(s): crypto, erts, eunit, snmp
+
+ Small documentation fixes
+
+
+ OTP-13076 Application(s): erts
+ Related Id(s): seq12959
+
+ Fix memory corruption bug caused by disabling
+ distribution and then re-enable distribution with a
+ node name that has previously been used by a remote
+ node.
+
+
+ OTP-13079 Application(s): erts
+
+ Renamed variables with name bool as Visual Studio 2015
+ now treats this is a keyword.
+
+
+ OTP-13102 Application(s): erts
+
+ erl_prim_loader has not supported custom loaders for
+ several releases. In the documentation for
+ erl_prim_loader, all references to custom loaders have
+ now been removed.
+
+
+ OTP-13105 Application(s): erts
+
+ Fixed compilation of erts together with libc versions
+ that do not define __uint32_t.
+
+
+ OTP-13107 Application(s): erts
+
+ erl -make now returns non-zero exit codes on failure
+
+
+ OTP-13115 Application(s): erts
+
+ Fix crash on init:restart in embedded mode caused by
+ on_load handler process not being relaunched leading to
+ load failure for modules such as crypto and asn1rt_nif
+ that need it to be present for correct NIF loading.
+
+
+ OTP-13125 Application(s): erts
+
+ Fix maps decode in erlang:binary_to_term/1
+
+ Decoding a term with a large (HAMT) map in an small
+ (FLAT) map could cause a critical error if the external
+ format was not produced by beam.
+
+
+ OTP-13146 Application(s): erts
+
+ Fix very rare bug in GC when big maps with a lot of
+ hash collisions from a remote node are waiting in inner
+ message queue.
+
+
+ OTP-13150 Application(s): erts
+
+ Fixed a bug that could cause a crash dump to become
+ almost empty.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13026 Application(s): erl_docgen, erts
+
+ Updated the xmllint target to just check the xml files
+ with real documentation content.
+ Corrected some errors and added some missing target in
+ the DTD's.
+
+
+ OTP-13147 Application(s): erts
+
+ Add function enif_getenv to read OS environment
+ variables in a portable way from NIFs.
+
+
+ Full runtime dependencies of erts-7.2: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.2.12 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.2.12 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13017 Application(s): crypto, erts, eunit, snmp
+
+ Small documentation fixes
+
+
+ Full runtime dependencies of eunit-2.2.12: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The hipe-3.14 application can *not* be applied independently of
+ other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-7.1 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13048 Application(s): hipe
+
+ Fix hipe bug causing segfaults when native code
+ constructs binaries starting with a zero-length integer
+ field.
+
+
+ OTP-13068 Application(s): dialyzer, hipe
+
+ Reintroduce the erlang:make_fun/3 BIF in erl_bif_types.
+
+
+ OTP-13092 Application(s): hipe
+
+ In certain cases of matching with very big binaries,
+ the HiPE compiler generated code that would fail the
+ match, even in cases that the matching was successful.
+ The problem was more quite noticeable on 32-bit
+ platforms.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13159 Application(s): hipe
+
+ mikpe/hipe_x86_signal-musl-support
+
+
+ Full runtime dependencies of hipe-3.14: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13069 Application(s): inets
+
+ Replace obs-folds with spaces instead of failing
+
+
+ OTP-13071 Application(s): inets
+
+ Add validation fun for URI scheme to http_uri API
+
+
+ OTP-13093 Application(s): inets
+
+ Handle stream bodies as documented.
+
+
+ OTP-13110 Application(s): inets
+
+ Correct error handling of mod_esi generated chunks.
+ Send warning headers in chunk trailers instead of
+ generating an unexpected additional 500 request
+ response, when problems, such as a timeout occurs.
+
+
+ OTP-13117 Application(s): inets
+
+ HTTP client terminates gracefully when an invalid
+ chunked length header is encountered.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12985 Application(s): inets
+
+ Add default for SNI (Server Name Indication) when
+ running https using the inets HTTP-client.
+
+
+ OTP-13116 Application(s): inets
+
+ Be forgiving to chunked sizes that have trailing
+ whitespaces as prior implementation was. Also some
+ legacy embedded devices does actually have trailing
+ whitespaces even though this in not according to the
+ spec.
+
+
+ Full runtime dependencies of inets-6.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.6.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.6.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13106 Application(s): jinterface
+
+ Add missing Term tag matching switch statement that was
+ missing an external fun tag.
+
+
+ OTP-13165 Application(s): jinterface
+
+ fixed writing small compressed values.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-4.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-4.1.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- sasl-2.6 (first satisfied in OTP 18.1)
+ -- stdlib-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12836 Application(s): kernel
+
+ Host name lookups though inet_res, the Erlang DNS
+ resolver, are now done case insensitively according to
+ RFC 4343. Patch by Holger Weiß.
+
+
+ OTP-13040 Application(s): kernel
+
+ IPv6 distribution handler has been updated to share
+ code with IPv4 so that all features are supported in
+ IPv6 as well. A bug when using an IPv4 address as
+ hostname has been fixed.
+
+
+ OTP-13083 Application(s): kernel
+
+ Caching of host names in the internal DNS resolver
+ inet_res has been made character case insensitive for
+ host names according to RFC 4343.
+
+
+ OTP-13155 Application(s): kernel
+ Related Id(s): PR#646
+
+ Cooked file mode buffering has been fixed so
+ file:position/2 now works according to Posix on Posix
+ systems i.e. when file:position/2 returns an error the
+ file pointer is unaffected.
+
+ The Windows system documentation, however, is unclear
+ on this point so the documentation of file:position/2
+ still does not promise anything.
+
+ Cooked file mode file:pread/2,3 and file:pwrite/2,3
+ have been corrected to honor character encoding like
+ the combination of file:position/2 and file:read/2 or
+ file:write/2 already does. This is probably not very
+ useful since the character representation on the
+ caller's side is latin1, period.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12837 Application(s): kernel
+
+ Add {line_delim, byte()} option to inet:setopts/2 and
+ decode_packet/3
+
+
+ Full runtime dependencies of kernel-4.1.1: erts-7.0, sasl-2.6,
+ stdlib-2.6
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13030 Application(s): observer
+
+ Show ets owner pid in crashdump viewers popup window,
+ thanks Leo Liu.
+
+
+ OTP-13044 Application(s): observer
+
+ Several initialisms (eg, ERTS, ETS, SMP) are used as
+ headings. They were being capitalized incorrectly.
+
+
+ OTP-13163 Application(s): observer
+
+ Fixed a crash in crashdump viewer when dump contained a
+ truncated binary.
+
+
+ Full runtime dependencies of observer-2.1.1: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.1.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13031 Application(s): parsetools
+
+ Correct the documentation of the error tuple returned
+ by Yecc and Leex.
+
+
+ Full runtime dependencies of parsetools-2.1.1: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12936 Application(s): public_key, ssh
+
+ The 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384' and
+ 'ecdsa-sha2-nistp521' signature algorithms for ssh are
+ implemented. See RFC 5656.
+
+
+ OTP-13054 Application(s): public_key, ssh
+ Related Id(s): OTP-13052
+
+ There is now a file (public_key/priv/moduli) which
+ lists size-generator-modulus triples. The purpose is to
+ give servers the possibility to select the crypto
+ primes randomly among a list of pregenerated triples.
+ This reduces the risk for some attacks on
+ diffie-hellman negotiation.
+
+ See the reference manual for public_key:dh_gex_group/4
+ where the handling of this is described.
+
+ The ssh server (ssh:daemon) uses this.
+
+
+ OTP-13132 Application(s): public_key
+
+ Add different upper bounds for diffrent string types as
+ suggested by comment in PKIX1Explicit88.
+
+
+ Full runtime dependencies of public_key-1.1: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.9.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.9.2 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13078 Application(s): runtime_tools
+
+ Clarified dbg:stop documentation
+
+
+ Full runtime dependencies of runtime_tools-1.9.2: erts-7.0,
+ kernel-3.0, mnesia-4.12, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-2.6.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The sasl-2.6.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-4.1 (first satisfied in OTP 18.1)
+ -- stdlib-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-13000 Application(s): sasl
+
+ Documentation improvements
+
+
+ Full runtime dependencies of sasl-2.6.1: erts-6.0, kernel-4.1,
+ stdlib-2.6, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13017 Application(s): crypto, erts, eunit, snmp
+
+ Small documentation fixes
+
+
+ --- Improvements and New Features ---
+
+ OTP-13101 Application(s): snmp
+
+ Update configuration check of imask ( list of ones and
+ zeros) to allow the empty list.
+
+
+ Full runtime dependencies of snmp-5.2.1: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12699 Application(s): ssh
+ Related Id(s): OTP-11688
+
+ Better error handling in ssh_file. There was some rare
+ errors when a NFS-mounted file was opened by ssh_file
+ and then remotely deleted during reading. That caused
+ an endless loop.
+
+ That bug is now fixed.
+
+
+ OTP-12759 Application(s): ssh
+
+ Fixed a bug in the compression algorithm
+
+
+ OTP-12966 Application(s): ssh
+ Related Id(s): seq12945
+
+ It is now possible to start more than one daemon with a
+ file descriptor given in option fd. Each daemon must of
+ course have a unique file descriptor.
+
+
+ OTP-13029 Application(s): ssh
+
+ Fixed a bug that caused the option dh_gex_limit to be
+ ignored.
+
+
+ OTP-13158 Application(s): ssh
+
+ A problem is fixed with the ssh:connect option
+ pref_public_key_algs specifying user keys.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12003 Application(s): ssh
+
+ Document updates in the ssh reference manual: app doc
+ file and ssh_connection.
+
+
+ OTP-12787 Application(s): ssh
+
+ The authorization phase is made stateful to prevent ssh
+ acting on messages sent in wrong order.
+
+
+ OTP-12792 Application(s): ssh
+ Related Id(s): #5214, 6166, Codenomicon
+
+ Testcases for bad message lengths and for bad subfield
+ lengths added.
+
+
+ OTP-12936 Application(s): public_key, ssh
+
+ The 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384' and
+ 'ecdsa-sha2-nistp521' signature algorithms for ssh are
+ implemented. See RFC 5656.
+
+
+ OTP-12939 Application(s): ssh
+
+ The crypto algorithms 'aes192-ctr' and 'aes256-ctr' are
+ implemented. See RFC 4344.
+
+
+ OTP-13018 Application(s): ssh
+
+ The ciphers and macs AEAD_AES_128_GCM and
+ AEAD_AES_256_GCM are implemented but not enabled per
+ default. See the SSH App Reference Manual and RFC5647
+ for details.
+
+ The ciphers [email protected] and
+ [email protected] are also implemented and
+ available in the default configuration.
+
+
+ OTP-13052 Application(s): ssh
+ Related Id(s): OTP-13054
+
+ The ssh:daemon option dh_gex_groups is extended to read
+ a user provided ssh moduli file with generator-modulus
+ pairs. The file is in openssh format.
+
+
+ OTP-13054 Application(s): public_key, ssh
+ Related Id(s): OTP-13052
+
+ There is now a file (public_key/priv/moduli) which
+ lists size-generator-modulus triples. The purpose is to
+ give servers the possibility to select the crypto
+ primes randomly among a list of pregenerated triples.
+ This reduces the risk for some attacks on
+ diffie-hellman negotiation.
+
+ See the reference manual for public_key:dh_gex_group/4
+ where the handling of this is described.
+
+ The ssh server (ssh:daemon) uses this.
+
+
+ OTP-13055 Application(s): ssh
+ Related Id(s): OTP-13053
+
+ The ssh:daemon option pwdfun now also takes a fun/4.
+ This enables the user to 1) check userid-password in
+ another way than the builtin algorithm, 2) implement
+ rate limiting per user or source IP or IP+Port, and 3)
+ implement blocking of missbehaving peers.
+
+ The old fun/2 still works as previously.
+
+
+ OTP-13066 Application(s): ssh
+
+ There is now a new option to make the server limit the
+ size range of moduli available for the diffie-hellman
+ group exchange negotiation. See option
+ {dh_gex_limits,{Min,Max}} in ssh:daemon/3.
+
+
+ OTP-13067 Application(s): ssh
+
+ Ecdh key exchange now validates compressed and
+ uncompressed keys as defined in rfc5656
+
+
+ OTP-13109 Application(s): ssh
+
+ Search order for the .ssh directory are changed so
+ $HOME is tried before init:get_argument(home).
+
+
+ OTP-13130 Application(s): ssh
+
+ The sftp receive window handling is optimized so it
+ will not update the remote end too often. This makes
+ "sftp mget" considerable faster.
+
+
+ OTP-13156 Application(s): ssh
+
+ The option key_cb is extended to take an optional list
+ that is passed to the callback module as an option.
+ With this it is possible to have different keys
+ depending on which host that is connected. Another
+ possibility is to write a callback module that fetches
+ keys etc from a database.
+
+ Thanks to Vipin Nair.
+
+
+ Full runtime dependencies of ssh-4.2: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-7.2 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12838 Application(s): ssl
+
+ Honor distribution port range options
+
+
+ OTP-13134 Application(s): ssl
+
+ Correct supervisor specification in TLS distribution.
+
+
+ OTP-13141 Application(s): ssl
+
+ Correct cache timeout
+
+
+ OTP-13144 Application(s): ssl
+
+ Avoid crash and restart of ssl process when key file
+ does not exist.
+
+
+ OTP-13166 Application(s): ssl
+
+ Enable passing of raw socket options on the format
+ {raw,_,_,_} to the underlying socket.
+
+
+ OTP-13189 Application(s): ssl
+
+ Hibernation with small or a zero timeout will now work
+ as expected
+
+
+ --- Improvements and New Features ---
+
+ OTP-12392 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Add upper limit for session cache, configurable on ssl
+ application level.
+
+ If upper limit is reached, invalidate the current cache
+ entries, e.i the session lifetime is the max time a
+ session will be keept, but it may be invalidated
+ earlier if the max limit for the table is reached. This
+ will keep the ssl manager process well behaved, not
+ exhusting memeory. Invalidating the entries will
+ incrementally empty the cache to make room for fresh
+ sessions entries.
+
+
+ OTP-12457 Application(s): ssl
+
+ Use new time functions to measure passed time.
+
+
+ OTP-13142 Application(s): ssl
+
+ Improved error handling in TLS distribution
+
+
+ OTP-13143 Application(s): ssl
+
+ Distribution over TLS now honors the nodelay
+ distribution flag
+
+
+ Full runtime dependencies of ssl-7.2: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-2.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-2.7 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-4.1 (first satisfied in OTP 18.1)
+ -- sasl-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13084 Application(s): stdlib
+
+ The Erlang Pretty Printer uses :: for function type
+ constraints.
+
+ A bug concerning pretty printing of annotated type
+ union elements in map pair types has been fixed.
+
+ Some minor issues regarding the documentation of types
+ and specs have been corrected.
+
+
+ OTP-13145 Application(s): stdlib
+
+ The shell command rp prints strings as lists of
+ integers if pretty printing of lists is set to false.
+
+
+ OTP-13157 Application(s): stdlib
+
+ The shell would crash if a bit syntax expression with
+ conflicting types were given (e.g. if a field type was
+ given as 'integer-binary'). (Thanks to Aleksei Magusev
+ for reporting this bug.)
+
+
+ OTP-13162 Application(s): stdlib
+
+ The rand:export_seed/0 would never return 'undefined'
+ even if no seed has previously been created. Fixed to
+ return 'undefined' if there is no seed in the process
+ dictionary.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13032 Application(s): stdlib
+
+ Add support for the Delete, Home and End keys in the
+ Erlang shell.
+
+
+ OTP-13063 Application(s): stdlib
+
+ beam_lib:all_chunks/1 and beam_lib:build_module/1 have
+ been documented.
+
+
+ Full runtime dependencies of stdlib-2.7: compiler-5.0, crypto-3.3,
+ erts-7.0, kernel-4.1, sasl-2.6
+
+
+ ---------------------------------------------------------------------
+ --- test_server-3.9.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The test_server-3.9.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13015 Application(s): test_server
+
+ When generating Makefile from Makefile.src,
+ ts_lib:get_arg/4 earlier removed all spaces in the
+ extracted argument. The code was probably meant for
+ removing leading and trailing spaces only, and is now
+ corrected to do so.
+
+
+ OTP-13181 Application(s): common_test, test_server
+
+ With the Common Test 'create_priv_dir' start option set
+ to 'auto_per_tc', the name of the priv directory for a
+ configuration function could clash with the name of the
+ priv directory for a test case, which would cause Test
+ Server failure. This error has been corrected.
+
+
+ Full runtime dependencies of test_server-3.9.1: erts-7.0, inets-6.0,
+ kernel-4.0, observer-2.1, runtime_tools-1.8.16, stdlib-2.5,
+ syntax_tools-1.7, tools-2.8
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.8.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13042 Application(s): tools
+
+ The emacs mode does not add a newline after the arrow
+ on -callback lines anymore.
+
+
+ Full runtime dependencies of tools-2.8.2: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5,
+ webtool-0.8.10
+
+
+ ---------------------------------------------------------------------
+ --- typer-0.9.10 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The typer-0.9.10 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13010 Application(s): typer
+
+ Fix a bug that could result in a crash when printing
+ warnings onto standard error.
+
+
+ Full runtime dependencies of typer-0.9.10: compiler-5.0,
+ dialyzer-2.7, erts-6.0, hipe-3.10.3, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.6 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.6 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13160 Application(s): wx
+
+ Add wxOverlay and make wxPostScripDC optional to make
+ it easier to build on windows.
+
+ Correct some function specifications.
+
+ The driver implementation have been optimized and now
+ invokes commands after events have been sent to erlang.
+
+
+ Full runtime dependencies of wx-1.6: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.9 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13070 Application(s): xmerl
+
+ Removed the built-in definitions of xml.xsd from the
+ xmerl_xsd module.
+
+
+ Full runtime dependencies of xmerl-1.3.9: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Andrey Mayorov, Ben Tyler, Constantin Rack, Danil Zagoskin, David
+ Whitlock, Derek Brown, Eric Appelt, Gary Coulbourne,
+ Holger Weiß, Ian Denhardt, Johannes Weißl, Josh Adams, Kirill
+ Zaborsky, Kirilll Zaborsky, Kostis Sagonas, Loïc Hoguin, Luca
+ Favatella, Luis Rascao, Magnus Henoch, Magnus Lång, Magnus
+ Ottenklinger, Mikael Pettersson, Nico Kruber, Pawel Pikula, Pierre
+ Fenoll, Péter Gömöri, Riccardo, Rich Morin, Roger Lipscombe, Rory
+ Byrne, Serge Aleynikov, Sergey Savenko, Steven Danna, Tobias
+ Schlager, Tom Briden, Tom Szilagyi, Tuncer Ayaz, Vipin Nair, Vlad
+ Dumitrescu, soranoba, xsipewe
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.1.README.txt b/release-notes/OTP-18.3.1.README.txt
new file mode 100644
index 0000000..a98aa36
--- /dev/null
+++ b/release-notes/OTP-18.3.1.README.txt
@@ -0,0 +1,130 @@
+Patch Package: OTP 18.3.1
+Git Tag: OTP-18.3.1
+Date: 2016-04-04
+Trouble Report Id: OTP-13417, OTP-13418, OTP-13419, OTP-13420,
+ OTP-13423, OTP-13424, OTP-13446, OTP-13452
+Seq num:
+System: OTP
+Release: 18
+Application: erts-7.3.1, inets-6.2.1, mnesia-4.13.4
+Predecessor: OTP 18.3
+
+ Check out the git tag OTP-18.3.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-7.3.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.3.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13418 Application(s): erts
+
+ process_info(Pid, last_calls) did not work for Pid /=
+ self().
+
+
+ OTP-13419 Application(s): erts
+
+ Make sure to create a crash dump when running out of
+ memory. This was accidentally removed in the erts-7.3
+ release.
+
+
+ OTP-13420 Application(s): erts
+
+ Schedulers could be woken by a premature timeout on
+ Linux. This premature wakeup was however harmless.
+
+
+ OTP-13424 Application(s): erts
+ Related Id(s): OTP-10336
+
+ A process communicating with a port via one of the
+ erlang:port_* BIFs could potentially end up in an
+ inconsistent state if the port terminated during the
+ communication. When this occurred the process could
+ later block in a receive even though it had messages
+ matching in its message queue.
+
+ This bug was introduced in erts version 5.10 (OTP
+ R16A).
+
+
+ OTP-13446 Application(s): erts
+
+ The reference count of a process structure could under
+ rare circumstances be erroneously managed. When this
+ happened invalid memory accesses occurred.
+
+
+ OTP-13452 Application(s): erts
+
+ Fix race between process_flag(trap_exit,true) and a
+ received exit signal.
+
+ A process could terminate due to exit signal even
+ though process_flag(trap_exit,true) had returned. A
+ very specific timing between call to process_flag/2 and
+ exit signal from another scheduler was required for
+ this to happen.
+
+
+ Full runtime dependencies of erts-7.3.1: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.2.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13417 Application(s): inets
+
+ Mend ipv6_host_with_brackets option in httpc
+
+
+ Full runtime dependencies of inets-6.2.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.13.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.13.4 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13423 Application(s): mnesia
+
+ Mnesia transactions could hang while waiting on a
+ response from a node who had stopped.
+
+
+ Full runtime dependencies of mnesia-4.13.4: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Andrey Mayorov
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.2.README.txt b/release-notes/OTP-18.3.2.README.txt
new file mode 100644
index 0000000..8f74bd2
--- /dev/null
+++ b/release-notes/OTP-18.3.2.README.txt
@@ -0,0 +1,66 @@
+Patch Package: OTP 18.3.2
+Git Tag: OTP-18.3.2
+Date: 2016-04-27
+Trouble Report Id: OTP-13261, OTP-13510, OTP-13511
+Seq num:
+System: OTP
+Release: 18
+Application: inets-6.2.2, ssl-7.3.1
+Predecessor: OTP 18.3.1
+
+ Check out the git tag OTP-18.3.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.2.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13510 Application(s): inets
+
+ Add environment information item peer_cert to mod_esi
+
+
+ Full runtime dependencies of inets-6.2.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-7.3.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.3.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13511 Application(s): ssl
+
+ Corrections to cipher suite handling using the 3 and 4
+ tuple format in addition to commit
+ 89d7e21cf4ae988c57c8ef047bfe85127875c70c
+
+
+ --- Improvements and New Features ---
+
+ OTP-13261 Application(s): ssl
+
+ Make values for the TLS-1.2 signature_algorithms
+ extension configurable
+
+
+ Full runtime dependencies of ssl-7.3.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.3.README.txt b/release-notes/OTP-18.3.3.README.txt
new file mode 100644
index 0000000..fafe4db
--- /dev/null
+++ b/release-notes/OTP-18.3.3.README.txt
@@ -0,0 +1,125 @@
+Patch Package: OTP 18.3.3
+Git Tag: OTP-18.3.3
+Date: 2016-05-04
+Trouble Report Id: OTP-13462, OTP-13513, OTP-13525, OTP-13533,
+ OTP-13535, OTP-13536, OTP-13537
+Seq num: seq13077
+System: OTP
+Release: 18
+Application: common_test-1.12.1, inets-6.2.3, ssl-7.3.2
+Predecessor: OTP 18.3.2
+
+ Check out the git tag OTP-18.3.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.12.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.12.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13462 Application(s): common_test
+ Related Id(s): seq13077
+
+ The nodelay option used to be enabled (true) by default
+ for sockets opened by the Common Test telnet client.
+ This appeared to cause communication problems with
+ telnet servers on some systems, and therefore the
+ option is no longer used. Its value may instead be
+ specified in the telnet connection settings. See the
+ man page for ct_telnet for details. Please note that
+ the interface function connect in unix_telnet has been
+ updated with an extra argument and is now
+ unix_telnet:connect/7.
+
+
+ OTP-13513 Application(s): common_test
+
+ Fix bug in cth_surefire: When a pre_init_per_suite hook
+ fails before reaching the
+ cth_surefire:pre_init_per_suite, cth_surefire produced
+ incorrect XML.
+
+
+ OTP-13535 Application(s): common_test
+
+ The ct:get_timetrap_info/0 function has been updated to
+ return more information about timetrap scaling.
+
+
+ OTP-13536 Application(s): common_test
+
+ A problem with stylesheet HTML tags getting incorrectly
+ escaped by Common Test has been corrected.
+
+
+ OTP-13537 Application(s): common_test
+
+ The ct_run start flag -no_esc_chars and ct:run_test/1
+ start option {esc_chars,Bool} have been introduced to
+ make it possible to disable automatic escaping of
+ characters. Automatic escaping of special HTML
+ characters printed with io:format/1,2 and
+ ct:pal/1,2,3,4 was introduced in Common Test 1.12. The
+ new flag/option may be used to disable this feature for
+ backwards compatibility reasons. (The option is also
+ supported in test specifications).
+
+
+ Full runtime dependencies of common_test-1.12.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, test_server-3.9, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.2.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.2.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13533 Application(s): inets
+
+ Put back unused module inets_regexp and remove it in
+ OTP 19 instead as it is an incompatibility, although it
+ is an undocumented module and should not affect other
+ applications.
+
+
+ Full runtime dependencies of inets-6.2.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-7.3.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.3.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13525 Application(s): ssl
+
+ Correct cipher suites conversion and gaurd expression.
+ Caused problems with GCM cipher suites and client side
+ option to set signature_algorithms extention values.
+
+
+ Full runtime dependencies of ssl-7.3.2: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.1.README.txt b/release-notes/OTP-18.3.4.1.README.txt
new file mode 100644
index 0000000..b3a74cf
--- /dev/null
+++ b/release-notes/OTP-18.3.4.1.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 18.3.4.1
+Git Tag: OTP-18.3.4.1
+Date: 2016-06-27
+Trouble Report Id: OTP-13674
+Seq num:
+System: OTP
+Release: 18
+Application: ssh-4.2.2.1
+Predecessor: OTP 18.3.4
+
+ Check out the git tag OTP-18.3.4.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.2.2.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13674 Application(s): ssh
+ Related Id(s): TR-HU92273
+
+ SSH client does not any longer retry a bad password
+ given as option to ssh:connect et al.
+
+
+ Full runtime dependencies of ssh-4.2.2.1: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.2.README.txt b/release-notes/OTP-18.3.4.2.README.txt
new file mode 100644
index 0000000..d890415
--- /dev/null
+++ b/release-notes/OTP-18.3.4.2.README.txt
@@ -0,0 +1,90 @@
+Patch Package: OTP 18.3.4.2
+Git Tag: OTP-18.3.4.2
+Date: 2016-07-25
+Trouble Report Id: OTP-13730, OTP-13731, OTP-13753
+Seq num: seq13135, seq13150
+System: OTP
+Release: 18
+Application: common_test-1.12.1.1, erts-7.3.1.1,
+ ssl-7.3.3.1
+Predecessor: OTP 18.3.4.1
+
+ Check out the git tag OTP-18.3.4.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.12.1.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.12.1.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13730 Application(s): common_test
+ Related Id(s): seq13135
+
+ If the telnet server would pause during transmission of
+ a line of text before terminating the line, the
+ ct_telnet:expect/3 function would print the line twice
+ in the test case HTML log. This problem has been fixed.
+
+
+ Full runtime dependencies of common_test-1.12.1.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, test_server-3.9, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-7.3.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.3.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13731 Application(s): erts
+ Related Id(s): ERL-188
+
+ Fix scheduler deadlock bug in ets:update_counter/4 when
+ key is not found and inserting the default object
+ causes the table to grow.
+
+
+ Full runtime dependencies of erts-7.3.1.1: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-7.3.3.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.3.3.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13753 Application(s): ssl
+ Related Id(s): seq13150
+
+ The TLS/SSL protocol version selection for the SSL
+ server has been corrected to follow RFC 5246 Appendix
+ E.1 especially in case where the list of supported
+ versions has gaps. Now the server selects the highest
+ protocol version it supports that is not higher than
+ what the client supports.
+
+
+ Full runtime dependencies of ssl-7.3.3.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.4.README.txt b/release-notes/OTP-18.3.4.4.README.txt
new file mode 100644
index 0000000..7118e38
--- /dev/null
+++ b/release-notes/OTP-18.3.4.4.README.txt
@@ -0,0 +1,46 @@
+Patch Package: OTP 18.3.4.4
+Git Tag: OTP-18.3.4.4
+Date: 2016-08-12
+Trouble Report Id: OTP-13798, OTP-13799
+Seq num:
+System: OTP
+Release: 18
+Application: erts-7.3.1.2
+Predecessor: OTP 18.3.4.3
+
+ Check out the git tag OTP-18.3.4.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-7.3.1.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.3.1.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13798 Application(s): erts
+ Related Id(s): OTP-11997
+
+ Fixed a race that could cause a lost wakeup of a
+ process that timed out in a receive ... after. This bug
+ was introduced in ERTS version 7.0.
+
+
+ OTP-13799 Application(s): erts
+
+ Fixed segfault after writing an erl crash dump.
+
+
+ Full runtime dependencies of erts-7.3.1.2: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.5.README.txt b/release-notes/OTP-18.3.4.5.README.txt
new file mode 100644
index 0000000..dd78e02
--- /dev/null
+++ b/release-notes/OTP-18.3.4.5.README.txt
@@ -0,0 +1,164 @@
+Patch Package: OTP 18.3.4.5
+Git Tag: OTP-18.3.4.5
+Date: 2017-02-02
+Trouble Report Id: OTP-13425, OTP-13866, OTP-13869, OTP-14159,
+ OTP-14166, OTP-14169, OTP-14173
+Seq num: seq13261, seq13262
+System: OTP
+Release: 18
+Application: crypto-3.6.3.1, erts-7.3.1.3, inets-6.2.4.1,
+ ssh-4.2.2.3
+Predecessor: OTP 18.3.4.4
+
+ Check out the git tag OTP-18.3.4.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-3.6.3.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.6.3.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14169 Application(s): crypto, ssh
+ Related Id(s): seq13261
+
+ Key exchange algorithms
+ diffie-hellman-group-exchange-sha* optimized, up to a
+ factor of 11 for the slowest ( = biggest and safest)
+ one.
+
+
+ Full runtime dependencies of crypto-3.6.3.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-7.3.1.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.3.1.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13425 Application(s): erts
+ Related Id(s): ERL-94
+
+ A bug has been fixed where if erlang was started +B on
+ a unix platform it would be killed by a SIGUSR2 signal
+ when creating a crash dump.
+
+
+ OTP-13866 Application(s): erts
+
+ Calls to erl_drv_send_term() or erl_drv_output_term()
+ from a non-scheduler thread while the corresponding
+ port was invalid caused the emulator to enter an
+ inconsistent state which eventually caused an emulator
+ crash.
+
+
+ OTP-13869 Application(s): erts
+
+ Driver and NIF operations accessing processes or ports
+ could cause an emulator crash when used from
+ non-scheduler threads. Those operations are:
+
+ -- erl_drv_send_term()
+
+ -- driver_send_term()
+
+ -- erl_drv_output_term()
+
+ -- driver_output_term()
+
+ -- enif_send()
+
+ -- enif_port_command()
+
+
+ OTP-14159 Application(s): erts
+ Related Id(s): ERL-340
+
+ Fix bug in binary_to_term for binaries created by
+ term_to_binary with option compressed. The bug can
+ cause badarg exception for a valid binary when Erlang
+ VM is linked against a zlib library of version 1.2.9 or
+ newer. Bug exists since OTP 17.0.
+
+
+ Full runtime dependencies of erts-7.3.1.3: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.2.4.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.2.4.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14173 Application(s): inets
+ Related Id(s): seq13262
+
+ Shutdown gracefully on connection or TLS handshake
+ errors
+
+
+ Full runtime dependencies of inets-6.2.4.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2.2.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.2.2.3 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-3.6.3.1 (first satisfied in OTP 18.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14166 Application(s): ssh
+
+ The key exchange algorithm
+ diffie-hellman-group-exchange-sha* has a server-option
+ {dh_gex_limits,{Min,Max}}. There was a hostkey
+ signature validation error on the client side if the
+ option was used and the Min or the Max differed from
+ the corresponding values obtained from the client.
+
+ This bug is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14169 Application(s): crypto, ssh
+ Related Id(s): seq13261
+
+ Key exchange algorithms
+ diffie-hellman-group-exchange-sha* optimized, up to a
+ factor of 11 for the slowest ( = biggest and safest)
+ one.
+
+
+ Full runtime dependencies of ssh-4.2.2.3: crypto-3.6.3.1, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.6.README.txt b/release-notes/OTP-18.3.4.6.README.txt
new file mode 100644
index 0000000..5cc97a3
--- /dev/null
+++ b/release-notes/OTP-18.3.4.6.README.txt
@@ -0,0 +1,143 @@
+Patch Package: OTP 18.3.4.6
+Git Tag: OTP-18.3.4.6
+Date: 2017-11-16
+Trouble Report Id: OTP-14491, OTP-14514, OTP-14522, OTP-14548,
+ OTP-14590, OTP-14763, OTP-14765
+Seq num: ERIERL-48, ERIERL-74, ERL-468, ERL-474
+System: OTP
+Release: 18
+Application: compiler-6.0.3.1, eldap-1.2.1.1,
+ erts-7.3.1.4, ssh-4.2.2.4
+Predecessor: OTP 18.3.4.5
+
+ Check out the git tag OTP-18.3.4.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-6.0.3.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-6.0.3.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14522 Application(s): compiler
+ Related Id(s): ERIERL-48
+
+ Fail labels on guard BIFs weren't taken into account
+ during an optimization pass, and a bug in the
+ validation pass sometimes prevented this from being
+ noticed when a fault occurred.
+
+
+ Full runtime dependencies of compiler-6.0.3.1: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.1.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.1.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14765 Application(s): eldap, jinterface
+
+ Misc building environment updates
+
+
+ Full runtime dependencies of eldap-1.2.1.1: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-7.3.1.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.3.1.4 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14491 Application(s): erts
+
+ Fix performance bug in pre-allocators that could cause
+ them to permanently fall back on normal more expensive
+ memory allocation. Pre-allocators are used for quick
+ allocation of short lived meta data used by messages
+ and other scheduled tasks. Bug exists since OTP_R15B02.
+
+
+ OTP-14514 Application(s): erts
+
+ Fixed bug in operator bxor causing erroneuos result
+ when one operand is a big *negative* integer with the
+ lowest N*W bits as zero and the other operand not
+ larger than N*W bits. N is an integer of 1 or larger
+ and W is 32 or 64 depending on word size.
+
+
+ OTP-14548 Application(s): erts
+ Related Id(s): ERL-468, OTP-11997
+
+ A timer internal bit-field used for storing scheduler
+ id was too small. As a result, VM internal timer data
+ structures could become inconsistent when using 1024
+ schedulers on the system. Note that systems with less
+ than 1024 schedulers are not effected by this bug.
+
+ This bug was introduced in ERTS version 7.0 (OTP 18.0).
+
+
+ OTP-14590 Application(s): erts
+ Related Id(s): ERL-474
+
+ Fixed bug in binary_to_term and binary_to_atom that
+ could cause VM crash. Typically happens when the last
+ character of an UTF8 string is in the range 128 to 255,
+ but truncated to only one byte. Bug exists in
+ binary_to_term since ERTS version 5.10.2 (OTP_R16B01)
+ and binary_to_atom since ERTS version 9.0 (OTP-20.0).
+
+
+ Full runtime dependencies of erts-7.3.1.4: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2.2.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.2.2.4 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-3.6.3.1 (first satisfied in OTP 18.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14763 Application(s): ssh
+ Related Id(s): ERIERL-74
+
+ Trailing white space was removed at end of the
+ hello-string. This caused interoperability problems
+ with some other ssh-implementations (e.g OpenSSH 7.3p1
+ on Solaris 11)
+
+
+ Full runtime dependencies of ssh-4.2.2.4: crypto-3.6.3.1, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.7.README.txt b/release-notes/OTP-18.3.4.7.README.txt
new file mode 100644
index 0000000..c3892dc
--- /dev/null
+++ b/release-notes/OTP-18.3.4.7.README.txt
@@ -0,0 +1,89 @@
+Patch Package: OTP 18.3.4.7
+Git Tag: OTP-18.3.4.7
+Date: 2017-11-23
+Trouble Report Id: OTP-14748
+Seq num:
+System: OTP
+Release: 18
+Application: ssl-7.3.3.2
+Predecessor: OTP 18.3.4.6
+
+ Check out the git tag OTP-18.3.4.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-7.3.3.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.3.3.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14748 Application(s): ssl
+
+ An erlang TLS server configured with cipher suites
+ using rsa key exchange, may be vulnerable to an
+ Adaptive Chosen Ciphertext attack (AKA Bleichenbacher
+ attack) against RSA, which when exploited, may result
+ in plaintext recovery of encrypted messages and/or a
+ Man-in-the-middle (MiTM) attack, despite the attacker
+ not having gained access to the server’s private key
+ itself. CVE-2017-1000385
+
+ Exploiting this vulnerability to perform plaintext
+ recovery of encrypted messages will, in most practical
+ cases, allow an attacker to read the plaintext only
+ after the session has completed. Only TLS sessions
+ established using RSA key exchange are vulnerable to
+ this attack.
+
+ Exploiting this vulnerability to conduct a MiTM attack
+ requires the attacker to complete the initial attack,
+ which may require thousands of server requests, during
+ the handshake phase of the targeted session within the
+ window of the configured handshake timeout. This attack
+ may be conducted against any TLS session using RSA
+ signatures, but only if cipher suites using RSA key
+ exchange are also enabled on the server. The limited
+ window of opportunity, limitations in bandwidth, and
+ latency make this attack significantly more difficult
+ to execute.
+
+ RSA key exchange is enabled by default although least
+ prioritized if server order is honored. For such a
+ cipher suite to be chosen it must also be supported by
+ the client and probably the only shared cipher suite.
+
+ Captured TLS sessions encrypted with ephemeral cipher
+ suites (DHE or ECDHE) are not at risk for subsequent
+ decryption due to this vulnerability.
+
+ As a workaround if default cipher suite configuration
+ was used you can configure the server to not use
+ vulnerable suites with the ciphers option like this:
+
+ {ciphers, [Suite || Suite <- ssl:cipher_suites(),
+ element(1,Suite) =/= rsa]}
+
+ that is your code will look somethingh like this:
+
+ ssl:listen(Port, [{ciphers, [Suite || Suite <-
+ ssl:cipher_suites(), element(1,S) =/= rsa]} |
+ Options]).
+
+ Thanks to Hanno Böck, Juraj Somorovsky and Craig Young
+ for reporting this vulnerability.
+
+
+ Full runtime dependencies of ssl-7.3.3.2: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.8.README.txt b/release-notes/OTP-18.3.4.8.README.txt
new file mode 100644
index 0000000..5bccd1a
--- /dev/null
+++ b/release-notes/OTP-18.3.4.8.README.txt
@@ -0,0 +1,44 @@
+Patch Package: OTP 18.3.4.8
+Git Tag: OTP-18.3.4.8
+Date: 2018-03-05
+Trouble Report Id: OTP-14881
+Seq num:
+System: OTP
+Release: 18
+Application: ssh-4.2.2.5
+Predecessor: OTP 18.3.4.7
+
+ Check out the git tag OTP-18.3.4.8, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2.2.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.2.2.5 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-3.6.3.1 (first satisfied in OTP 18.3.4.5)
+
+
+ --- Improvements and New Features ---
+
+ OTP-14881 Application(s): ssh
+
+ Default exec is disabled when a user-defined shell is
+ enabled.
+
+
+ Full runtime dependencies of ssh-4.2.2.5: crypto-3.6.3.1, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.9.README.txt b/release-notes/OTP-18.3.4.9.README.txt
new file mode 100644
index 0000000..4edb83b
--- /dev/null
+++ b/release-notes/OTP-18.3.4.9.README.txt
@@ -0,0 +1,44 @@
+Patch Package: OTP 18.3.4.9
+Git Tag: OTP-18.3.4.9
+Date: 2018-04-24
+Trouble Report Id: OTP-15018
+Seq num:
+System: OTP
+Release: 18
+Application: ssh-4.2.2.6
+Predecessor: OTP 18.3.4.8
+
+ Check out the git tag OTP-18.3.4.9, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2.2.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.2.2.6 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-3.6.3.1 (first satisfied in OTP 18.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15018 Application(s): ssh
+
+ Fix rare spurios shutdowns of ssh servers when
+ receiveing {'EXIT',_,normal} messages.
+
+
+ Full runtime dependencies of ssh-4.2.2.6: crypto-3.6.3.1, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.4.README.txt b/release-notes/OTP-18.3.4.README.txt
new file mode 100644
index 0000000..ec84751
--- /dev/null
+++ b/release-notes/OTP-18.3.4.README.txt
@@ -0,0 +1,88 @@
+Patch Package: OTP 18.3.4
+Git Tag: OTP-18.3.4
+Date: 2016-06-14
+Trouble Report Id: OTP-13490, OTP-13546, OTP-13635, OTP-13663,
+ OTP-13670
+Seq num: seq13132
+System: OTP
+Release: 18
+Application: inets-6.2.4, ssl-7.3.3
+Predecessor: OTP 18.3.3
+
+ Check out the git tag OTP-18.3.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.2.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.2.4 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13663 Application(s): inets
+ Related Id(s): seq13132
+
+ Handle multiple \t in mime types file
+
+
+ Full runtime dependencies of inets-6.2.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-7.3.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.3.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13546 Application(s): ssl
+
+ Correct ssl:prf/5 to use the negotiated cipher suite's
+ prf function in ssl:prf/5 instead of the default prf.
+
+
+ OTP-13635 Application(s): ssl
+
+ Timeouts may have the value 0, guards have been
+ corrected to allow this
+
+
+ OTP-13670 Application(s): ssl
+
+ Change of internal handling of hash sign pairs as the
+ used one enforced to much restrictions making some
+ valid combinations unavailable.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13490 Application(s): ssl
+
+ Create a little randomness in sending of session
+ invalidation messages, to mitigate load when whole
+ table is invalidated.
+
+
+ Full runtime dependencies of ssl-7.3.3: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Joe DeVivo, Kenneth Lakin
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-18.3.README.txt b/release-notes/OTP-18.3.README.txt
new file mode 100644
index 0000000..f789230
--- /dev/null
+++ b/release-notes/OTP-18.3.README.txt
@@ -0,0 +1,1417 @@
+Patch Package: OTP 18.3
+Git Tag: OTP-18.3
+Date: 2016-03-15
+Trouble Report Id: OTP-12272, OTP-12862, OTP-12955, OTP-12994,
+ OTP-13003, OTP-13057, OTP-13060, OTP-13103,
+ OTP-13164, OTP-13185, OTP-13200, OTP-13201,
+ OTP-13208, OTP-13216, OTP-13217, OTP-13218,
+ OTP-13219, OTP-13220, OTP-13222, OTP-13223,
+ OTP-13228, OTP-13230, OTP-13231, OTP-13232,
+ OTP-13234, OTP-13237, OTP-13238, OTP-13239,
+ OTP-13241, OTP-13242, OTP-13245, OTP-13249,
+ OTP-13250, OTP-13251, OTP-13253, OTP-13254,
+ OTP-13257, OTP-13264, OTP-13268, OTP-13269,
+ OTP-13270, OTP-13271, OTP-13272, OTP-13277,
+ OTP-13278, OTP-13279, OTP-13281, OTP-13282,
+ OTP-13284, OTP-13285, OTP-13286, OTP-13287,
+ OTP-13290, OTP-13291, OTP-13292, OTP-13298,
+ OTP-13299, OTP-13300, OTP-13301, OTP-13302,
+ OTP-13305, OTP-13306, OTP-13309, OTP-13311,
+ OTP-13312, OTP-13324, OTP-13326, OTP-13327,
+ OTP-13328, OTP-13334, OTP-13335, OTP-13336,
+ OTP-13338, OTP-13342, OTP-13363, OTP-13364,
+ OTP-13365, OTP-13376, OTP-13377, OTP-13378,
+ OTP-13379, OTP-13381, OTP-13386, OTP-13388,
+ OTP-13389, OTP-13391, OTP-13403, OTP-13404,
+ OTP-13406, OTP-9375
+Seq num: seq12979, seq12991, seq13005, seq13053,
+ seq13069, seq13070
+System: OTP
+Release: 18
+Application: asn1-4.0.2, common_test-1.12, compiler-6.0.3,
+ cosNotification-1.2.1, cosTime-1.2.1,
+ cosTransactions-1.3.1, crypto-3.6.3,
+ debugger-4.1.2, dialyzer-2.9,
+ diameter-1.11.2, edoc-0.7.18, eldap-1.2.1,
+ erl_docgen-0.4.2, erl_interface-3.8.2,
+ erts-7.3, eunit-2.2.13, hipe-3.15, inets-6.2,
+ kernel-4.2, mnesia-4.13.3, observer-2.1.2,
+ orber-3.8.1, public_key-1.1.1,
+ runtime_tools-1.9.3, sasl-2.7, snmp-5.2.2,
+ ssh-4.2.2, ssl-7.3, stdlib-2.8,
+ test_server-3.10, tools-2.8.3, webtool-0.9.1,
+ wx-1.6.1, xmerl-1.3.10
+Predecessor: OTP 18.2.4
+
+ Check out the git tag OTP-18.3, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-13363 Application(s): ssl
+
+ Use application:ensure_all_started/2 instead of
+ hard-coding dependencies
+
+
+ ---------------------------------------------------------------------
+ --- asn1-4.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-4.0.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13257 Application(s): asn1
+
+ When compiling to the PER format, the ASN.1 compiler
+ would crash when attempting to compile an ASN.1 module
+ with a constrained INTEGER with more than 65536 values
+ and named values. (Thanks to Ingars for reporting this
+ bug.)
+
+
+ OTP-13324 Application(s): asn1
+
+ The ASN.1 compiler will now emit Dialyzer suppressions
+ for improper lists. Thus, there is no longer any need
+ to use --Wno_improper_lists when analyzing modules
+ generated by the ASN.1 compiler.
+
+
+ Full runtime dependencies of asn1-4.0.2: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.12 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.12 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13003 Application(s): common_test
+ Related Id(s): seq13005
+
+ This update fixes the problem with generic printouts in
+ the html log file not having special characters
+ escaped. Printouts made with io:format/2 and ct:pal/2
+ will now get special characters escaped automatically.
+ Common Test will not attempt to escape characters
+ printed with ct:log/2 since it is assumed that the user
+ may want to print html tagged data using this function.
+ A new function, ct:log/5, has been added, which offers
+ optional escaping of characters. The latter function
+ may also be used to print text to the log without
+ headers and CSS class wrapping (analogue to
+ io:format/2).
+
+
+ OTP-13386 Application(s): common_test
+
+ Commit 4cf832f1ad163f5b25dd8a6f2d314c169c23c82f
+ erroneously removed logging of open and close of
+ netconf connections. This is now corrected.
+
+
+ OTP-13388 Application(s): common_test, test_server
+
+ The directory to which nodes started with
+ test_server:start_node/3 writes their erl_crash.dump is
+ changed. The crashdumps were earlier written to the
+ directory of test_server.beam, but in later versions of
+ Microsoft Windows this is no longer writable (even for
+ administrators). The framework (common_test) log
+ directory is now used instead.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13241 Application(s): common_test
+ Related Id(s): seq12979
+
+ This update makes it possible to specify multiple
+ instances of the same group or test case in one test
+ specification term in order to repeat execution.
+ Example: {groups, "./", my_SUITE, [my_group, my_group],
+ {cases, all}}, or {cases, "./", my_SUITE, [my_tc,
+ my_tc, my_tc]}.
+
+
+ OTP-13242 Application(s): common_test, test_server
+ Related Id(s): seq12991
+
+ Two new CT hook functions have been added:
+ post_init_per_testcase/4 and pre_end_per_testcase/3.
+ With these hook functions, it is possible to perform
+ arbitrary actions (including modifications of test
+ execution, test state and results) immediately before
+ and after the execution of the test case.
+
+
+ OTP-13338 Application(s): common_test
+ Related Id(s): seq13053, seq13069
+
+ The ct_netconfc was earlier very restrictive as to
+ which SSH options the user could set. This is now
+ changed, and any SSH option is now allowed. The netconf
+ client will simply pass on any option, which it does
+ not recognize, to SSH.
+
+
+ Full runtime dependencies of common_test-1.12: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, test_server-3.9, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-6.0.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-6.0.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13208 Application(s): compiler
+
+ An complicated guard expression in a function call
+ could crash the compiler. (Thanks to Thomas Arts for
+ reporting this bug.)
+
+
+ OTP-13223 Application(s): compiler
+
+ Constructing a map in a guard in a catch could crash
+ the compiler. (Thanks to Thomas Arts for reporting this
+ bug.)
+
+
+ OTP-13231 Application(s): compiler
+
+ Updating a fun as if it were a map would cause the
+ compiler to crash. (Thanks to Thomas Arts for reporting
+ this bug.)
+
+
+ OTP-13238 Application(s): compiler, dialyzer, hipe
+
+ Fix pretty printing of Core Maps
+
+ Literal maps could cause Dialyzer to crash when pretty
+ printing the results.
+
+
+ OTP-13309 Application(s): compiler
+
+ A complex combination of bit syntax matching operations
+ would cause an internal consistency check failure
+ during compilation. (Thanks to Jose Valim for reporting
+ this bug.)
+
+
+ Full runtime dependencies of compiler-6.0.3: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosNotification-1.2.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosNotification-1.2.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12862 Application(s): cosNotification, cosTime,
+ cosTransactions, eunit, orber, xmerl
+
+ Suppress Dialyzer warnings.
+
+
+ Full runtime dependencies of cosNotification-1.2.1: cosEvent-2.1.15,
+ cosTime-1.1.14, erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosTime-1.2.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTime-1.2.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12862 Application(s): cosNotification, cosTime,
+ cosTransactions, eunit, orber, xmerl
+
+ Suppress Dialyzer warnings.
+
+
+ Full runtime dependencies of cosTime-1.2.1: cosEvent-2.1.15,
+ erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosTransactions-1.3.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTransactions-1.3.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12862 Application(s): cosNotification, cosTime,
+ cosTransactions, eunit, orber, xmerl
+
+ Suppress Dialyzer warnings.
+
+
+ Full runtime dependencies of cosTransactions-1.3.1: erts-7.0,
+ kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.6.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.6.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13249 Application(s): crypto
+
+ Fix bug for aes_ecb block crypto when data is larger
+ than 16 bytes.
+
+
+ OTP-13311 Application(s): crypto, ssl
+
+ Improve portability of ECC tests in Crypto and SSL for
+ "exotic" OpenSSL versions.
+
+
+ Full runtime dependencies of crypto-3.6.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.1.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12994 Application(s): debugger, observer
+
+ Documentation corrections.
+
+
+ Full runtime dependencies of debugger-4.1.2: compiler-5.0, erts-6.0,
+ kernel-3.0, stdlib-2.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-2.9 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-2.9 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.13 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13103 Application(s): dialyzer
+ Related Id(s): ERL-40
+
+ Dialyzer no longer asserts that files and directories
+ to be removed from a PLT exist.
+
+
+ OTP-13237 Application(s): dialyzer
+
+ Fix a bug concerning parameterized opaque types.
+
+
+ OTP-13238 Application(s): compiler, dialyzer, hipe
+
+ Fix pretty printing of Core Maps
+
+ Literal maps could cause Dialyzer to crash when pretty
+ printing the results.
+
+
+ OTP-13287 Application(s): dialyzer
+
+ If a behavior module contains an non-exported function
+ with the same name as one of the behavior's callbacks,
+ the callback info was inadvertently deleted from the
+ PLT as the dialyzer_plt:delete_list/2 function was
+ cleaning up the callback table.
+
+
+ OTP-13312 Application(s): dialyzer
+
+ Correct the contract for erlang:byte_size/1
+
+ Correct the handling of comparison operators for map
+ and bit string operands.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13217 Application(s): dialyzer
+
+ Dialyzer recognizes calls to M:F/A where M, F, and A
+ are all literals.
+
+
+ Full runtime dependencies of dialyzer-2.9: compiler-5.0, erts-7.0,
+ hipe-3.13, kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.11.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.11.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13164 Application(s): diameter
+
+ Make peer handling more efficient.
+
+ Inefficient lookup and manipulation of peer lists could
+ result in poor performance when many outgoing requests
+ were sent simultaneously, or when many peers connected
+ simultaneously. Filtering peer lists on realm/host is
+ now also more efficient in many cases.
+
+
+ OTP-13342 Application(s): diameter
+
+ Fix handling of shared peer connections in watchdog
+ state SUSPECT.
+
+ A peer connection shared from a remote node was
+ regarded as being up for the lifetime of the
+ connection, ignoring watchdog transitions into state
+ SUSPECT.
+
+
+ Full runtime dependencies of diameter-1.11.2: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.7.18 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.7.18 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13234 Application(s): edoc
+ Related Id(s): ERL-63
+
+ Assign correct names to list arguments.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13302 Application(s): edoc
+
+ Unless the sort_functions option is true, edoc_layout
+ does not sort functions.
+
+
+ Full runtime dependencies of edoc-0.7.18: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13327 Application(s): eldap
+
+ ELDAP did not send an 'unBind' request before closing
+ the connection.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12272 Application(s): eldap
+
+ Handles the referral result code from LDAP servers.
+ Adds the return value {ok, {referral,UrlList}} to some
+ functions. See the Eldap reference manual for details.
+
+
+ Full runtime dependencies of eldap-1.2.1: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.4.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.4.2 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12955 Application(s): erl_docgen
+
+ Correctly generate anno tags for maps keys
+
+
+ Full runtime dependencies of erl_docgen-0.4.2: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.8.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.8.2 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13328 Application(s): erl_interface
+
+ Fix Erl_Interface build error on Debian/Hurd and
+ Debian/kFreeBSD. (Thanks to Sergei Golovan)
+
+
+ --- Improvements and New Features ---
+
+ OTP-13364 Application(s): erl_interface, kernel, wx
+
+ EPMD supports both IPv4 and IPv6
+
+ Also affects oldest supported windows version.
+
+
+ ---------------------------------------------------------------------
+ --- erts-7.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-7.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13060 Application(s): erts
+
+ The '-path' flag to 'erl' has been documented. This
+ flag replaces the path specified in the boot script. It
+ has always existed, but was earlier only documented in
+ SASL (script).
+
+
+ OTP-13216 Application(s): erts
+
+ The call_time tracing functionality internally used a
+ time based on OS system time in order to measure call
+ time which could cause erroneous results if OS system
+ time was changed during tracing.
+
+ This functionality now use Erlang monotonic time in
+ order to measure time. Besides fixing the erroneous
+ results due to OS system time being used, the results
+ are often also better since Erlang monotonic time often
+ has better accuracy and precision.
+
+
+ OTP-13220 Application(s): erts
+
+ Fix behaviour of -delay_write command line switch of
+ epmd, which is used for debugging - in some cases epmd
+ was sleeping twice the requested amount of time.
+
+
+ OTP-13245 Application(s): erts
+
+ Fix race between timeout and exit signal that could
+ cause a process to ignore the exit signal and continue
+ execution. Bug exist since OTP 18.0.
+
+
+ OTP-13251 Application(s): erts
+ Related Id(s): ERL-49
+
+ Fix bug in erlang:halt/1,2 for large exit status
+ values, causing either badarg (on 32-bit) or exit with
+ a crash dump and/or core dump (on 64-bit). Make
+ erlang:halt/1,2 tolerate any non negative integer as
+ exit status and truncate high order bits if the OS does
+ not support it.
+
+
+ OTP-13254 Application(s): erts, kernel
+ Related Id(s): OTP-11997, OTP-13222
+
+ gen_tcp:accept/2 was not time warp safe. This since it
+ used the same time as returned by erlang:now/0 when
+ calculating timeout. This has now been fixed.
+
+
+ OTP-13270 Application(s): erts
+
+ Fix faulty error handling when writing to a compressed
+ file.
+
+
+ OTP-13271 Application(s): erts
+
+ Fix sendfile usage for large files on FreeBSD
+
+
+ OTP-13282 Application(s): erts
+ Related Id(s): ERL-79
+
+ Fix bug that could cause
+ process_info(P,current_location) to crash emulator for
+ hipe compiled modules.
+
+
+ OTP-13292 Application(s): erts
+
+ Out of memory errors have been changed to cause an exit
+ instead of abort.
+
+
+ OTP-13298 Application(s): erts
+ Related Id(s): OTP-11388
+
+ When calling garbage_collect/[1,2] or
+ check_process_code/[2,3] from a process with a higher
+ priority than the priority of the process operated on,
+ the run queues could end up in an inconsistent state.
+ This bug has now been fixed.
+
+
+ OTP-13326 Application(s): erts
+ Related Id(s): ERL-80
+
+ A workaround for an issue with older gcc versions (less
+ than 5) and inline assembly on 32-bit x86 caused an
+ emulator crash when it had been compiled with a newer
+ gcc version. An improved configure test, run when
+ building OTP, now detects whether the workaround should
+ be used or not.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13201 Application(s): erts
+
+ Introduced new statistics functionality in order to
+ more efficiently retrieve information about run able
+ and active processes and ports. For more information
+ see:
+
+ -- statistics(total_run_queue_lengths)
+
+ -- statistics(run_queue_lengths)
+
+ -- statistics(total_active_tasks)
+
+ -- statistics(active_tasks)
+
+
+ OTP-13222 Application(s): erts, kernel, stdlib
+ Related Id(s): OTP-11997
+
+ Time warp safety improvements.
+
+ Introduced the options monotonic_timestamp, and
+ strict_monotonic_timestamp to the trace, sequential
+ trace, and system profile functionality. This since the
+ already existing timestamp option is not time warp
+ safe.
+
+ Introduced the option safe_fixed_monotonic_time to
+ ets:info/2 and dets:info/2. This since the already
+ existing safe_fixed option is not time warp safe.
+
+
+ OTP-13301 Application(s): erts
+
+ Fix a register race where down nodes goes undetected in
+ epmd
+
+
+ OTP-13336 Application(s): erts
+
+ Improved the gcc inline assembly implementing double
+ word atomic compare and exchange on x86/x86_64 so that
+ it also can be used when compiling with clang.
+
+
+ OTP-13365 Application(s): erts
+ Related Id(s): OTP-9892
+
+ An optimization preventing a long wait for a scheduler
+ thread looking up information about a process executing
+ on another scheduler thread had unintentionally been
+ lost in erts-5.10 (OTP R16A). This optimization has now
+ been reintroduced.
+
+
+ Full runtime dependencies of erts-7.3: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.2.13 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.2.13 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12862 Application(s): cosNotification, cosTime,
+ cosTransactions, eunit, orber, xmerl
+
+ Suppress Dialyzer warnings.
+
+
+ Full runtime dependencies of eunit-2.2.13: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.15 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The hipe-3.15 application can *not* be applied independently of
+ other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-7.1 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13238 Application(s): compiler, dialyzer, hipe
+
+ Fix pretty printing of Core Maps
+
+ Literal maps could cause Dialyzer to crash when pretty
+ printing the results.
+
+
+ OTP-13379 Application(s): hipe
+
+ Dialyzer warnings removed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13269 Application(s): hipe
+
+ Fix HiPE ErLLVM code generation for pattern matching
+ with UTF binaries.
+
+
+ OTP-13272 Application(s): hipe
+
+ Fix various binary construction inconsistencies for
+ hipe compiled code.
+
+ -- Passing bad field sizes to binary constructions
+ would throw badarith rather than badarg. Worse, in
+ guards, when the unit size of the field was 1, the
+ exception would leak rather than failing the function
+ clause match.
+
+ -- Passing bignums as field sizes to binary
+ constructions would always fail (and always with
+ badarg).
+
+ -- A bug in bs_init_bits that cased binary
+ constructions to fail with system_limit if they were at
+ least 1/8th of the actual limit.
+
+ -- Compiler crashes when matches against an integer
+ literal whose size fits an unsigned word, but not a
+ signed word or matches against an integer literal that
+ whose size is larger than the largest allowed bignum.
+
+ -- Very large binary constructions that should fail
+ with system_limit could instead fail with badarg or
+ even succeed with a faulty result.
+
+ -- Add missing check for unit size match when inserting
+ a binary. For example, a faulty expression like
+ >/binary>> would succeed.
+
+
+ Full runtime dependencies of hipe-3.15: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13403 Application(s): inets
+
+ The TFTP client/server has been fixed to allow file
+ sizes larger than 32MB block by allowing the 16 bit
+ block counter to wrap. Since this is a commonly
+ accepted behavior we regard it as a bug fix.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13286 Application(s): inets
+
+ Handle HTTP PATCH method in client.
+
+
+ OTP-13389 Application(s): inets
+
+ Expected termination should not be logged as an
+ application error.
+
+
+ Full runtime dependencies of inets-6.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-4.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-4.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-7.3 (first satisfied in OTP 18.3)
+ -- sasl-2.6 (first satisfied in OTP 18.1)
+ -- stdlib-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13254 Application(s): erts, kernel
+ Related Id(s): OTP-11997, OTP-13222
+
+ gen_tcp:accept/2 was not time warp safe. This since it
+ used the same time as returned by erlang:now/0 when
+ calculating timeout. This has now been fixed.
+
+
+ OTP-13335 Application(s): kernel
+ Related Id(s): ERL-95
+
+ Correct the contract for inet:getifaddrs/1.
+
+
+ OTP-9375 Application(s): kernel
+
+ code:load_abs([10100]) would bring down the entire
+ runtime system and create a crash dump. Corrected to
+ generate an error exception in the calling process.
+
+ Also corrected specs for code loading functions and
+ added more information in the documentation about the
+ error reasons returned by code-loading functions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13222 Application(s): erts, kernel, stdlib
+ Related Id(s): OTP-11997
+
+ Time warp safety improvements.
+
+ Introduced the options monotonic_timestamp, and
+ strict_monotonic_timestamp to the trace, sequential
+ trace, and system profile functionality. This since the
+ already existing timestamp option is not time warp
+ safe.
+
+ Introduced the option safe_fixed_monotonic_time to
+ ets:info/2 and dets:info/2. This since the already
+ existing safe_fixed option is not time warp safe.
+
+
+ OTP-13250 Application(s): kernel
+
+ Add validation callback for heart
+
+ The erlang heart process may now have a validation
+ callback installed. The validation callback will be
+ executed, if present, before any heartbeat to heart
+ port program. If the validation fails, or stalls, no
+ heartbeat will be sent and the node will go down.
+
+ With the option 'check_schedulers' heart executes a
+ responsiveness check of the schedulers before a
+ heartbeat is sent to the port program. If the
+ responsiveness check fails, the heartbeat will not be
+ performed (as intended).
+
+
+ OTP-13299 Application(s): kernel
+
+ Clarify documentation of net_kernel:allow/1
+
+
+ OTP-13364 Application(s): erl_interface, kernel, wx
+
+ EPMD supports both IPv4 and IPv6
+
+ Also affects oldest supported windows version.
+
+
+ Full runtime dependencies of kernel-4.2: erts-7.3, sasl-2.6,
+ stdlib-2.6
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.13.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.13.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13284 Application(s): mnesia
+
+ Avoid deadlock possibility in mnesia:del_table_copy/2
+
+
+ Full runtime dependencies of mnesia-4.13.3: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.1.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12994 Application(s): debugger, observer
+
+ Documentation corrections.
+
+
+ Full runtime dependencies of observer-2.1.2: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- orber-3.8.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The orber-3.8.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12862 Application(s): cosNotification, cosTime,
+ cosTransactions, eunit, orber, xmerl
+
+ Suppress Dialyzer warnings.
+
+
+ Full runtime dependencies of orber-3.8.1: erts-7.0, inets-5.10,
+ kernel-3.0, mnesia-4.12, ssl-5.3.4, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.1.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.1.1 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13381 Application(s): public_key
+ Related Id(s): seq13070
+
+ An encapsulated PEM header shall be followed by a blank
+ line
+
+
+ Full runtime dependencies of public_key-1.1.1: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.9.3 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.9.3 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13279 Application(s): runtime_tools
+
+ dbg:trace_client() now uses a read buffer to speed up
+ reading of trace files.
+
+
+ Full runtime dependencies of runtime_tools-1.9.3: erts-7.0,
+ kernel-3.0, mnesia-4.12, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-2.7 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The sasl-2.7 application can *not* be applied independently of
+ other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-4.1 (first satisfied in OTP 18.1)
+ -- stdlib-2.8 (first satisfied in OTP 18.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13291 Application(s): sasl
+
+ During upgrade, the release_handler collects a list of
+ supervisor pids in order to list all processes in the
+ supervisor tree. If one of the supervisors
+ (legitimately) exits before release_handler can examine
+ it, then sys:get_status/1 would earlier be called with
+ a dead pid, causing a 'noproc' error. This has been
+ corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13057 Application(s): sasl
+
+ The module overload is deprecated and will be removed
+ in OTP 19.
+
+
+ OTP-13290 Application(s): sasl, stdlib
+
+ Improve implementation of supervisor child count,
+ making it faster and more accurate for dynamic
+ processes of a simple_one_for_one supervisor.
+
+
+ Full runtime dependencies of sasl-2.7: erts-6.0, kernel-4.1,
+ stdlib-2.8, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13264 Application(s): snmp
+
+ Snmp agent now properly handles vacmViewTreeFamily
+ masks.
+
+
+ Full runtime dependencies of snmp-5.2.2: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.2.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.2.2 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13305 Application(s): ssh
+ Related Id(s): ERL-87
+
+ Documentation correction of ssh_sftp:position/4
+
+ Thanks to Rabbe Fogelholm.
+
+
+ Full runtime dependencies of ssh-4.2.2: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-0.22, stdlib-2.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-7.3 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13185 Application(s): ssl
+
+ Make sure there is only one poller validator at a time
+ for validating the session cache.
+
+
+ OTP-13253 Application(s): ssl
+
+ A timing related issue could cause ssl to hang,
+ especially happened with newer versions of OpenSSL in
+ combination with ECC ciphers.
+
+
+ OTP-13268 Application(s): ssl
+
+ Work around a race condition in the TLS distribution
+ start.
+
+
+ OTP-13306 Application(s): ssl
+
+ Big handshake messages are now correctly fragmented in
+ the TLS record layer.
+
+
+ OTP-13311 Application(s): crypto, ssl
+
+ Improve portability of ECC tests in Crypto and SSL for
+ "exotic" OpenSSL versions.
+
+
+ OTP-13377 Application(s): ssl
+
+ Certificate extensions marked as critical are ignored
+ when using verify_none
+
+
+ OTP-13378 Application(s): ssl
+
+ If a certificate doesn't contain a CRL Distribution
+ Points extension, and the relevant CRL is not in the
+ cache, and the crl_check option is not set to
+ best_effort , the revocation check should fail.
+
+
+ OTP-13391 Application(s): ssl
+
+ Enable TLS distribution over IPv6
+
+
+ --- Improvements and New Features ---
+
+ OTP-13219 Application(s): ssl
+
+ Improve error reporting for TLS distribution
+
+
+ OTP-13232 Application(s): ssl
+
+ Include options from connect, listen and accept in
+ connection_information/1,2
+
+
+ OTP-13285 Application(s): ssl
+
+ Allow adding extra options for outgoing TLS
+ distribution connections, as supported for plain TCP
+ connections.
+
+
+ OTP-13300 Application(s): ssl
+
+ Use loopback as server option in TLS-distribution
+ module
+
+
+ OTP-13334 Application(s): ssl
+
+ Verify certificate signature against original
+ certificate binary.
+
+ This avoids bugs due to encoding errors when
+ re-encoding a decode certificate. As there exists
+ several decode step and using of different ASN.1
+ specification this is a risk worth avoiding.
+
+
+ OTP-13363 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Use application:ensure_all_started/2 instead of
+ hard-coding dependencies
+
+
+ Full runtime dependencies of ssl-7.3: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-2.8 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-2.8 application can *not* be applied independently
+ of other applications on an arbitrary OTP 18 installation.
+
+ On a full OTP 18 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-7.3 (first satisfied in OTP 18.3)
+ -- kernel-4.1 (first satisfied in OTP 18.1)
+ -- sasl-2.6 (first satisfied in OTP 18.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13218 Application(s): stdlib
+
+ Fix evaluation in matching of bound map key variables
+ in the interpreter.
+
+ Prior to this patch, the following code would not
+ evaluate: X = key,(fun(#{X := value}) -> true end)(#{X
+ => value})
+
+
+ OTP-13228 Application(s): stdlib
+ Related Id(s): ERL-32
+
+ Fix erl_eval not using non-local function handler.
+
+
+ OTP-13230 Application(s): stdlib
+ Related Id(s): ERL-62
+
+ The Erlang Code Linter no longer crashes if there is a
+ -deprecated() attribute but no -module() declaration.
+
+
+ OTP-13239 Application(s): stdlib
+ Related Id(s): OTP-11997
+
+ The timestamp in the result returned by dets:info(Tab,
+ safe_fixed) was unintentionally broken as a result of
+ the time API rewrites in OTP 18.0. This has now been
+ fixed.
+
+
+ OTP-13278 Application(s): stdlib
+
+ A rare race condition in beam_lib when using encrypted
+ abstract format has been eliminated.
+
+
+ OTP-13376 Application(s): stdlib
+
+ Improved maps:with/2 and maps:without/2 algorithms
+
+ The new implementation speeds up the execution
+ significantly for all sizes of input.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13222 Application(s): erts, kernel, stdlib
+ Related Id(s): OTP-11997
+
+ Time warp safety improvements.
+
+ Introduced the options monotonic_timestamp, and
+ strict_monotonic_timestamp to the trace, sequential
+ trace, and system profile functionality. This since the
+ already existing timestamp option is not time warp
+ safe.
+
+ Introduced the option safe_fixed_monotonic_time to
+ ets:info/2 and dets:info/2. This since the already
+ existing safe_fixed option is not time warp safe.
+
+
+ OTP-13281 Application(s): stdlib
+
+ In the shell Ctrl+W (delete word) will no longer
+ consider "." as being part of a word.
+
+
+ Full runtime dependencies of stdlib-2.8: compiler-5.0, crypto-3.3,
+ erts-7.3, kernel-4.1, sasl-2.6
+
+
+ ---------------------------------------------------------------------
+ --- test_server-3.10 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The test_server-3.10 application can be applied independently of
+ other applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13242 Application(s): common_test, test_server
+ Related Id(s): seq12991
+
+ Two new CT hook functions have been added:
+ post_init_per_testcase/4 and pre_end_per_testcase/3.
+ With these hook functions, it is possible to perform
+ arbitrary actions (including modifications of test
+ execution, test state and results) immediately before
+ and after the execution of the test case.
+
+
+ Full runtime dependencies of test_server-3.10: erts-7.0, inets-6.0,
+ kernel-4.0, observer-2.1, runtime_tools-1.8.16, stdlib-2.5,
+ syntax_tools-1.7, tools-2.8
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.8.3 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13200 Application(s): tools
+
+ cover:compile_beam/1 and
+ cover:compile_beam_directory/1,2 crashed when trying to
+ compile a beam file without a 'file' attribute. This
+ has been corrected and an error is returned instead.
+
+ Thanks to Louis-Philippe Gauthier for reporting this
+ bug.
+
+
+ OTP-13277 Application(s): tools
+ Related Id(s): 856, PR
+
+ Fix a bit string comprehension bug in Cover.
+
+
+ Full runtime dependencies of tools-2.8.3: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5,
+ webtool-0.8.10
+
+
+ ---------------------------------------------------------------------
+ --- webtool-0.9.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The webtool-0.9.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13406 Application(s): webtool
+
+ Remove dependency to inets mod_include in
+ configuration.
+
+
+ Full runtime dependencies of webtool-0.9.1: erts-6.0, inets-5.10,
+ kernel-3.0, observer-2.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.6.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.6.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13404 Application(s): wx
+
+ Fixed commands with multiple binaries, such as
+ wxImage:new/4. Added wxWindow:SetDoubleBuffered/1,
+ wxWindow:isDoubleBuffered/1, wxWindow:setTransparent/2
+ and wxWindow:canSetTransparent/1. Fixed timing issues.
+
+
+ Full runtime dependencies of wx-1.6.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.10 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.10 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12862 Application(s): cosNotification, cosTime,
+ cosTransactions, eunit, orber, xmerl
+
+ Suppress Dialyzer warnings.
+
+
+ Full runtime dependencies of xmerl-1.3.10: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Alex Wilson, Alexey Lebedeff, Andrew Bennett, Ben Wilson, Bernard
+ Duggan, Dániel Szoboszlay, Hamidreza Soleimani, JP, José Valim,
+ Kostis Sagonas, Luca Favatella, Luis Rascao, Magnus Henoch,
+ Magnus Lång, Matt Campbell, Michael Santos, Mikael Pettersson,
+ Pablo Lamela, Pavel Abalihin, Péter Gömöri, Prayag Verma,
+ Richard Jones, Rory Byrne, Stavros Aronis, Steve Vinoski,
+ Tuncer Ayaz, tmanevik, xsipewe
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0-rc1.README.txt b/release-notes/OTP-19.0-rc1.README.txt
new file mode 100644
index 0000000..7ff6391
--- /dev/null
+++ b/release-notes/OTP-19.0-rc1.README.txt
@@ -0,0 +1,2792 @@
+Patch Package: OTP 19.0
+Git Tag: OTP-19.0
+Date: 2016-05-12
+Trouble Report Id: OTP-10267, OTP-10282, OTP-10292, OTP-10349,
+ OTP-11879, OTP-12217, OTP-12345, OTP-12502,
+ OTP-12573, OTP-12590, OTP-12593, OTP-12719,
+ OTP-12861, OTP-12863, OTP-12883, OTP-12908,
+ OTP-12951, OTP-12979, OTP-13017, OTP-13033,
+ OTP-13034, OTP-13047, OTP-13058, OTP-13059,
+ OTP-13065, OTP-13082, OTP-13086, OTP-13087,
+ OTP-13088, OTP-13089, OTP-13096, OTP-13097,
+ OTP-13111, OTP-13112, OTP-13122, OTP-13123,
+ OTP-13131, OTP-13148, OTP-13152, OTP-13153,
+ OTP-13167, OTP-13174, OTP-13175, OTP-13184,
+ OTP-13191, OTP-13195, OTP-13206, OTP-13207,
+ OTP-13214, OTP-13227, OTP-13229, OTP-13244,
+ OTP-13255, OTP-13260, OTP-13265, OTP-13267,
+ OTP-13280, OTP-13288, OTP-13289, OTP-13293,
+ OTP-13294, OTP-13325, OTP-13341, OTP-13347,
+ OTP-13366, OTP-13374, OTP-13375, OTP-13383,
+ OTP-13392, OTP-13401, OTP-13407, OTP-13408,
+ OTP-13409, OTP-13410, OTP-13411, OTP-13419,
+ OTP-13422, OTP-13425, OTP-13430, OTP-13431,
+ OTP-13440, OTP-13442, OTP-13444, OTP-13445,
+ OTP-13449, OTP-13452, OTP-13458, OTP-13459,
+ OTP-13461, OTP-13464, OTP-13470, OTP-13474,
+ OTP-13475, OTP-13476, OTP-13483, OTP-13485,
+ OTP-13487, OTP-13488, OTP-13489, OTP-13491,
+ OTP-13493, OTP-13494, OTP-13495, OTP-13496,
+ OTP-13497, OTP-13499, OTP-13500, OTP-13501,
+ OTP-13502, OTP-13503, OTP-13504, OTP-13507,
+ OTP-13508, OTP-13512, OTP-13516, OTP-13517,
+ OTP-13520, OTP-13522, OTP-13523, OTP-13524,
+ OTP-13526, OTP-13527, OTP-13531, OTP-13532,
+ OTP-13534, OTP-13540, OTP-13541, OTP-13542,
+ OTP-13544, OTP-13545, OTP-13548, OTP-13551,
+ OTP-13553, OTP-13555, OTP-13556, OTP-13558,
+ OTP-13559, OTP-13560, OTP-13561, OTP-13562
+Seq num: seq13002
+System: OTP
+Release: 19
+Application: asn1-4.0.3, common_test-1.12.2, compiler-7.0,
+ cosEvent-2.2.1, cosEventDomain-1.2.1,
+ cosFileTransfer-1.2.1, cosNotification-1.2.2,
+ cosProperty-1.2.1, cosTime-1.2.2,
+ cosTransactions-1.3.2, crypto-3.7,
+ debugger-4.2, dialyzer-3.0, diameter-1.12,
+ edoc-0.7.19, eldap-1.2.2, erl_docgen-0.4.3,
+ erl_interface-3.9, erts-8.0, et-1.6,
+ eunit-2.2.14, gs-1.6.1, hipe-3.15.1,
+ ic-4.4.1, inets-6.3, jinterface-1.7,
+ kernel-5.0, megaco-3.18.1, mnesia-4.14,
+ observer-2.2, odbc-2.11.2, orber-3.8.2,
+ os_mon-2.4.1, otp_mibs-1.1.1,
+ parsetools-2.1.2, percept-0.8.12,
+ public_key-1.2, reltool-0.7.1,
+ runtime_tools-1.10, sasl-3.0, snmp-5.2.3,
+ ssh-4.3, ssl-8.0, stdlib-3.0,
+ syntax_tools-2.0, tools-2.8.4, typer-0.9.11,
+ wx-1.7, xmerl-1.3.11
+Predecessor: OTP
+
+ Check out the git tag OTP-19.0, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10267 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first haing to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-13058 Application(s): mnesia
+
+ Added experimental external backend plugin api. This
+ adds the possibility for the user to write other
+ storage backends for data, for example by using shared
+ memory or ram-cached disk storage.
+
+ The plugin api may change in future versions after
+ being battle tested.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13366 Application(s): erts
+ Related Id(s): OTP-13047
+
+ Introduction of configurable management of data
+ referred to by the message queue of a process. Each
+ process can be configured individually.
+
+ It is now possible to configure the message queue of a
+ process, so that all data referred by it will be kept
+ outside of the heap, and by this prevent this data from
+ being part of garbage collections.
+
+ For more information see the documentation of
+ process_flag(message_queue_data, MQD).
+
+
+ OTP-13496 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13503 Application(s): erts
+
+ The erts internal tracing support has been changed to
+ have much less overhead and be more scalable.
+
+ This rewrite does not break any backwards
+ incompatabilities, but it does change the ordering of
+ some trace messages when compared to previous releases.
+ It should be noted that this only applies to trace
+ messages sent to processes or ports, it does not apply
+ to the new tracer module. However in future releases
+ they may also be effected by this.
+
+ Trace messages are only guaranteed to be ordered from
+ one traced process or port. In previous releases this
+ was not visible as a 'send' trace message would always
+ arrive before the corresponding 'receive' trace message
+ that is no longer always the case. This also means that
+ timestamped trace messages may seem to arrive out of
+ order as the timestamp is taken when the event is
+ triggered and not when it is put in the queue of the
+ tracer.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10267 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first haing to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-11879 Application(s): stdlib
+
+ Undocumented syntax for function specifications, -spec
+ F/A :: Domain -> Range, has been removed (without
+ deprecation).
+
+ Using the is_subtype(V, T) syntax for constraints (in
+ function specifications) is no longer documented, and
+ the newer syntax V :: T should be used instead. The
+ Erlang Parser still recognizes the is_subtype syntax,
+ and will continue to do so for some time.
+
+
+ OTP-12719 Application(s): stdlib
+
+ Background: In record fields with a type declaration
+ but without an initializer, the Erlang parser inserted
+ automatically the singleton type 'undefined' to the
+ list of declared types, if that value was not present
+ there. That is, the record declaration:
+
+ -record(rec, {f1 :: float(), f2 = 42 :: integer(), f3
+ :: some_mod:some_typ()}).
+
+ was translated by the parser to:
+
+ -record(rec, {f1 :: float() | 'undefined', f2 = 42 ::
+ integer(), f3 :: some_mod:some_typ() | 'undefined'}).
+
+ The rationale for this was that creation of a "dummy"
+ #rec{} record should not result in a warning from
+ dialyzer that, for example, the implicit initialization
+ of the #rec.f1 field violates its type declaration.
+
+ Problems: This seemingly innocent action has some
+ unforeseen consequences.
+
+ For starters, there is no way for programmers to
+ declare that e.g. only floats make sense for the f1
+ field of #rec{} records when there is no "obvious"
+ default initializer for this field. (This also affects
+ tools like PropEr that use these declarations produced
+ by the Erlang parser to generate random instances of
+ records for testing purposes.)
+
+ It also means that dialyzer does not warn if e.g. an
+ is_atom/1 test or something more exotic like an
+ atom_to_list/1 call is performed on the value of the f1
+ field.
+
+ Similarly, there is no way to extend dialyzer to warn
+ if it finds record constructions where f1 is not
+ initialized to some float.
+
+ Last but not least, it is semantically problematic when
+ the type of the field is an opaque type: creating a
+ union of an opaque and a structured type is very
+ problematic for analysis because it fundamentally
+ breaks the opacity of the term at that point.
+
+ Change: To solve these problems the parser will not
+ automatically insert the 'undefined' value anymore;
+ instead the user has the option to choose the places
+ where this value makes sense (for the field) and where
+ it does not and insert the | 'undefined' there
+ manually.
+
+ Consequences of this change: This change means that
+ dialyzer will issue a warning for all places where
+ records with uninitialized fields are created and those
+ fields have a declared type that is incompatible with
+ 'undefined' (e.g. float()). This warning can be
+ suppressed easily by adding | 'undefined' to the type
+ of this field. This also adds documentation that the
+ user really intends to create records where this field
+ is uninitialized.
+
+
+ OTP-12863 Application(s): syntax_tools
+
+ The abstract data type in erl_syntax is augmented with
+ types and function specifications.
+
+ The module erl_prettypr pretty prints types and
+ function specification, and the output can be parsed.
+
+ The types of record fields are no longer ignored. As a
+ consequence erl_syntax_lib:analyze_record_field/1
+ returns {Default, Type} instead of Default. The
+ functions analyze_record_attribute, analyze_attribute,
+ analyze_form, and analyze_forms in the erl_syntax_lib
+ module are also affected by this incompatible change.
+
+
+ OTP-13088 Application(s): erts
+
+ The functionality behind erlang:open_port/2 when called
+ with spawn or spawn_executable has been redone so that
+ the forking of the new program is done in a separate
+ process called erl_child_setup. This allows for a much
+ more robust implementation that uses less memory and
+ does not block the entire emulator if the program to be
+ started is on an un-accessible NFS. Benchmarks have
+ shown this approach to be about 3-5 times as fast as
+ the old approach where the fork/vfork was done by erts.
+ This is a pure stability and performance fix, however
+ some error messages may have changed, which is why it
+ is marked as a backwards incompatible change.
+
+
+ OTP-13148 Application(s): stdlib
+
+ Background: The types of record fields have since R12B
+ been put in a separate form by epp:parse_file(),
+ leaving the record declaration form untyped. The
+ separate form, however, does not follow the syntax of
+ type declarations, and parse transforms inspecting
+ -type() attributes need to know about the special
+ syntax. Since the compiler stores the return value of
+ epp:parse_file() as debug information in the abstract
+ code chunk ("Abst" or abstract_code), tools too need to
+ know about the special syntax, if they inspect -type()
+ attributes in abstract code.
+
+ Change: No separate type form is created by
+ epp:parse_file(), but the type information is kept in
+ the record fields. This means that all parse transforms
+ and all tools inspecting -record() declarations need to
+ recognize {typed_record_field, Field, Type}.
+
+
+ OTP-13184 Application(s): sasl
+
+ The module 'overload' is removed.
+
+
+ OTP-13195 Application(s): ssl
+
+ Remove default support for DES cipher suites
+
+
+ OTP-13449 Application(s): kernel
+
+ The functions rpc:safe_multi_server_call/2,3 that were
+ deprecated in R12B have been removed.
+
+
+ OTP-13496 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13497 Application(s): erts
+
+ When the 'procs' trace flag is enabled, a 'spawned'
+ trace event is now also generated by a newly created
+ process. The previous event 'spawn' remains, but as it
+ is generated by the process that did the spawn, it is
+ not guaranteed that it is ordered with other trace
+ events from the newly spawned process. So when tracking
+ the lifetime of a process this new event should be used
+ as the creation event.
+
+ This new trace event is marked as an incompatabiliy
+ because tools that expect certain trace events when
+ enabling 'procs' will have to updated.
+
+
+ OTP-13504 Application(s): compiler
+
+ The compiler will no longer put the compilation date
+ and time into BEAM files. That means that two BEAM
+ files compiled on the same computer from the same
+ source code and compilation options will be identical.
+
+ Note: If you want to find out whether a BEAM file on
+ disk is different from the loaded code, compared the
+ MD5 value obtained from Mod:module_info(md5) with the
+ MD5 value obtained from beam_lib:md5(BeamFileForMod)
+
+ .
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13542 Application(s): dialyzer
+ Related Id(s): PR-1014
+
+ The type specification syntax for Maps is improved:
+
+ --
+
+ The association type KeyType := ValueType denotes an
+ association that must be present.
+
+ --
+
+ The shorthand ... stands for the association type any()
+ => any().
+
+ An incompatible change is that #{} stands for the empty
+ map. The type map() (a map of any size) can be written
+ as #{...}.
+
+
+ OTP-13553 Application(s): wx
+
+ Changed atom 'boolean' fields in #wxMouseState{} to
+ 'boolean()'.
+
+ Moved out arguments in wxListCtrl:hitTest to result.
+
+ Removed no-op functions in wxGauge that have been
+ removed from wxWidgets-3.1.
+
+
+ OTP-13561 Application(s): inets
+
+ Remove module inets_regexp. Module re should be used
+ instead.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-4.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-4.0.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of asn1-4.0.3: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.12.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.12.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13475 Application(s): common_test
+
+ The following modules were missing in
+ common_test.app.src: ct_groups, ct_property_test,
+ ct_release_test, ct_webtool, ct_webtool_sup,
+ test_server_gl. They have now been added.
+
+
+ Full runtime dependencies of common_test-1.12.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13430 Application(s): compiler
+ Related Id(s): ERL-113
+
+ compile:forms/1,2 would crash when used in a working
+ directory thad had been deleted by another process.
+ (Thanks to Adam Lindberg for reporting this bug.)
+
+
+ --- Improvements and New Features ---
+
+ OTP-12951 Application(s): compiler
+
+ Optimization of tuple matching has been slightly
+ improved.
+
+
+ OTP-12979 Application(s): compiler
+
+ Five deprecated and undocumented functions in the
+ module core_lib have been removed. The functions are:
+ get_anno/{1,2}, is_literal/1, is_literal_list/1, and
+ literal_value. Use the appropriate functions in the
+ cerl module instead.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ *** HIGHLIGHT ***
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13280 Application(s): compiler
+
+ The function mapfold/4 has been added to the cerl_trees
+ module.
+
+
+ OTP-13289 Application(s): compiler
+
+ Bitstring comprehensions have been generalized to allow
+ arbitrary expressions in the construction part.
+
+
+ OTP-13374 Application(s): compiler
+ Related Id(s): ERL-44
+
+ The compiler will now produce warnings for binary
+ patterns that will never match (example: > = Bin).
+
+
+ OTP-13504 Application(s): compiler
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The compiler will no longer put the compilation date
+ and time into BEAM files. That means that two BEAM
+ files compiled on the same computer from the same
+ source code and compilation options will be identical.
+
+ Note: If you want to find out whether a BEAM file on
+ disk is different from the loaded code, compared the
+ MD5 value obtained from Mod:module_info(md5) with the
+ MD5 value obtained from beam_lib:md5(BeamFileForMod)
+
+ .
+
+
+ Full runtime dependencies of compiler-7.0: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosEvent-2.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosEvent-2.2.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosEvent-2.2.1: erts-7.0, kernel-3.0,
+ orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosEventDomain-1.2.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosEventDomain-1.2.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosEventDomain-1.2.1:
+ cosNotification-1.1.21, erts-7.0, kernel-3.0, orber-3.6.27,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosFileTransfer-1.2.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosFileTransfer-1.2.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosFileTransfer-1.2.1:
+ cosProperty-1.1.17, erts-7.0, inets-5.10, kernel-3.0, orber-3.6.27,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosNotification-1.2.2 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosNotification-1.2.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosNotification-1.2.2: cosEvent-2.1.15,
+ cosTime-1.1.14, erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosProperty-1.2.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosProperty-1.2.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosProperty-1.2.1: erts-7.0, kernel-3.0,
+ mnesia-4.12, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosTime-1.2.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTime-1.2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosTime-1.2.2: cosEvent-2.1.15,
+ erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosTransactions-1.3.2 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTransactions-1.3.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosTransactions-1.3.2: erts-7.0,
+ kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12217 Application(s): crypto
+
+ Refactor crypto to use the EVP interface of OpenSSL,
+ which is the recommended interface that also enables
+ access to hardware acceleration for some operations.
+
+
+ OTP-13206 Application(s): crypto
+ Related Id(s): 832, pr
+
+ Add support for 192-bit keys for the aes_cbc cipher.
+
+
+ OTP-13207 Application(s): crypto
+ Related Id(s): pr829
+
+ Add support for 192-bit keys for aes_ecb.
+
+
+ OTP-13214 Application(s): crypto, ssl
+
+ Deprecate the function crypto:rand_bytes and make sure
+ that crypto:strong_rand_bytes is used in all places
+ that are cryptographically significant.
+
+
+ OTP-13483 Application(s): crypto
+ Related Id(s): PR-998
+
+ Enable AES-GCM encryption/decryption to change the tag
+ length between 1 to 16 bytes.
+
+
+ Full runtime dependencies of crypto-3.7: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13375 Application(s): debugger
+
+ When the debugger searches for source files, it will
+ also use the location of the source in the compilation
+ information part of the BEAM file.
+
+
+ Full runtime dependencies of debugger-4.2: compiler-5.0, erts-6.0,
+ kernel-3.0, stdlib-2.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13520 Application(s): dialyzer
+
+ Fix a bug in the translation of forms to types.
+
+
+ OTP-13544 Application(s): dialyzer
+ Related Id(s): PR-1007
+
+ Correct mispelling in Dialyzer's acronym definition.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10349 Application(s): dialyzer
+
+ The evaluation of SCCs in dialyzer_typesig is
+ optimized.
+
+ Maps are used instead of Dicts to further optimize the
+ evalutation.
+
+
+ OTP-13244 Application(s): dialyzer
+
+ Since Erlang/OTP R14A, when support for parameterized
+ modules was added, module() has included tuple(), but
+ that part is removed; the type module() is now the same
+ as atom(), as documented in the Reference Manual.
+
+
+ OTP-13542 Application(s): dialyzer
+ Related Id(s): PR-1014
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The type specification syntax for Maps is improved:
+
+ --
+
+ The association type KeyType := ValueType denotes an
+ association that must be present.
+
+ --
+
+ The shorthand ... stands for the association type any()
+ => any().
+
+ An incompatible change is that #{} stands for the empty
+ map. The type map() (a map of any size) can be written
+ as #{...}.
+
+
+ Full runtime dependencies of dialyzer-3.0: compiler-7.0, erts-8.0,
+ hipe-3.15.1, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.12 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.12 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13508 Application(s): diameter
+
+ Add diameter:peer_info/1.
+
+ That retrieves information in the style of
+ diameter:service_info/2, but for a single peer
+ connection.
+
+
+ Full runtime dependencies of diameter-1.12: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.7.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.7.19 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13558 Application(s): edoc
+
+ Handle typed record fields.
+
+
+ Full runtime dependencies of edoc-0.7.19: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of eldap-1.2.2: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.4.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.4.3 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of erl_docgen-0.4.3: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.9 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.9 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12593 Application(s): erts, kernel
+
+ The handling of on_load functions has been improved.
+ The major improvement is that if a code upgrade fails
+ because the on_load function fails, the previous
+ version of the module will now be retained.
+
+
+ OTP-13034 Application(s): erts
+
+ is_builtin(erlang, apply, 3) will now return true.
+
+
+ OTP-13288 Application(s): erts
+ Related Id(s): PR913
+
+ Fix enif_get_list_length to return false if list is
+ improper or have length larger than UINT_MAX (did
+ return true and an incorrect length value).
+
+
+ OTP-13341 Application(s): erts
+ Related Id(s): PR951
+
+ Cleanup hipe signal handling code for x86 and make it
+ more portable.
+
+
+ OTP-13411 Application(s): erts, kernel
+
+ Use fsync instead of fdatasync on Mac OSX.
+
+
+ OTP-13419 Application(s): erts
+
+ Make sure to create a crash dump when running out of
+ memory. This was accidentally removed in the erts-7.3
+ release.
+
+
+ OTP-13425 Application(s): erts
+
+ A bug has been fixed where if erlang was started +B on
+ a unix platform it would be killed by a SIGUSR2 signal
+ when creating a crash dump.
+
+
+ OTP-13452 Application(s): erts
+
+ Fix race between process_flag(trap_exit,true) and a
+ received exit signal.
+
+ A process could terminate due to exit signal even
+ though process_flag(trap_exit,true) had returned. A
+ very specific timing between call to process_flag/2 and
+ exit signal from another scheduler was required for
+ this to happen.
+
+
+ OTP-13459 Application(s): erts, stdlib
+
+ Don't search for non-existing Map keys twice
+
+ For maps:get/2,3 and maps:find/2, searching for an
+ immediate key, e.g. an atom, in a small map, the search
+ was performed twice if the key did not exist.
+
+
+ OTP-13474 Application(s): erts
+
+ When a abnormally large distribution message is about
+ to be sent, the VM has been changed to create a crash
+ dump instead of a core dump.
+
+
+ OTP-13485 Application(s): erts
+ Related Id(s): ERL-123
+
+ Fix erlang:process_info/2 type specification
+
+
+ OTP-13489 Application(s): erts
+ Related Id(s): ERL-127
+
+ Fix bug in open_port/2 with option {args, List}. A vm
+ crash could be caused by an improper List.
+
+
+ OTP-13494 Application(s): erts
+ Related Id(s): ERL-126
+
+ Don't crash on terminating processes with
+ erlang:system_profile/1,2
+
+
+ OTP-13512 Application(s): erts
+
+ Fixed bugs where the reduction counter was not handled
+ correct.
+
+
+ OTP-13517 Application(s): erts
+
+ Fixed typo in description of the EPMD_DUMP_REQ
+ response.
+
+
+ OTP-13540 Application(s): erts
+
+ Fixed a bug where a process flagged as sensitive would
+ sometimes record its save_calls when it shouldn't.
+
+
+ OTP-13562 Application(s): erts
+
+ Update configure scripts to not use hardcoded path for
+ /bin/pwd and /bin/rm.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10267 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first haing to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-10282 Application(s): erts
+ Related Id(s): [14], kunagi-14
+
+ Introduce LTTng tracing of Erlang Runtime System
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ This feature introduces tracepoints for schedulers,
+ drivers, memory carriers, memory and async thread pool.
+
+ For a list of all tracepoints, see Runtime Tools User's
+ Guide .
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ *** HIGHLIGHT ***
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-12573 Application(s): erts
+
+ The port of Erlang/OTP to the realtime operating system
+ OSE has been removed.
+
+
+ OTP-12590 Application(s): erts
+ Related Id(s): OTP-10251
+
+ Sharing preserved copy for messages and exit signals
+
+ Enable sharing preserved copy with configure option
+ --enable-sharing-preserving. This will preserve
+ sharing, within the process, when communication with
+ other processes in the Erlang node. There is a
+ trade-off, the copy is more costly but this cost can be
+ reclaimed if there is a lot of sharing in the message.
+ With this feature enabled literals will not be copied
+ in a send except during a purge phase of the module
+ where the literals are located.
+
+
+ OTP-12883 Application(s): erts
+
+ Halfword BEAM has been removed.
+
+
+ OTP-12908 Application(s): erts, kernel
+
+ Added os:perf_counter/1.
+
+ The perf_counter is a very very cheap and high
+ resolution timer that can be used to timestamp system
+ events. It does not have monoticity guarantees, but
+ should on most OS's expose a monotonous time.
+
+
+ OTP-13047 Application(s): erts
+
+ Support for a fragmented young heap generation. That
+ is, the young heap generation can consist of multiple
+ non continuous memory areas. The main reason for this
+ change is to avoid extra copying of messages that could
+ not be allocated directly on the receivers heap.
+
+
+ OTP-13086 Application(s): erts
+
+ Erlang linked-in driver can now force the call to
+ open_port to block until a call to erl_drv_init_ack is
+ made inside the driver. This is useful when you want to
+ do some asynchronous initialization, for example
+ getting configuration from a pipe, and you want the
+ initial open_port call to fail if the configuration is
+ incomplete or wrong. See the erl_driver documentation
+ for more details on the API.
+
+
+ OTP-13087 Application(s): erts
+
+ Erlang linked-in drivers can now set their own pid's as
+ seen in erlang:port_info/1 by using the erl_drv_set_pid
+ function. For more details see the erl_driver
+ documentation.
+
+
+ OTP-13088 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functionality behind erlang:open_port/2 when called
+ with spawn or spawn_executable has been redone so that
+ the forking of the new program is done in a separate
+ process called erl_child_setup. This allows for a much
+ more robust implementation that uses less memory and
+ does not block the entire emulator if the program to be
+ started is on an un-accessible NFS. Benchmarks have
+ shown this approach to be about 3-5 times as fast as
+ the old approach where the fork/vfork was done by erts.
+ This is a pure stability and performance fix, however
+ some error messages may have changed, which is why it
+ is marked as a backwards incompatible change.
+
+
+ OTP-13096 Application(s): erts
+
+ Improved yielding strategy in the implementation of the
+ following native functions:
+
+ -- erlang:binary_to_list/1
+
+ -- erlang:binary_to_list/3
+
+ -- erlang:bitstring_to_list/1
+
+ -- erlang:list_to_binary/1
+
+ -- erlang:iolist_to_binary/1
+
+ -- erlang:list_to_bitstring/1
+
+ -- binary:list_to_bin/1
+
+ This in order to improve performance of these
+ functions.
+
+
+ OTP-13097 Application(s): erts
+
+ All garbage collections of processes now bump
+ reductions. Also the amount of reductions bumped when
+ garbage collecting has been adjusted. It now better
+ corresponds to the amount of work performed. This in
+ order to improve the real time characteristics of the
+ system.
+
+
+ OTP-13111 Application(s): erts, kernel
+
+ New functions that can load multiple functions at once
+ have been added to the 'code' module. The functions are
+ code:atomic_load/1, code:prepare_loading/1,
+ code:finish_loading/1, and
+ code:ensure_modules_loaded/1.
+
+
+ OTP-13112 Application(s): erts
+
+ The function erl_prim_loader:start/3 has been removed.
+ Its documentation has also been removed.
+
+ The undocumented and unsupported function
+ erl_prim_loader:get_files/2 has been removed.
+
+
+ OTP-13122 Application(s): erts
+
+ Low level BIF erlang:purge_module/1 is made more robust
+ against incorrect use. Lingering processes that still
+ refer the old code are now killed before the module is
+ purged to prevent fatal VM behavior.
+
+
+ OTP-13123 Application(s): erts
+
+ Improved dirty scheduler implementation. For more
+ information see the NIF documentation.
+
+ Note that support for determining whether dirty NIF
+ support exist or not at compile time using the C
+ preprocessor macro ERL_NIF_DIRTY_SCHEDULER_SUPPORT has
+ been removed.
+
+
+ OTP-13167 Application(s): erts
+
+ Various optimizations done to process dictionary
+ access.
+
+
+ OTP-13174 Application(s): erts
+
+ Added max_heap_size process flag. See
+ erlang:process_flag for more details.
+
+
+ OTP-13227 Application(s): erts
+
+ Allow dynamic drivers and NIF libraries to be built
+ with gcc option -fvisibility=hidden for faster loading
+ and more optimized code.
+
+
+ OTP-13265 Application(s): erts
+
+ Add erlang:process_info(Pid, garbage_collection_info)
+ which returns extended garbage_collection information.
+ For more details see the documentation.
+
+
+ OTP-13293 Application(s): erts
+
+ The functions erlang:list_to_integer/1 and
+ string:to_integer/1 have been optimized for large
+ inputs.
+
+
+ OTP-13366 Application(s): erts
+ Related Id(s): OTP-13047
+
+ *** HIGHLIGHT ***
+
+ Introduction of configurable management of data
+ referred to by the message queue of a process. Each
+ process can be configured individually.
+
+ It is now possible to configure the message queue of a
+ process, so that all data referred by it will be kept
+ outside of the heap, and by this prevent this data from
+ being part of garbage collections.
+
+ For more information see the documentation of
+ process_flag(message_queue_data, MQD).
+
+
+ OTP-13401 Application(s): erts
+
+ Processes now yield when scanning large message queues
+ and not finding a matching message. This in order to
+ improve real time characteristics.
+
+
+ OTP-13440 Application(s): erts
+
+ Optimized an erts internal function that is used to
+ traverse erlang terms. The internal function was mainly
+ used by term_to_binary and comparison of terms.
+ Benchmarks have shown up to a 10% performance increase
+ in those functions after the optimization.
+
+
+ OTP-13442 Application(s): erts
+
+ Add the following NIF API functions:
+
+ -- enif_cpu_time
+
+ -- enif_now_time
+
+ -- enif_make_unique_integer
+
+ -- enif_is_process_alive
+
+ -- enif_is_port_alive
+
+ -- enif_term_to_binary
+
+ -- enif_binary_to_term
+
+ -- enif_port_command
+
+ for details of what each function does, see the erl_nif
+ documentation.
+
+
+ OTP-13487 Application(s): erts, stdlib
+
+ Optimize '++' operator and lists:append/2 by using a
+ single pass to build a new list while checking for
+ properness.
+
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ OTP-13493 Application(s): erts
+ Related Id(s): PR-999
+
+ Don't send unasked for systemd notifications in epmd
+
+
+ OTP-13495 Application(s): erts
+
+ The enif_send API has been extended to allow NULL to be
+ used as the message environment. When used this way, a
+ message environent is implicitly created and the given
+ term is copied into that environment before sending.
+ This can be an optimization if many small messages are
+ being sent by the nif.
+
+
+ OTP-13496 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13497 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When the 'procs' trace flag is enabled, a 'spawned'
+ trace event is now also generated by a newly created
+ process. The previous event 'spawn' remains, but as it
+ is generated by the process that did the spawn, it is
+ not guaranteed that it is ordered with other trace
+ events from the newly spawned process. So when tracking
+ the lifetime of a process this new event should be used
+ as the creation event.
+
+ This new trace event is marked as an incompatabiliy
+ because tools that expect certain trace events when
+ enabling 'procs' will have to updated.
+
+
+ OTP-13501 Application(s): erts
+
+ Add the erlang:match_spec_test/3 function. The
+ functions allows the testing of match specifications
+ for both tracing and ets tables. It can be used to test
+ that a match specification does the expected filtering
+ on specific data. It also returns more verbose error
+ reasons for incorrectly constructed match
+ specifications.
+
+
+ OTP-13503 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The erts internal tracing support has been changed to
+ have much less overhead and be more scalable.
+
+ This rewrite does not break any backwards
+ incompatabilities, but it does change the ordering of
+ some trace messages when compared to previous releases.
+ It should be noted that this only applies to trace
+ messages sent to processes or ports, it does not apply
+ to the new tracer module. However in future releases
+ they may also be effected by this.
+
+ Trace messages are only guaranteed to be ordered from
+ one traced process or port. In previous releases this
+ was not visible as a 'send' trace message would always
+ arrive before the corresponding 'receive' trace message
+ that is no longer always the case. This also means that
+ timestamped trace messages may seem to arrive out of
+ order as the timestamp is taken when the event is
+ triggered and not when it is put in the queue of the
+ tracer.
+
+
+ OTP-13507 Application(s): erts
+
+ Add possibility to filter send and receive trace with
+ match specifications.
+
+
+ OTP-13522 Application(s): erts, stdlib
+ Related Id(s): PR-1025
+
+ Add maps:update_with/3,4 and maps:take/2
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13541 Application(s): erts
+ Related Id(s): PR-1026
+
+ Print heap pointers for garbing processes during
+ crashdump
+
+
+ OTP-13560 Application(s): erts
+
+ Changed and improved low level memory statistics
+ returned by erlang:system_info/1. The info for
+ erts_mmap has been moved from mseg_alloc to its own
+ section returned by {allocator, erts_mmap}.
+
+
+ Full runtime dependencies of erts-8.0: kernel-4.0, sasl-2.4,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The et-1.6 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13545 Application(s): et
+
+ Update selector to utilize new garbage collection trace
+ tags.
+
+
+ Full runtime dependencies of et-1.6: erts-8.0, kernel-3.0,
+ runtime_tools-1.10, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.2.14 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.2.14 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13017 Application(s): crypto, erts, eunit, snmp
+
+ Small documentation fixes
+
+
+ Full runtime dependencies of eunit-2.2.14: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- gs-1.6.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The gs-1.6.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of gs-1.6.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.15.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-3.15.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13407 Application(s): hipe
+ Related Id(s): PR-984
+
+ HiPE compiler crashed, during compilation, in some
+ cases that involved inlining of float operations on
+ complicated control flow graphs.
+
+
+ Full runtime dependencies of hipe-3.15.1: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ic-4.4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ic-4.4.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of ic-4.4.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13383 Application(s): inets
+ Related Id(s): PR-972
+
+ Add handling of DELETE Body to http client.
+
+
+ OTP-13445 Application(s): inets
+ Related Id(s): PR-988
+
+ Removed references to mod_include and webtool from
+ examples and tests.
+
+ Thanks to waisbrot
+
+
+ OTP-13561 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove module inets_regexp. Module re should be used
+ instead.
+
+
+ Full runtime dependencies of inets-6.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-5.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12593 Application(s): erts, kernel
+
+ The handling of on_load functions has been improved.
+ The major improvement is that if a code upgrade fails
+ because the on_load function fails, the previous
+ version of the module will now be retained.
+
+
+ OTP-13409 Application(s): kernel
+
+ rpc:call() and rpc:block_call() would sometimes cause
+ an exception (which was not mentioned in the
+ documentation). This has been corrected so that
+ {badrpc,Reason} will be returned instead.
+
+
+ OTP-13410 Application(s): kernel
+
+ On Windows, for modules that were loaded early (such as
+ the lists module), code:which/1 would return the path
+ with mixed slashes and backslashes, for example:
+ "C:\\Program
+ Files\\erl8.0/lib/stdlib-2.7/ebin/lists.beam". This has
+ been corrected.
+
+
+ OTP-13411 Application(s): erts, kernel
+
+ Use fsync instead of fdatasync on Mac OSX.
+
+
+ OTP-13444 Application(s): kernel
+
+ The default chunk size for the fallback sendfile
+ implementation, used on platforms that do not have a
+ native sendfile, has been decreased in order to reduce
+ connectivity issues.
+
+
+ OTP-13461 Application(s): kernel
+
+ Huges writes (2Gb or more) could fail on some Unix
+ platforms (for example, OS X and FreeBSD).
+
+
+ OTP-13470 Application(s): kernel
+ Related Id(s): #969, Pull
+
+ A bug has been fixed where the DNS resolver inet_res
+ did not refresh its view of the contents of for example
+ resolv.conf immediately after start and hence then
+ failed name resolution. Reported and fix suggested by
+ Michal Ptaszek in GitHUB pull req #949.
+
+
+ OTP-13516 Application(s): kernel
+ Related Id(s): PR-1008
+
+ Fix process leak from global_group. Thanks to Xuming
+ who reported and fixed this!
+
+
+ --- Improvements and New Features ---
+
+ OTP-12908 Application(s): erts, kernel
+
+ Added os:perf_counter/1.
+
+ The perf_counter is a very very cheap and high
+ resolution timer that can be used to timestamp system
+ events. It does not have monoticity guarantees, but
+ should on most OS's expose a monotonous time.
+
+
+ OTP-13089 Application(s): kernel
+
+ The os:cmd call has been optimized on unix platforms to
+ be more performant as the number of schedulers
+ increase.
+
+
+ OTP-13111 Application(s): erts, kernel
+
+ New functions that can load multiple functions at once
+ have been added to the 'code' module. The functions are
+ code:atomic_load/1, code:prepare_loading/1,
+ code:finish_loading/1, and
+ code:ensure_modules_loaded/1.
+
+
+ OTP-13191 Application(s): kernel
+
+ The code path cache feature turned out not to be very
+ useful in practice and has been removed. If an attempt
+ is made to enable the code path cache, there will be a
+ warning report informing the user that the feature has
+ been removed.
+
+
+ OTP-13294 Application(s): kernel
+
+ When an attempt is made to start a distributed Erlang
+ node with the same name as an existing node, the error
+ message will be much shorter and easier to read than
+ before. Example:
+
+ Protocol 'inet_tcp': the name somename@somehost seems
+ to be in use by another Erlang node
+
+
+ OTP-13325 Application(s): kernel
+
+ The output of the default error logger is somewhat
+ prettier and easier to read. The default error logger
+ is used during startup of the OTP system. If the
+ start-up fails, the output will be easier to read.
+
+
+ OTP-13449 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions rpc:safe_multi_server_call/2,3 that were
+ deprecated in R12B have been removed.
+
+
+ OTP-13458 Application(s): kernel
+
+ Update the error reasons in dist_util, and show them in
+ the logs if net_kernel:verbose(1) has been called.
+
+
+ Full runtime dependencies of kernel-5.0: erts-8.0, sasl-2.6,
+ stdlib-2.6
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.18.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of megaco-3.18.1: 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.14 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.14 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13058 Application(s): mnesia
+
+ *** HIGHLIGHT ***
+
+ Added experimental external backend plugin api. This
+ adds the possibility for the user to write other
+ storage backends for data, for example by using shared
+ memory or ram-cached disk storage.
+
+ The plugin api may change in future versions after
+ being battle tested.
+
+
+ Full runtime dependencies of mnesia-4.14: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13500 Application(s): observer, runtime_tools
+
+ Update dbg and ttb to work with a tracer module as
+ tracer and tracing on ports.
+
+
+ OTP-13555 Application(s): observer
+
+ Added possibility to change update frequency and length
+ of the graph windows.
+
+
+ OTP-13556 Application(s): observer
+
+ Improved background coloring to work with dark themes
+ and other visual improvements.
+
+
+ Full runtime dependencies of observer-2.2: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.11.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.11.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13559 Application(s): odbc
+
+ Configure enhancment for better handling program paths
+ used in the build process
+
+
+ Full runtime dependencies of odbc-2.11.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- orber-3.8.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The orber-3.8.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of orber-3.8.2: erts-7.0, inets-5.10,
+ kernel-3.0, mnesia-4.12, ssl-5.3.4, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.4.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13526 Application(s): os_mon
+ Related Id(s): PR-1029
+
+ Fix type specification for cpu_sup:util/1
+
+
+ OTP-13548 Application(s): os_mon
+ Related Id(s): PR-1046
+
+ Fix strict compilation on SUN/SPARC
+
+
+ Full runtime dependencies of os_mon-2.4.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- otp_mibs-1.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The otp_mibs-1.1.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of otp_mibs-1.1.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.1.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of parsetools-2.1.2: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- percept-0.8.12 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The percept-0.8.12 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13422 Application(s): percept
+
+ Remove deprecated erlang:now/0 calls
+
+
+ Full runtime dependencies of percept-0.8.12: erts-6.0, inets-5.10,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13408 Application(s): public_key
+
+ Handle PEM encoded EC public keys
+
+
+ Full runtime dependencies of public_key-1.2: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The reltool-0.7.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13033 Application(s): reltool
+ Related Id(s): OTP-12719
+
+ Modify the code as motivated by a change of the Erlang
+ Parser (undefined is no longer automatically inserted
+ to the type of record fields without an initializer).
+
+
+ Full runtime dependencies of reltool-0.7.1: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.10 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.10 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ *** HIGHLIGHT ***
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-13500 Application(s): observer, runtime_tools
+
+ Update dbg and ttb to work with a tracer module as
+ tracer and tracing on ports.
+
+
+ OTP-13502 Application(s): runtime_tools
+
+ Updated dbg to accept the new trace options
+ monotonic_timestamp and strict_monotonic_timestamp.
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ Full runtime dependencies of runtime_tools-1.10: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13184 Application(s): sasl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The module 'overload' is removed.
+
+
+ Full runtime dependencies of sasl-3.0: erts-6.0, kernel-4.1,
+ stdlib-2.8, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of snmp-5.2.3: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13131 Application(s): ssh
+
+ Some time optimization mainly in message encoding.
+
+
+ OTP-13175 Application(s): ssh
+
+ Optimized the sftp client time by setting new packet
+ and window sizes.
+
+
+ OTP-13267 Application(s): ssh
+
+ The ssh_connection_handler module in SSH is changed and
+ now uses the new behaviour gen_statem.
+
+ The module can be used as an example of a gen_statem
+ callback module but with a warning: This commit of ssh
+ is just a straightforward port from gen_fsm to
+ gen_statem with some code cleaning. Since the state
+ machine and the state callbacks are almost unchanged
+ the ssh module does not demonstrate the full potential
+ of the new behaviour.
+
+ The "new" state machine uses compund states. The ssh
+ server and client state machines are quite similar but
+ differences exist. With gen_fsm there were flags in the
+ user data which in fact implemented "substates". Now
+ with gen_statem those are made explicit in the state
+ names, eg the state userauth and the binary role-flag
+ becomes the two state names {userauth, server} and
+ {userauth, client}.
+
+
+ OTP-13347 Application(s): ssh
+ Related Id(s): ERL-86
+
+ The {error, Reason} tuples returned from ssh_sftp api
+ functions are described.
+
+
+ OTP-13527 Application(s): ssh
+
+ It is now possible to call ssh:daemon/{1,2,3} with
+ Port=0. This makes the daemon select a free listening
+ tcp port before opening it. To find this port number
+ after the call, use the new function ssh:daemon_info/1.
+ See the reference manual for details.
+
+
+ Full runtime dependencies of ssh-4.3: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-8.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13195 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove default support for DES cipher suites
+
+
+ OTP-13214 Application(s): crypto, ssl
+
+ Deprecate the function crypto:rand_bytes and make sure
+ that crypto:strong_rand_bytes is used in all places
+ that are cryptographically significant.
+
+
+ OTP-13255 Application(s): ssl
+
+ Better error handling of user error during TLS upgrade.
+ ERL-69 is solved by gen_statem rewrite of ssl
+ application.
+
+
+ OTP-13431 Application(s): ssl
+
+ Remove confusing error message when closing a
+ distributed erlang node running over TLS
+
+
+ OTP-13464 Application(s): ssl
+
+ ssl now uses gen_statem instead of gen_fsm to implement
+ the ssl connection process, this solves some timing
+ issues in addtion to making the code more intuitive as
+ the behaviour can be used cleanly instead of having a
+ lot of workaround for shortcomings of the behaviour.
+
+
+ Full runtime dependencies of ssl-8.0: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13260 Application(s): stdlib
+ Related Id(s): seq13002
+
+ Fix a race bug affecting dets:open_file/2.
+
+
+ OTP-13459 Application(s): erts, stdlib
+
+ Don't search for non-existing Map keys twice
+
+ For maps:get/2,3 and maps:find/2, searching for an
+ immediate key, e.g. an atom, in a small map, the search
+ was performed twice if the key did not exist.
+
+
+ OTP-13531 Application(s): stdlib
+
+ Avoid stray corner-case math errors on Solaris, e.g. an
+ error is thrown on undeflows in exp() and pow() when it
+ shouldn't be.
+
+
+ OTP-13534 Application(s): stdlib
+ Related Id(s): ERL-135
+
+ Fix linting of map key variables
+
+ Map keys cannot be unbound and then used in parallel
+ matching.
+
+ Example: #{ K := V } = #{ k := K } = M. This is illegal
+ if 'K' is not bound.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10292 Application(s): stdlib
+
+ The types of The Abstract Format in the erl_parse
+ module have been refined.
+
+
+ OTP-11879 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Undocumented syntax for function specifications, -spec
+ F/A :: Domain -> Range, has been removed (without
+ deprecation).
+
+ Using the is_subtype(V, T) syntax for constraints (in
+ function specifications) is no longer documented, and
+ the newer syntax V :: T should be used instead. The
+ Erlang Parser still recognizes the is_subtype syntax,
+ and will continue to do so for some time.
+
+
+ OTP-12502 Application(s): stdlib
+ Related Id(s): OTP-12501
+
+ The 'random' module has been deprecated. Use the 'rand'
+ module instead.
+
+
+ OTP-12719 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Background: In record fields with a type declaration
+ but without an initializer, the Erlang parser inserted
+ automatically the singleton type 'undefined' to the
+ list of declared types, if that value was not present
+ there. That is, the record declaration:
+
+ -record(rec, {f1 :: float(), f2 = 42 :: integer(), f3
+ :: some_mod:some_typ()}).
+
+ was translated by the parser to:
+
+ -record(rec, {f1 :: float() | 'undefined', f2 = 42 ::
+ integer(), f3 :: some_mod:some_typ() | 'undefined'}).
+
+ The rationale for this was that creation of a "dummy"
+ #rec{} record should not result in a warning from
+ dialyzer that, for example, the implicit initialization
+ of the #rec.f1 field violates its type declaration.
+
+ Problems: This seemingly innocent action has some
+ unforeseen consequences.
+
+ For starters, there is no way for programmers to
+ declare that e.g. only floats make sense for the f1
+ field of #rec{} records when there is no "obvious"
+ default initializer for this field. (This also affects
+ tools like PropEr that use these declarations produced
+ by the Erlang parser to generate random instances of
+ records for testing purposes.)
+
+ It also means that dialyzer does not warn if e.g. an
+ is_atom/1 test or something more exotic like an
+ atom_to_list/1 call is performed on the value of the f1
+ field.
+
+ Similarly, there is no way to extend dialyzer to warn
+ if it finds record constructions where f1 is not
+ initialized to some float.
+
+ Last but not least, it is semantically problematic when
+ the type of the field is an opaque type: creating a
+ union of an opaque and a structured type is very
+ problematic for analysis because it fundamentally
+ breaks the opacity of the term at that point.
+
+ Change: To solve these problems the parser will not
+ automatically insert the 'undefined' value anymore;
+ instead the user has the option to choose the places
+ where this value makes sense (for the field) and where
+ it does not and insert the | 'undefined' there
+ manually.
+
+ Consequences of this change: This change means that
+ dialyzer will issue a warning for all places where
+ records with uninitialized fields are created and those
+ fields have a declared type that is incompatible with
+ 'undefined' (e.g. float()). This warning can be
+ suppressed easily by adding | 'undefined' to the type
+ of this field. This also adds documentation that the
+ user really intends to create records where this field
+ is uninitialized.
+
+
+ OTP-12861 Application(s): stdlib
+
+ Remove deprecated functions in the modules erl_scan and
+ erl_parse.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ *** HIGHLIGHT ***
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13065 Application(s): stdlib
+ Related Id(s): PR-960
+
+ A new behaviour gen_statem has been implemented. It has
+ been thoroughly reviewed, is stable enough to be used
+ by at least two heavy OTP applications, and is here to
+ stay. But depending on user feedback, we do not expect
+ but might find it necessary to make minor not backwards
+ compatible changes into OTP-20.0, so its state can be
+ designated as "not quite experimental"...
+
+ The gen_statem behaviour is intended to replace gen_fsm
+ for new code. It has the same features and add some
+ really useful:
+
+ -- State code is gathered
+
+ -- The state can be any term
+
+ -- Events can be postponed
+
+ -- Events can be self generated
+
+ -- A reply can be sent from a later state
+
+ -- There can be multiple sys traceable replies
+
+ The callback model(s) for gen_statem differs from the
+ one for gen_fsm, but it is still fairly easy to rewrite
+ from gen_fsm to gen_statem.
+
+
+ OTP-13082 Application(s): stdlib
+
+ Optimize binary:split/2 and binary:split/3 with native
+ BIF implementation.
+
+
+ OTP-13148 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Background: The types of record fields have since R12B
+ been put in a separate form by epp:parse_file(),
+ leaving the record declaration form untyped. The
+ separate form, however, does not follow the syntax of
+ type declarations, and parse transforms inspecting
+ -type() attributes need to know about the special
+ syntax. Since the compiler stores the return value of
+ epp:parse_file() as debug information in the abstract
+ code chunk ("Abst" or abstract_code), tools too need to
+ know about the special syntax, if they inspect -type()
+ attributes in abstract code.
+
+ Change: No separate type form is created by
+ epp:parse_file(), but the type information is kept in
+ the record fields. This means that all parse transforms
+ and all tools inspecting -record() declarations need to
+ recognize {typed_record_field, Field, Type}.
+
+
+ OTP-13152 Application(s): stdlib
+
+ Unsized fields of the type bytes in binary generators
+ are now forbidden. (The other ways of writing unsized
+ fields, such as binary, are already forbidden.)
+
+
+ OTP-13153 Application(s): stdlib
+
+ The type map() is built-in, and cannot be redefined.
+
+
+ OTP-13229 Application(s): stdlib
+ Related Id(s): ERL-55
+
+ Let dets:open_file() exit with a badarg message if
+ given a raw file name (a binary).
+
+
+ OTP-13392 Application(s): stdlib
+
+ Add filename:basedir/2,3
+
+ basedir returns suitable path(s) for 'user_cache',
+ 'user_config', 'user_data', 'user_log', 'site_config'
+ and 'site_data'. On linux and linux like systems the
+ paths will respect the XDG environment variables.
+
+
+ OTP-13476 Application(s): stdlib
+
+ There are new preprocessor directives -error(Term) and
+ -warning(Term) to cause a compilation error or a
+ compilation warning, respectively.
+
+
+ OTP-13487 Application(s): erts, stdlib
+
+ Optimize '++' operator and lists:append/2 by using a
+ single pass to build a new list while checking for
+ properness.
+
+
+ OTP-13522 Application(s): erts, stdlib
+ Related Id(s): PR-1025
+
+ Add maps:update_with/3,4 and maps:take/2
+
+
+ OTP-13523 Application(s): stdlib
+
+ lists:join/2 has been added. Similar to string:join/2
+ but works with arbitrary lists.
+
+
+ OTP-13524 Application(s): stdlib
+ Related Id(s): PR-1002
+
+ Obfuscate asserts to make Dialyzer shut up.
+
+
+ Full runtime dependencies of stdlib-3.0: compiler-5.0, crypto-3.3,
+ erts-7.3, kernel-4.1, sasl-2.6
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.0 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.0 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12863 Application(s): syntax_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The abstract data type in erl_syntax is augmented with
+ types and function specifications.
+
+ The module erl_prettypr pretty prints types and
+ function specification, and the output can be parsed.
+
+ The types of record fields are no longer ignored. As a
+ consequence erl_syntax_lib:analyze_record_field/1
+ returns {Default, Type} instead of Default. The
+ functions analyze_record_attribute, analyze_attribute,
+ analyze_form, and analyze_forms in the erl_syntax_lib
+ module are also affected by this incompatible change.
+
+
+ Full runtime dependencies of syntax_tools-2.0: compiler-7.0,
+ erts-8.0, kernel-5.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.8.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13499 Application(s): tools
+
+ Update fprof to use the new 'spawned' trace event to
+ determine when a process has been created.
+
+
+ Full runtime dependencies of tools-2.8.4: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- typer-0.9.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The typer-0.9.11 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of typer-0.9.11: compiler-5.0,
+ dialyzer-2.7, erts-6.0, hipe-3.10.3, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13491 Application(s): wx
+
+ Fixed bugs which could cause called functions to be
+ invoked twice or not at all when callbacks where
+ invoked at the same time.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13553 Application(s): wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed atom 'boolean' fields in #wxMouseState{} to
+ 'boolean()'.
+
+ Moved out arguments in wxListCtrl:hitTest to result.
+
+ Removed no-op functions in wxGauge that have been
+ removed from wxWidgets-3.1.
+
+
+ Full runtime dependencies of wx-1.7: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.11 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of xmerl-1.3.11: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Aleksei Magusev, Alexey Lebedeff, Andrew Bennett, Byaruhanga
+ Franklin, Constantin Rack, Derek Brown, Diana Corbacho, Dmytro
+ Lytovchenko, FabioBatSilva, Jesper Louis Andersen, John Eckersberg,
+ José Valim, Kenneth Lakin, Kostis Sagonas, Luca Favatella, Lukas
+ Larsson, Magnus Henoch, Magnus Lång, Michael Klishin, Michael Santos,
+ Michal Ptaszek, Mikael Pettersson, Milton Inostroza, Nathaniel
+ Waisbrot, Nikolaos S. Papaspyrou, Péter Gömöri, Richard Carlsson,
+ Rico Antonio Felix, Sean Charles, Serge Aleynikov, Simon Cornish,
+ Stavros Aronis, Stefan Strigler, Steve Vinoski, Stuart Thackray, Ulf
+ Wiger, Vlad Dumitrescu, Yiannis Tsiouris, Yuki Ito, def_null,
+ eksperimental, xsipewe, xuming
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0-rc2.README.txt b/release-notes/OTP-19.0-rc2.README.txt
new file mode 100644
index 0000000..b539047
--- /dev/null
+++ b/release-notes/OTP-19.0-rc2.README.txt
@@ -0,0 +1,3182 @@
+Patch Package: OTP 19.0
+Git Tag: OTP-19.0
+Date: 2016-06-02
+Trouble Report Id: OTP-10267, OTP-10282, OTP-10292, OTP-10349,
+ OTP-11879, OTP-12217, OTP-12345, OTP-12502,
+ OTP-12573, OTP-12590, OTP-12593, OTP-12719,
+ OTP-12861, OTP-12863, OTP-12883, OTP-12908,
+ OTP-12951, OTP-12979, OTP-13033, OTP-13034,
+ OTP-13047, OTP-13058, OTP-13059, OTP-13065,
+ OTP-13082, OTP-13086, OTP-13087, OTP-13088,
+ OTP-13089, OTP-13096, OTP-13097, OTP-13111,
+ OTP-13112, OTP-13122, OTP-13123, OTP-13131,
+ OTP-13148, OTP-13152, OTP-13153, OTP-13167,
+ OTP-13174, OTP-13175, OTP-13184, OTP-13191,
+ OTP-13195, OTP-13206, OTP-13207, OTP-13214,
+ OTP-13227, OTP-13229, OTP-13244, OTP-13255,
+ OTP-13256, OTP-13260, OTP-13265, OTP-13267,
+ OTP-13280, OTP-13288, OTP-13289, OTP-13293,
+ OTP-13294, OTP-13325, OTP-13341, OTP-13347,
+ OTP-13359, OTP-13366, OTP-13374, OTP-13375,
+ OTP-13383, OTP-13392, OTP-13401, OTP-13407,
+ OTP-13408, OTP-13409, OTP-13410, OTP-13411,
+ OTP-13419, OTP-13422, OTP-13425, OTP-13429,
+ OTP-13430, OTP-13431, OTP-13440, OTP-13442,
+ OTP-13444, OTP-13445, OTP-13449, OTP-13452,
+ OTP-13458, OTP-13459, OTP-13461, OTP-13464,
+ OTP-13470, OTP-13474, OTP-13475, OTP-13476,
+ OTP-13481, OTP-13483, OTP-13485, OTP-13487,
+ OTP-13488, OTP-13489, OTP-13491, OTP-13493,
+ OTP-13494, OTP-13495, OTP-13496, OTP-13497,
+ OTP-13499, OTP-13500, OTP-13501, OTP-13502,
+ OTP-13503, OTP-13504, OTP-13507, OTP-13508,
+ OTP-13512, OTP-13516, OTP-13517, OTP-13520,
+ OTP-13522, OTP-13523, OTP-13524, OTP-13526,
+ OTP-13527, OTP-13531, OTP-13532, OTP-13534,
+ OTP-13540, OTP-13541, OTP-13542, OTP-13544,
+ OTP-13545, OTP-13546, OTP-13548, OTP-13551,
+ OTP-13552, OTP-13553, OTP-13555, OTP-13556,
+ OTP-13558, OTP-13559, OTP-13560, OTP-13561,
+ OTP-13562, OTP-13572, OTP-13576, OTP-13580,
+ OTP-13590, OTP-13599, OTP-13600, OTP-13601,
+ OTP-13602, OTP-13610, OTP-13612, OTP-13618,
+ OTP-13622, OTP-13623, OTP-13625, OTP-13626,
+ OTP-13627, OTP-13628, OTP-13629, OTP-13630,
+ OTP-13631, OTP-13632, OTP-13635, OTP-13636,
+ OTP-13638, OTP-13639, OTP-13642
+Seq num: seq13002
+System: OTP
+Release: 19
+Application: asn1-4.0.3, common_test-1.12.2, compiler-7.0,
+ cosEvent-2.2.1, cosEventDomain-1.2.1,
+ cosFileTransfer-1.2.1, cosNotification-1.2.2,
+ cosProperty-1.2.1, cosTime-1.2.2,
+ cosTransactions-1.3.2, crypto-3.7,
+ debugger-4.2, dialyzer-3.0, diameter-1.12,
+ edoc-0.7.19, eldap-1.2.2, erl_docgen-0.4.3,
+ erl_interface-3.9, erts-8.0, et-1.6,
+ eunit-2.3, gs-1.6.1, hipe-3.15.1, ic-4.4.1,
+ inets-6.3, jinterface-1.7, kernel-5.0,
+ megaco-3.18.1, mnesia-4.14, observer-2.2,
+ odbc-2.11.2, orber-3.8.2, os_mon-2.4.1,
+ otp_mibs-1.1.1, parsetools-2.1.2,
+ percept-0.8.12, public_key-1.2,
+ reltool-0.7.1, runtime_tools-1.10, sasl-3.0,
+ snmp-5.2.3, ssh-4.3, ssl-8.0, stdlib-3.0,
+ syntax_tools-2.0, tools-2.8.4, typer-0.9.11,
+ wx-1.7, xmerl-1.3.11
+Predecessor: OTP
+
+ Check out the git tag OTP-19.0, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10267 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first haing to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-12590 Application(s): erts
+ Related Id(s): OTP-10251
+
+ Sharing preserved copy for messages and exit signals
+
+ Enable sharing preserved copy with configure option
+ --enable-sharing-preserving. This will preserve
+ sharing, within the process, when communication with
+ other processes in the Erlang node. There is a
+ trade-off, the copy is more costly but this cost can be
+ reclaimed if there is a lot of sharing in the message.
+ With this feature enabled literals will not be copied
+ in a send except during a purge phase of the module
+ where the literals are located. This feature is
+ considered experimental in 19.0.
+
+
+ OTP-13058 Application(s): mnesia
+
+ Added experimental external backend plugin api. This
+ adds the possibility for the user to write other
+ storage backends for data, for example by using shared
+ memory or ram-cached disk storage.
+
+ The plugin api may change in future versions after
+ being battle tested.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13065 Application(s): stdlib
+ Related Id(s): PR-960
+
+ A new behaviour gen_statem has been implemented. It has
+ been thoroughly reviewed, is stable enough to be used
+ by at least two heavy OTP applications, and is here to
+ stay. But depending on user feedback, we do not expect
+ but might find it necessary to make minor not backwards
+ compatible changes into OTP-20.0, so its state can be
+ designated as "not quite experimental"...
+
+ The gen_statem behaviour is intended to replace gen_fsm
+ for new code. It has the same features and add some
+ really useful:
+
+ -- State code is gathered
+
+ -- The state can be any term
+
+ -- Events can be postponed
+
+ -- Events can be self generated
+
+ -- A reply can be sent from a later state
+
+ -- There can be multiple sys traceable replies
+
+ The callback model(s) for gen_statem differs from the
+ one for gen_fsm, but it is still fairly easy to rewrite
+ from gen_fsm to gen_statem.
+
+
+ OTP-13366 Application(s): erts
+ Related Id(s): OTP-13047
+
+ Introduction of configurable management of data
+ referred to by the message queue of a process. Each
+ process can be configured individually.
+
+ It is now possible to configure the message queue of a
+ process, so that all data referred by it will be kept
+ outside of the heap, and by this prevent this data from
+ being part of garbage collections.
+
+ For more information see the documentation of
+ process_flag(message_queue_data, MQD).
+
+
+ OTP-13464 Application(s): ssl
+
+ ssl now uses gen_statem instead of gen_fsm to implement
+ the ssl connection process, this solves some timing
+ issues in addtion to making the code more intuitive as
+ the behaviour can be used cleanly instead of having a
+ lot of workaround for shortcomings of the behaviour.
+
+
+ OTP-13496 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13503 Application(s): erts
+
+ The erts internal tracing support has been changed to
+ have much less overhead and be more scalable.
+
+ This rewrite does not break any backwards
+ incompatabilities, but it does change the ordering of
+ some trace messages when compared to previous releases.
+ It should be noted that this only applies to trace
+ messages sent to processes or ports, it does not apply
+ to the new tracer module. However in future releases
+ they may also be effected by this.
+
+ Trace messages are only guaranteed to be ordered from
+ one traced process or port. In previous releases this
+ was not visible as a 'send' trace message would always
+ arrive before the corresponding 'receive' trace message
+ that is no longer always the case. This also means that
+ timestamped trace messages may seem to arrive out of
+ order as the timestamp is taken when the event is
+ triggered and not when it is put in the queue of the
+ tracer.
+
+
+ OTP-13572 Application(s): erts, kernel
+ Related Id(s): PR-612
+
+ Experimental support for Unix Domain Sockets has been
+ implemented. Read the sources if you want to try it
+ out. Example: gen_udp:open(0,
+ [{ifaddr,{local,"/tmp/socket"}}]). Documentation will
+ be written after user feedback on the experimental API.
+
+
+ OTP-13632 Application(s): ssl
+
+ Enhance error log messages to facilitate for users to
+ understand the error
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10267 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first haing to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-11879 Application(s): stdlib
+
+ Undocumented syntax for function specifications, -spec
+ F/A :: Domain -> Range, has been removed (without
+ deprecation).
+
+ Using the is_subtype(V, T) syntax for constraints (in
+ function specifications) is no longer documented, and
+ the newer syntax V :: T should be used instead. The
+ Erlang Parser still recognizes the is_subtype syntax,
+ and will continue to do so for some time.
+
+
+ OTP-12719 Application(s): stdlib
+
+ Background: In record fields with a type declaration
+ but without an initializer, the Erlang parser inserted
+ automatically the singleton type 'undefined' to the
+ list of declared types, if that value was not present
+ there. That is, the record declaration:
+
+ -record(rec, {f1 :: float(), f2 = 42 :: integer(), f3
+ :: some_mod:some_typ()}).
+
+ was translated by the parser to:
+
+ -record(rec, {f1 :: float() | 'undefined', f2 = 42 ::
+ integer(), f3 :: some_mod:some_typ() | 'undefined'}).
+
+ The rationale for this was that creation of a "dummy"
+ #rec{} record should not result in a warning from
+ dialyzer that, for example, the implicit initialization
+ of the #rec.f1 field violates its type declaration.
+
+ Problems: This seemingly innocent action has some
+ unforeseen consequences.
+
+ For starters, there is no way for programmers to
+ declare that e.g. only floats make sense for the f1
+ field of #rec{} records when there is no "obvious"
+ default initializer for this field. (This also affects
+ tools like PropEr that use these declarations produced
+ by the Erlang parser to generate random instances of
+ records for testing purposes.)
+
+ It also means that dialyzer does not warn if e.g. an
+ is_atom/1 test or something more exotic like an
+ atom_to_list/1 call is performed on the value of the f1
+ field.
+
+ Similarly, there is no way to extend dialyzer to warn
+ if it finds record constructions where f1 is not
+ initialized to some float.
+
+ Last but not least, it is semantically problematic when
+ the type of the field is an opaque type: creating a
+ union of an opaque and a structured type is very
+ problematic for analysis because it fundamentally
+ breaks the opacity of the term at that point.
+
+ Change: To solve these problems the parser will not
+ automatically insert the 'undefined' value anymore;
+ instead the user has the option to choose the places
+ where this value makes sense (for the field) and where
+ it does not and insert the | 'undefined' there
+ manually.
+
+ Consequences of this change: This change means that
+ dialyzer will issue a warning for all places where
+ records with uninitialized fields are created and those
+ fields have a declared type that is incompatible with
+ 'undefined' (e.g. float()). This warning can be
+ suppressed easily by adding | 'undefined' to the type
+ of this field. This also adds documentation that the
+ user really intends to create records where this field
+ is uninitialized.
+
+
+ OTP-12863 Application(s): syntax_tools
+
+ The abstract data type in erl_syntax is augmented with
+ types and function specifications.
+
+ The module erl_prettypr pretty prints types and
+ function specification, and the output can be parsed.
+
+ The types of record fields are no longer ignored. As a
+ consequence erl_syntax_lib:analyze_record_field/1
+ returns {Default, Type} instead of Default. The
+ functions analyze_record_attribute, analyze_attribute,
+ analyze_form, and analyze_forms in the erl_syntax_lib
+ module are also affected by this incompatible change.
+
+
+ OTP-13088 Application(s): erts
+
+ The functionality behind erlang:open_port/2 when called
+ with spawn or spawn_executable has been redone so that
+ the forking of the new program is done in a separate
+ process called erl_child_setup. This allows for a much
+ more robust implementation that uses less memory and
+ does not block the entire emulator if the program to be
+ started is on an un-accessible NFS. Benchmarks have
+ shown this approach to be about 3-5 times as fast as
+ the old approach where the fork/vfork was done by erts.
+ This is a pure stability and performance fix, however
+ some error messages may have changed, which is why it
+ is marked as a backwards incompatible change.
+
+
+ OTP-13148 Application(s): stdlib
+
+ Background: The types of record fields have since R12B
+ been put in a separate form by epp:parse_file(),
+ leaving the record declaration form untyped. The
+ separate form, however, does not follow the syntax of
+ type declarations, and parse transforms inspecting
+ -type() attributes need to know about the special
+ syntax. Since the compiler stores the return value of
+ epp:parse_file() as debug information in the abstract
+ code chunk ("Abst" or abstract_code), tools too need to
+ know about the special syntax, if they inspect -type()
+ attributes in abstract code.
+
+ Change: No separate type form is created by
+ epp:parse_file(), but the type information is kept in
+ the record fields. This means that all parse transforms
+ and all tools inspecting -record() declarations need to
+ recognize {typed_record_field, Field, Type}.
+
+
+ OTP-13184 Application(s): sasl
+
+ The module 'overload' is removed.
+
+
+ OTP-13195 Application(s): ssl
+
+ Remove default support for DES cipher suites
+
+
+ OTP-13449 Application(s): kernel
+
+ The functions rpc:safe_multi_server_call/2,3 that were
+ deprecated in R12B have been removed.
+
+
+ OTP-13496 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13497 Application(s): erts
+
+ When the 'procs' trace flag is enabled, a 'spawned'
+ trace event is now also generated by a newly created
+ process. The previous event 'spawn' remains, but as it
+ is generated by the process that did the spawn, it is
+ not guaranteed that it is ordered with other trace
+ events from the newly spawned process. So when tracking
+ the lifetime of a process this new event should be used
+ as the creation event.
+
+ This new trace event is marked as an incompatabiliy
+ because tools that expect certain trace events when
+ enabling 'procs' will have to updated.
+
+
+ OTP-13504 Application(s): compiler
+
+ The compiler will no longer put the compilation date
+ and time into BEAM files. That means that two BEAM
+ files compiled on the same computer from the same
+ source code and compilation options will be identical.
+
+ Note: If you want to find out whether a BEAM file on
+ disk is different from the loaded code, compared the
+ MD5 value obtained from Mod:module_info(md5) with the
+ MD5 value obtained from beam_lib:md5(BeamFileForMod)
+
+ .
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13542 Application(s): dialyzer
+ Related Id(s): PR-1014
+
+ The type specification syntax for Maps is improved:
+
+ --
+
+ The association type KeyType := ValueType denotes an
+ association that must be present.
+
+ --
+
+ The shorthand ... stands for the association type any()
+ => any().
+
+ An incompatible change is that #{} stands for the empty
+ map. The type map() (a map of any size) can be written
+ as #{...}.
+
+
+ OTP-13553 Application(s): wx
+
+ Changed atom 'boolean' fields in #wxMouseState{} to
+ 'boolean()'.
+
+ Moved out arguments in wxListCtrl:hitTest to result.
+
+ Removed no-op functions in wxGauge that have been
+ removed from wxWidgets-3.1.
+
+
+ OTP-13561 Application(s): inets
+
+ Remove module inets_regexp. Module re should be used
+ instead.
+
+
+ OTP-13622 Application(s): kernel
+ Related Id(s): PR-1065
+
+ The function inet:gethostbyname/1 now honors the
+ resolver option inet6 instead of always looking up IPv4
+ addresses.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-4.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-4.0.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of asn1-4.0.3: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.12.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.12.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13475 Application(s): common_test
+
+ The following modules were missing in
+ common_test.app.src: ct_groups, ct_property_test,
+ ct_release_test, ct_webtool, ct_webtool_sup,
+ test_server_gl. They have now been added.
+
+
+ Full runtime dependencies of common_test-1.12.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13430 Application(s): compiler
+ Related Id(s): ERL-113
+
+ compile:forms/1,2 would crash when used in a working
+ directory thad had been deleted by another process.
+ (Thanks to Adam Lindberg for reporting this bug.)
+
+
+ OTP-13552 Application(s): compiler, dialyzer
+
+ Dialyzer no longer crashes when there is an invalid
+ function call such as 42(7) in a module being analyzed.
+ The compiler will now warn for invalid function calls
+ such as X = 42, x(7). (ERL-138. Thanks to Daniel Feltey
+ for reporting this bug.)
+
+
+ --- Improvements and New Features ---
+
+ OTP-12951 Application(s): compiler
+
+ Optimization of tuple matching has been slightly
+ improved.
+
+
+ OTP-12979 Application(s): compiler
+
+ Five deprecated and undocumented functions in the
+ module core_lib have been removed. The functions are:
+ get_anno/{1,2}, is_literal/1, is_literal_list/1, and
+ literal_value. Use the appropriate functions in the
+ cerl module instead.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ *** HIGHLIGHT ***
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13280 Application(s): compiler
+
+ The function mapfold/4 has been added to the cerl_trees
+ module.
+
+
+ OTP-13289 Application(s): compiler
+
+ Bitstring comprehensions have been generalized to allow
+ arbitrary expressions in the construction part.
+
+
+ OTP-13374 Application(s): compiler
+ Related Id(s): ERL-44
+
+ The compiler will now produce warnings for binary
+ patterns that will never match (example: > = Bin).
+
+
+ OTP-13504 Application(s): compiler
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The compiler will no longer put the compilation date
+ and time into BEAM files. That means that two BEAM
+ files compiled on the same computer from the same
+ source code and compilation options will be identical.
+
+ Note: If you want to find out whether a BEAM file on
+ disk is different from the loaded code, compared the
+ MD5 value obtained from Mod:module_info(md5) with the
+ MD5 value obtained from beam_lib:md5(BeamFileForMod)
+
+ .
+
+
+ Full runtime dependencies of compiler-7.0: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosEvent-2.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosEvent-2.2.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosEvent-2.2.1: erts-7.0, kernel-3.0,
+ orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosEventDomain-1.2.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosEventDomain-1.2.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosEventDomain-1.2.1:
+ cosNotification-1.1.21, erts-7.0, kernel-3.0, orber-3.6.27,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosFileTransfer-1.2.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosFileTransfer-1.2.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosFileTransfer-1.2.1:
+ cosProperty-1.1.17, erts-7.0, inets-5.10, kernel-3.0, orber-3.6.27,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosNotification-1.2.2 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosNotification-1.2.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosNotification-1.2.2: cosEvent-2.1.15,
+ cosTime-1.1.14, erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosProperty-1.2.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosProperty-1.2.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosProperty-1.2.1: erts-7.0, kernel-3.0,
+ mnesia-4.12, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosTime-1.2.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTime-1.2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosTime-1.2.2: cosEvent-2.1.15,
+ erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosTransactions-1.3.2 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTransactions-1.3.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of cosTransactions-1.3.2: erts-7.0,
+ kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12217 Application(s): crypto
+
+ Refactor crypto to use the EVP interface of OpenSSL,
+ which is the recommended interface that also enables
+ access to hardware acceleration for some operations.
+
+
+ OTP-13206 Application(s): crypto
+ Related Id(s): 832, pr
+
+ Add support for 192-bit keys for the aes_cbc cipher.
+
+
+ OTP-13207 Application(s): crypto
+ Related Id(s): pr829
+
+ Add support for 192-bit keys for aes_ecb.
+
+
+ OTP-13214 Application(s): crypto, ssl
+
+ Deprecate the function crypto:rand_bytes and make sure
+ that crypto:strong_rand_bytes is used in all places
+ that are cryptographically significant.
+
+
+ OTP-13483 Application(s): crypto
+ Related Id(s): PR-998
+
+ Enable AES-GCM encryption/decryption to change the tag
+ length between 1 to 16 bytes.
+
+
+ Full runtime dependencies of crypto-3.7: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13375 Application(s): debugger
+
+ When the debugger searches for source files, it will
+ also use the location of the source in the compilation
+ information part of the BEAM file.
+
+
+ Full runtime dependencies of debugger-4.2: compiler-5.0, erts-6.0,
+ kernel-3.0, stdlib-2.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13520 Application(s): dialyzer
+
+ Fix a bug in the translation of forms to types.
+
+
+ OTP-13544 Application(s): dialyzer
+ Related Id(s): PR-1007
+
+ Correct mispelling in Dialyzer's acronym definition.
+
+
+ OTP-13552 Application(s): compiler, dialyzer
+
+ Dialyzer no longer crashes when there is an invalid
+ function call such as 42(7) in a module being analyzed.
+ The compiler will now warn for invalid function calls
+ such as X = 42, x(7). (ERL-138. Thanks to Daniel Feltey
+ for reporting this bug.)
+
+
+ --- Improvements and New Features ---
+
+ OTP-10349 Application(s): dialyzer
+
+ The evaluation of SCCs in dialyzer_typesig is
+ optimized.
+
+ Maps are used instead of Dicts to further optimize the
+ evalutation.
+
+
+ OTP-13244 Application(s): dialyzer
+
+ Since Erlang/OTP R14A, when support for parameterized
+ modules was added, module() has included tuple(), but
+ that part is removed; the type module() is now the same
+ as atom(), as documented in the Reference Manual.
+
+
+ OTP-13542 Application(s): dialyzer
+ Related Id(s): PR-1014
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The type specification syntax for Maps is improved:
+
+ --
+
+ The association type KeyType := ValueType denotes an
+ association that must be present.
+
+ --
+
+ The shorthand ... stands for the association type any()
+ => any().
+
+ An incompatible change is that #{} stands for the empty
+ map. The type map() (a map of any size) can be written
+ as #{...}.
+
+
+ Full runtime dependencies of dialyzer-3.0: compiler-7.0, erts-8.0,
+ hipe-3.15.1, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.12 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.12 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13508 Application(s): diameter
+
+ Add diameter:peer_info/1.
+
+ That retrieves information in the style of
+ diameter:service_info/2, but for a single peer
+ connection.
+
+
+ Full runtime dependencies of diameter-1.12: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.7.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.7.19 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13558 Application(s): edoc
+
+ Handle typed record fields.
+
+
+ Full runtime dependencies of edoc-0.7.19: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13590 Application(s): eldap
+ Related Id(s): PR-1048
+
+ If the underlying tcp connection is closed and an LDAP
+ operation returned tcp_error, the client applications
+ tend to close the ldap handle with eldap:close. This
+ will cause a {nocatch, {gen_tcp_error, ...}} exception.
+
+ Such errors are now ignored during close, because the
+ socket will be closed anyway.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of eldap-1.2.2: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.4.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.4.3 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13600 Application(s): erl_docgen
+ Related Id(s): ERL-141, Jira:
+
+ Generate HTML anchors for datatypes without name
+ attribute.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-13638 Application(s): erl_docgen, otp
+
+ Updated make rules so it's possible to use the xmllint
+ target for checking the system documentation.
+ Removed usage of non defined DTD tag (output) from the
+ system documentation and corrected a number of xml
+ faults.
+
+ Added support for quote tag and a new level of header
+ formatting in erl_docgen.
+
+ A fault when generating html for manual set markers for
+ section headings is corrected so now is the title
+ visible after hyperlink jump.
+
+
+ OTP-13639 Application(s): erl_docgen
+
+ Corrected the space handling for the seealso tag.
+
+
+ Full runtime dependencies of erl_docgen-0.4.3: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.9 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.9 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12593 Application(s): erts, kernel
+
+ The handling of on_load functions has been improved.
+ The major improvement is that if a code upgrade fails
+ because the on_load function fails, the previous
+ version of the module will now be retained.
+
+
+ OTP-13034 Application(s): erts
+
+ is_builtin(erlang, apply, 3) will now return true.
+
+
+ OTP-13288 Application(s): erts
+ Related Id(s): PR913
+
+ Fix enif_get_list_length to return false if list is
+ improper or have length larger than UINT_MAX (did
+ return true and an incorrect length value).
+
+
+ OTP-13341 Application(s): erts
+ Related Id(s): PR951
+
+ Cleanup hipe signal handling code for x86 and make it
+ more portable.
+
+
+ OTP-13411 Application(s): erts, kernel
+
+ Use fsync instead of fdatasync on Mac OSX.
+
+
+ OTP-13419 Application(s): erts
+
+ Make sure to create a crash dump when running out of
+ memory. This was accidentally removed in the erts-7.3
+ release.
+
+
+ OTP-13425 Application(s): erts
+
+ A bug has been fixed where if erlang was started +B on
+ a unix platform it would be killed by a SIGUSR2 signal
+ when creating a crash dump.
+
+
+ OTP-13452 Application(s): erts
+
+ Fix race between process_flag(trap_exit,true) and a
+ received exit signal.
+
+ A process could terminate due to exit signal even
+ though process_flag(trap_exit,true) had returned. A
+ very specific timing between call to process_flag/2 and
+ exit signal from another scheduler was required for
+ this to happen.
+
+
+ OTP-13459 Application(s): erts, stdlib
+
+ Don't search for non-existing Map keys twice
+
+ For maps:get/2,3 and maps:find/2, searching for an
+ immediate key, e.g. an atom, in a small map, the search
+ was performed twice if the key did not exist.
+
+
+ OTP-13474 Application(s): erts
+
+ When a abnormally large distribution message is about
+ to be sent, the VM has been changed to create a crash
+ dump instead of a core dump.
+
+
+ OTP-13485 Application(s): erts
+ Related Id(s): ERL-123
+
+ Fix erlang:process_info/2 type specification
+
+
+ OTP-13489 Application(s): erts
+ Related Id(s): ERL-127
+
+ Fix bug in open_port/2 with option {args, List}. A vm
+ crash could be caused by an improper List.
+
+
+ OTP-13494 Application(s): erts
+ Related Id(s): ERL-126
+
+ Don't crash on terminating processes with
+ erlang:system_profile/1,2
+
+
+ OTP-13512 Application(s): erts
+
+ Fixed bugs where the reduction counter was not handled
+ correct.
+
+
+ OTP-13517 Application(s): erts
+
+ Fixed typo in description of the EPMD_DUMP_REQ
+ response.
+
+
+ OTP-13540 Application(s): erts
+
+ Fixed a bug where a process flagged as sensitive would
+ sometimes record its save_calls when it shouldn't.
+
+
+ OTP-13562 Application(s): erts
+
+ Update configure scripts to not use hardcoded path for
+ /bin/pwd and /bin/rm.
+
+
+ OTP-13628 Application(s): erts
+
+ When passing a larger binary than the outputv callback
+ of a linked-in driver can handle in one io vector slot,
+ the binary is now split into multiple slots in the io
+ vector. This change only effects system where the max
+ size of an io vector slot is smaller then the word size
+ of the system (e.g. Windows).
+
+ This change means that it is now possible on Windows to
+ send binaries that are larger than 4GB to
+ port_comnmand, which is what is used for file:write,
+ gen_tcp:send etc.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10267 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first haing to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-10282 Application(s): erts
+
+ Introduce LTTng tracing of Erlang Runtime System
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ This feature introduces tracepoints for schedulers,
+ drivers, memory carriers, memory and async thread pool.
+
+ For a list of all tracepoints, see Runtime Tools User's
+ Guide .
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ *** HIGHLIGHT ***
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-12573 Application(s): erts
+
+ The port of Erlang/OTP to the realtime operating system
+ OSE has been removed.
+
+
+ OTP-12590 Application(s): erts
+ Related Id(s): OTP-10251
+
+ *** HIGHLIGHT ***
+
+ Sharing preserved copy for messages and exit signals
+
+ Enable sharing preserved copy with configure option
+ --enable-sharing-preserving. This will preserve
+ sharing, within the process, when communication with
+ other processes in the Erlang node. There is a
+ trade-off, the copy is more costly but this cost can be
+ reclaimed if there is a lot of sharing in the message.
+ With this feature enabled literals will not be copied
+ in a send except during a purge phase of the module
+ where the literals are located. This feature is
+ considered experimental in 19.0.
+
+
+ OTP-12883 Application(s): erts
+
+ Halfword BEAM has been removed.
+
+
+ OTP-12908 Application(s): erts, kernel
+
+ Added os:perf_counter/1.
+
+ The perf_counter is a very very cheap and high
+ resolution timer that can be used to timestamp system
+ events. It does not have monoticity guarantees, but
+ should on most OS's expose a monotonous time.
+
+
+ OTP-13047 Application(s): erts
+
+ Support for a fragmented young heap generation. That
+ is, the young heap generation can consist of multiple
+ non continuous memory areas. The main reason for this
+ change is to avoid extra copying of messages that could
+ not be allocated directly on the receivers heap.
+
+
+ OTP-13086 Application(s): erts
+
+ Erlang linked-in driver can now force the call to
+ open_port to block until a call to erl_drv_init_ack is
+ made inside the driver. This is useful when you want to
+ do some asynchronous initialization, for example
+ getting configuration from a pipe, and you want the
+ initial open_port call to fail if the configuration is
+ incomplete or wrong. See the erl_driver documentation
+ for more details on the API.
+
+
+ OTP-13087 Application(s): erts
+
+ Erlang linked-in drivers can now set their own pid's as
+ seen in erlang:port_info/1 by using the erl_drv_set_pid
+ function. For more details see the erl_driver
+ documentation.
+
+
+ OTP-13088 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functionality behind erlang:open_port/2 when called
+ with spawn or spawn_executable has been redone so that
+ the forking of the new program is done in a separate
+ process called erl_child_setup. This allows for a much
+ more robust implementation that uses less memory and
+ does not block the entire emulator if the program to be
+ started is on an un-accessible NFS. Benchmarks have
+ shown this approach to be about 3-5 times as fast as
+ the old approach where the fork/vfork was done by erts.
+ This is a pure stability and performance fix, however
+ some error messages may have changed, which is why it
+ is marked as a backwards incompatible change.
+
+
+ OTP-13096 Application(s): erts
+
+ Improved yielding strategy in the implementation of the
+ following native functions:
+
+ -- erlang:binary_to_list/1
+
+ -- erlang:binary_to_list/3
+
+ -- erlang:bitstring_to_list/1
+
+ -- erlang:list_to_binary/1
+
+ -- erlang:iolist_to_binary/1
+
+ -- erlang:list_to_bitstring/1
+
+ -- binary:list_to_bin/1
+
+ This in order to improve performance of these
+ functions.
+
+
+ OTP-13097 Application(s): erts
+
+ All garbage collections of processes now bump
+ reductions. Also the amount of reductions bumped when
+ garbage collecting has been adjusted. It now better
+ corresponds to the amount of work performed. This in
+ order to improve the real time characteristics of the
+ system.
+
+
+ OTP-13111 Application(s): erts, kernel
+
+ New functions that can load multiple functions at once
+ have been added to the 'code' module. The functions are
+ code:atomic_load/1, code:prepare_loading/1,
+ code:finish_loading/1, and
+ code:ensure_modules_loaded/1.
+
+
+ OTP-13112 Application(s): erts
+
+ The -boot_var option for erl now only supports a single
+ key and single value (as documented). The option used
+ to allow multiple key/value pairs, but that behavior
+ was undocumented.
+
+ The function erl_prim_loader:start/3 has been removed.
+ Its documentation has also been removed.
+
+ The undocumented and unsupported function
+ erl_prim_loader:get_files/2 has been removed.
+
+
+ OTP-13122 Application(s): erts
+
+ Low level BIF erlang:purge_module/1 is made more robust
+ against incorrect use. Lingering processes that still
+ refer the old code are now killed before the module is
+ purged to prevent fatal VM behavior.
+
+
+ OTP-13123 Application(s): erts
+
+ Improved dirty scheduler implementation. For more
+ information see the NIF documentation.
+
+ Note that support for determining whether dirty NIF
+ support exist or not at compile time using the C
+ preprocessor macro ERL_NIF_DIRTY_SCHEDULER_SUPPORT has
+ been removed.
+
+
+ OTP-13167 Application(s): erts
+
+ Various optimizations done to process dictionary
+ access.
+
+
+ OTP-13174 Application(s): erts
+
+ Added max_heap_size process flag. See
+ erlang:process_flag for more details.
+
+
+ OTP-13227 Application(s): erts
+
+ Allow dynamic drivers and NIF libraries to be built
+ with gcc option -fvisibility=hidden for faster loading
+ and more optimized code.
+
+
+ OTP-13265 Application(s): erts
+
+ Add erlang:process_info(Pid, garbage_collection_info)
+ which returns extended garbage_collection information.
+ For more details see the documentation.
+
+
+ OTP-13293 Application(s): erts
+
+ The functions erlang:list_to_integer/1 and
+ string:to_integer/1 have been optimized for large
+ inputs.
+
+
+ OTP-13359 Application(s): erts
+
+ Improved memory allocation strategy for hipe native
+ code on x86_64 (amd64) architectures by reserving
+ enough low virtual address space needed for the
+ HiPE/AMD64 small code model. The default virtual
+ address area for hipe code is set to 512Mb, but can be
+ changed with emulator flag +MXscs.
+
+
+ OTP-13366 Application(s): erts
+ Related Id(s): OTP-13047
+
+ *** HIGHLIGHT ***
+
+ Introduction of configurable management of data
+ referred to by the message queue of a process. Each
+ process can be configured individually.
+
+ It is now possible to configure the message queue of a
+ process, so that all data referred by it will be kept
+ outside of the heap, and by this prevent this data from
+ being part of garbage collections.
+
+ For more information see the documentation of
+ process_flag(message_queue_data, MQD).
+
+
+ OTP-13401 Application(s): erts
+
+ Processes now yield when scanning large message queues
+ and not finding a matching message. This in order to
+ improve real time characteristics.
+
+
+ OTP-13440 Application(s): erts
+
+ Optimized an erts internal function that is used to
+ traverse erlang terms. The internal function was mainly
+ used by term_to_binary and comparison of terms.
+ Benchmarks have shown up to a 10% performance increase
+ in those functions after the optimization.
+
+
+ OTP-13442 Application(s): erts
+
+ Add the following NIF API functions:
+
+ -- enif_cpu_time
+
+ -- enif_now_time
+
+ -- enif_make_unique_integer
+
+ -- enif_is_process_alive
+
+ -- enif_is_port_alive
+
+ -- enif_term_to_binary
+
+ -- enif_binary_to_term
+
+ -- enif_port_command
+
+ for details of what each function does, see the erl_nif
+ documentation.
+
+
+ OTP-13487 Application(s): erts, stdlib
+
+ Optimize '++' operator and lists:append/2 by using a
+ single pass to build a new list while checking for
+ properness.
+
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ OTP-13493 Application(s): erts
+ Related Id(s): PR-999
+
+ Don't send unasked for systemd notifications in epmd
+
+
+ OTP-13495 Application(s): erts
+
+ The enif_send API has been extended to allow NULL to be
+ used as the message environment. When used this way, a
+ message environent is implicitly created and the given
+ term is copied into that environment before sending.
+ This can be an optimization if many small messages are
+ being sent by the nif.
+
+
+ OTP-13496 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13497 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When the 'procs' trace flag is enabled, a 'spawned'
+ trace event is now also generated by a newly created
+ process. The previous event 'spawn' remains, but as it
+ is generated by the process that did the spawn, it is
+ not guaranteed that it is ordered with other trace
+ events from the newly spawned process. So when tracking
+ the lifetime of a process this new event should be used
+ as the creation event.
+
+ This new trace event is marked as an incompatabiliy
+ because tools that expect certain trace events when
+ enabling 'procs' will have to updated.
+
+
+ OTP-13501 Application(s): erts
+
+ Add the erlang:match_spec_test/3 function. The
+ functions allows the testing of match specifications
+ for both tracing and ets tables. It can be used to test
+ that a match specification does the expected filtering
+ on specific data. It also returns more verbose error
+ reasons for incorrectly constructed match
+ specifications.
+
+
+ OTP-13503 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The erts internal tracing support has been changed to
+ have much less overhead and be more scalable.
+
+ This rewrite does not break any backwards
+ incompatabilities, but it does change the ordering of
+ some trace messages when compared to previous releases.
+ It should be noted that this only applies to trace
+ messages sent to processes or ports, it does not apply
+ to the new tracer module. However in future releases
+ they may also be effected by this.
+
+ Trace messages are only guaranteed to be ordered from
+ one traced process or port. In previous releases this
+ was not visible as a 'send' trace message would always
+ arrive before the corresponding 'receive' trace message
+ that is no longer always the case. This also means that
+ timestamped trace messages may seem to arrive out of
+ order as the timestamp is taken when the event is
+ triggered and not when it is put in the queue of the
+ tracer.
+
+
+ OTP-13507 Application(s): erts
+
+ Add possibility to filter send and receive trace with
+ match specifications.
+
+
+ OTP-13522 Application(s): erts, stdlib
+ Related Id(s): PR-1025
+
+ Add maps:update_with/3,4 and maps:take/2
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13541 Application(s): erts
+ Related Id(s): PR-1026
+
+ Print heap pointers for garbing processes during
+ crashdump
+
+
+ OTP-13560 Application(s): erts
+
+ Changed and improved low level memory statistics
+ returned by erlang:system_info/1. The info for
+ erts_mmap has been moved from mseg_alloc to its own
+ section returned by {allocator, erts_mmap}.
+
+
+ OTP-13580 Application(s): erts
+
+ Add enif_snprintf to the NIF API
+
+ The fucntion enif_snprintf is similar to snprintf call
+ but can handle formating of Erlang terms via %T format
+ specifier.
+
+
+ OTP-13599 Application(s): erts
+
+ The warning in the documentation for erlang:raise/3 has
+ been removed. It is now officially perfectly fine to
+ use raise/3 in production code. (Thanks to Per
+ Hedeland.)
+
+
+ OTP-13627 Application(s): erts
+
+ Add -start_epmd command line option, this lets you
+ disable automatic starting of epmd when starting a
+ distributed node.
+
+ Add -epmd_module command line option, this lets you
+ specify a module to register and lookup node names in.
+ The default module is erl_epmd.
+
+
+ OTP-13630 Application(s): erts
+
+ erlang:halt now truncates strings longer than 200
+ characters instead of failing with badarg.
+
+
+ Full runtime dependencies of erts-8.0: kernel-5.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The et-1.6 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13545 Application(s): et
+
+ Update selector to utilize new garbage collection trace
+ tags.
+
+
+ Full runtime dependencies of et-1.6: erts-8.0, kernel-3.0,
+ runtime_tools-1.10, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13612 Application(s): eunit
+
+ There is a new debugVal/2 that gives control over the
+ truncation depth.
+
+
+ Full runtime dependencies of eunit-2.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- gs-1.6.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The gs-1.6.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of gs-1.6.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.15.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-3.15.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13407 Application(s): hipe
+ Related Id(s): PR-984
+
+ HiPE compiler crashed, during compilation, in some
+ cases that involved inlining of float operations on
+ complicated control flow graphs.
+
+
+ OTP-13626 Application(s): hipe
+
+ Various fixes and improvements to the HiPE LLVM
+ backend.
+
+ -- Add support for LLVM 3.7 and 3.8 in the HiPE/LLVM
+ x86_64 backend
+
+ -- Reinstate support for the LLVM backend on x86 (works
+ OK for LLVM 3.5 to 3.7 -- LLVM 3.8 has a bug that
+ prevents it from generating correct native code on x86)
+
+
+ --- Improvements and New Features ---
+
+ OTP-13625 Application(s): hipe
+ Related Id(s): PR-1069
+
+ Elimination of maps:is_key/2 calls to HiPE
+
+
+ Full runtime dependencies of hipe-3.15.1: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ic-4.4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ic-4.4.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of ic-4.4.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13383 Application(s): inets
+ Related Id(s): PR-972
+
+ Add handling of DELETE Body to http client.
+
+
+ OTP-13445 Application(s): inets
+ Related Id(s): PR-988
+
+ Removed references to mod_include and webtool from
+ examples and tests.
+
+ Thanks to waisbrot
+
+
+ OTP-13561 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove module inets_regexp. Module re should be used
+ instead.
+
+
+ Full runtime dependencies of inets-6.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-5.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12593 Application(s): erts, kernel
+
+ The handling of on_load functions has been improved.
+ The major improvement is that if a code upgrade fails
+ because the on_load function fails, the previous
+ version of the module will now be retained.
+
+
+ OTP-13409 Application(s): kernel
+
+ rpc:call() and rpc:block_call() would sometimes cause
+ an exception (which was not mentioned in the
+ documentation). This has been corrected so that
+ {badrpc,Reason} will be returned instead.
+
+
+ OTP-13410 Application(s): kernel
+
+ On Windows, for modules that were loaded early (such as
+ the lists module), code:which/1 would return the path
+ with mixed slashes and backslashes, for example:
+ "C:\\Program
+ Files\\erl8.0/lib/stdlib-2.7/ebin/lists.beam". This has
+ been corrected.
+
+
+ OTP-13411 Application(s): erts, kernel
+
+ Use fsync instead of fdatasync on Mac OSX.
+
+
+ OTP-13444 Application(s): kernel
+
+ The default chunk size for the fallback sendfile
+ implementation, used on platforms that do not have a
+ native sendfile, has been decreased in order to reduce
+ connectivity issues.
+
+
+ OTP-13461 Application(s): kernel
+
+ Huges writes (2Gb or more) could fail on some Unix
+ platforms (for example, OS X and FreeBSD).
+
+
+ OTP-13470 Application(s): kernel
+ Related Id(s): #969, Pull
+
+ A bug has been fixed where the DNS resolver inet_res
+ did not refresh its view of the contents of for example
+ resolv.conf immediately after start and hence then
+ failed name resolution. Reported and fix suggested by
+ Michal Ptaszek in GitHUB pull req #949.
+
+
+ OTP-13516 Application(s): kernel
+ Related Id(s): PR-1008
+
+ Fix process leak from global_group. Thanks to Xuming
+ who reported and fixed this!
+
+
+ OTP-13622 Application(s): kernel
+ Related Id(s): PR-1065
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The function inet:gethostbyname/1 now honors the
+ resolver option inet6 instead of always looking up IPv4
+ addresses.
+
+
+ OTP-13631 Application(s): kernel
+ Related Id(s): PR-911
+
+ The Status argument to init:stop/1 is now sanity
+ checked to make sure erlang:halt does not fail.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12908 Application(s): erts, kernel
+
+ Added os:perf_counter/1.
+
+ The perf_counter is a very very cheap and high
+ resolution timer that can be used to timestamp system
+ events. It does not have monoticity guarantees, but
+ should on most OS's expose a monotonous time.
+
+
+ OTP-13089 Application(s): kernel
+
+ The os:cmd call has been optimized on unix platforms to
+ be more performant as the number of schedulers
+ increase.
+
+
+ OTP-13111 Application(s): erts, kernel
+
+ New functions that can load multiple functions at once
+ have been added to the 'code' module. The functions are
+ code:atomic_load/1, code:prepare_loading/1,
+ code:finish_loading/1, and
+ code:ensure_modules_loaded/1.
+
+
+ OTP-13191 Application(s): kernel
+
+ The code path cache feature turned out not to be very
+ useful in practice and has been removed. If an attempt
+ is made to enable the code path cache, there will be a
+ warning report informing the user that the feature has
+ been removed.
+
+
+ OTP-13294 Application(s): kernel
+
+ When an attempt is made to start a distributed Erlang
+ node with the same name as an existing node, the error
+ message will be much shorter and easier to read than
+ before. Example:
+
+ Protocol 'inet_tcp': the name somename@somehost seems
+ to be in use by another Erlang node
+
+
+ OTP-13325 Application(s): kernel
+
+ The output of the default error logger is somewhat
+ prettier and easier to read. The default error logger
+ is used during startup of the OTP system. If the
+ start-up fails, the output will be easier to read.
+
+
+ OTP-13449 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions rpc:safe_multi_server_call/2,3 that were
+ deprecated in R12B have been removed.
+
+
+ OTP-13458 Application(s): kernel
+
+ Update the error reasons in dist_util, and show them in
+ the logs if net_kernel:verbose(1) has been called.
+
+
+ OTP-13572 Application(s): erts, kernel
+ Related Id(s): PR-612
+
+ *** HIGHLIGHT ***
+
+ Experimental support for Unix Domain Sockets has been
+ implemented. Read the sources if you want to try it
+ out. Example: gen_udp:open(0,
+ [{ifaddr,{local,"/tmp/socket"}}]). Documentation will
+ be written after user feedback on the experimental API.
+
+
+ Full runtime dependencies of kernel-5.0: erts-8.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.18.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of megaco-3.18.1: 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.14 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.14 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13058 Application(s): mnesia
+
+ *** HIGHLIGHT ***
+
+ Added experimental external backend plugin api. This
+ adds the possibility for the user to write other
+ storage backends for data, for example by using shared
+ memory or ram-cached disk storage.
+
+ The plugin api may change in future versions after
+ being battle tested.
+
+
+ Full runtime dependencies of mnesia-4.14: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13500 Application(s): observer, runtime_tools
+
+ Update dbg and ttb to work with a tracer module as
+ tracer and tracing on ports.
+
+
+ OTP-13555 Application(s): observer
+
+ Added possibility to change update frequency and length
+ of the graph windows.
+
+
+ OTP-13556 Application(s): observer
+
+ Improved background coloring to work with dark themes
+ and other visual improvements.
+
+
+ Full runtime dependencies of observer-2.2: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.11.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.11.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13559 Application(s): odbc
+
+ Configure enhancment for better handling program paths
+ used in the build process
+
+
+ Full runtime dependencies of odbc-2.11.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- orber-3.8.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The orber-3.8.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of orber-3.8.2: erts-7.0, inets-5.10,
+ kernel-3.0, mnesia-4.12, ssl-5.3.4, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.4.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13526 Application(s): os_mon
+ Related Id(s): PR-1029
+
+ Fix type specification for cpu_sup:util/1
+
+
+ OTP-13548 Application(s): os_mon
+ Related Id(s): PR-1046
+
+ Fix strict compilation on SUN/SPARC
+
+
+ OTP-13601 Application(s): os_mon
+ Related Id(s): PR-1039
+
+ Fix memsup:get_os_wordsize() on 64-bit FreeBSD and
+ 64-bit Linux PPC
+
+
+ Full runtime dependencies of os_mon-2.4.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- otp_mibs-1.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The otp_mibs-1.1.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of otp_mibs-1.1.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.1.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of parsetools-2.1.2: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- percept-0.8.12 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The percept-0.8.12 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13422 Application(s): percept
+
+ Remove deprecated erlang:now/0 calls
+
+
+ Full runtime dependencies of percept-0.8.12: erts-6.0, inets-5.10,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13408 Application(s): public_key
+
+ Handle PEM encoded EC public keys
+
+
+ Full runtime dependencies of public_key-1.2: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The reltool-0.7.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13033 Application(s): reltool
+ Related Id(s): OTP-12719
+
+ Modify the code as motivated by a change of the Erlang
+ Parser (undefined is no longer automatically inserted
+ to the type of record fields without an initializer).
+
+
+ Full runtime dependencies of reltool-0.7.1: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.10 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.10 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13576 Application(s): runtime_tools
+ Related Id(s): ERL-119
+
+ Fix bug in dbg:trace_port/2 that could cause the trace
+ ip driver to produce faulty error reports
+ "...(re)selected before stop_select was called for
+ driver trace_ip_drv".
+
+
+ --- Improvements and New Features ---
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ *** HIGHLIGHT ***
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convinence module called msacc that has been
+ added to runtime_tools that can assist in gathering and
+ interpreting the data from Microstate accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-13481 Application(s): observer, runtime_tools
+
+ Update observer GUI to support tracing on ports, and to
+ set matchspecs for send/receive. This required some
+ minor bugfixes in runtime_tools/dbg.
+
+
+ OTP-13500 Application(s): observer, runtime_tools
+
+ Update dbg and ttb to work with a tracer module as
+ tracer and tracing on ports.
+
+
+ OTP-13502 Application(s): runtime_tools
+
+ Updated dbg to accept the new trace options
+ monotonic_timestamp and strict_monotonic_timestamp.
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ Full runtime dependencies of runtime_tools-1.10: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13184 Application(s): sasl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The module 'overload' is removed.
+
+
+ Full runtime dependencies of sasl-3.0: erts-8.0, kernel-5.0,
+ stdlib-3.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of snmp-5.2.3: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13131 Application(s): ssh
+
+ Some time optimization mainly in message encoding.
+
+
+ OTP-13175 Application(s): ssh
+
+ Optimized the sftp client time by setting new packet
+ and window sizes.
+
+
+ OTP-13267 Application(s): ssh
+
+ The ssh_connection_handler module in SSH is changed and
+ now uses the new behaviour gen_statem.
+
+ The module can be used as an example of a gen_statem
+ callback module but with a warning: This commit of ssh
+ is just a straightforward port from gen_fsm to
+ gen_statem with some code cleaning. Since the state
+ machine and the state callbacks are almost unchanged
+ the ssh module does not demonstrate the full potential
+ of the new behaviour.
+
+ The "new" state machine uses compund states. The ssh
+ server and client state machines are quite similar but
+ differences exist. With gen_fsm there were flags in the
+ user data which in fact implemented "substates". Now
+ with gen_statem those are made explicit in the state
+ names, eg the state userauth and the binary role-flag
+ becomes the two state names {userauth, server} and
+ {userauth, client}.
+
+
+ OTP-13347 Application(s): ssh
+ Related Id(s): ERL-86
+
+ The {error, Reason} tuples returned from ssh_sftp api
+ functions are described.
+
+
+ OTP-13527 Application(s): ssh
+
+ It is now possible to call ssh:daemon/{1,2,3} with
+ Port=0. This makes the daemon select a free listening
+ tcp port before opening it. To find this port number
+ after the call, use the new function ssh:daemon_info/1.
+ See the reference manual for details.
+
+
+ Full runtime dependencies of ssh-4.3: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-8.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13635 Application(s): ssl
+
+ Timeouts may have the value 0, gauards have been
+ corrected to allow this
+
+
+ --- Improvements and New Features ---
+
+ OTP-13195 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove default support for DES cipher suites
+
+
+ OTP-13214 Application(s): crypto, ssl
+
+ Deprecate the function crypto:rand_bytes and make sure
+ that crypto:strong_rand_bytes is used in all places
+ that are cryptographically significant.
+
+
+ OTP-13255 Application(s): ssl
+
+ Better error handling of user error during TLS upgrade.
+ ERL-69 is solved by gen_statem rewrite of ssl
+ application.
+
+
+ OTP-13256 Application(s): ssl
+
+ Provide user friendly error message when crypto rejects
+ a key
+
+
+ OTP-13429 Application(s): ssl
+ Related Id(s): Pull#956
+
+ TLS distribution connections now allow specifying the
+ options verify_fun, crl_check and crl_cache. See the
+ documentation. GitHub pull req #956 contributed by
+ Magnus Henoch.
+
+
+ OTP-13431 Application(s): ssl
+
+ Remove confusing error message when closing a
+ distributed erlang node running over TLS
+
+
+ OTP-13464 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ ssl now uses gen_statem instead of gen_fsm to implement
+ the ssl connection process, this solves some timing
+ issues in addtion to making the code more intuitive as
+ the behaviour can be used cleanly instead of having a
+ lot of workaround for shortcomings of the behaviour.
+
+
+ OTP-13546 Application(s): ssl
+
+ Correct ssl:prf/5 to use the negotiated cipher suites
+ prf function in ssl:prf/5 instead of the default prf.
+
+
+ OTP-13629 Application(s): ssl
+
+ Some legacy TLS 1.0 software does not tolerate the
+ 1/n-1 content split BEAST mitigation technique. Add a
+ beast_mitigation SSL option (defaulting to
+ one_n_minus_one) to select or disable the BEAST
+ mitigation technique.
+
+
+ OTP-13632 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Enhance error log messages to facilitate for users to
+ understand the error
+
+
+ OTP-13636 Application(s): ssl
+
+ Incresed default DH params to 2048-bit
+
+
+ Full runtime dependencies of ssl-8.0: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13260 Application(s): stdlib
+ Related Id(s): seq13002
+
+ Fix a race bug affecting dets:open_file/2.
+
+
+ OTP-13459 Application(s): erts, stdlib
+
+ Don't search for non-existing Map keys twice
+
+ For maps:get/2,3 and maps:find/2, searching for an
+ immediate key, e.g. an atom, in a small map, the search
+ was performed twice if the key did not exist.
+
+
+ OTP-13531 Application(s): stdlib
+
+ Avoid stray corner-case math errors on Solaris, e.g. an
+ error is thrown on undeflows in exp() and pow() when it
+ shouldn't be.
+
+
+ OTP-13534 Application(s): stdlib
+ Related Id(s): ERL-135
+
+ Fix linting of map key variables
+
+ Map keys cannot be unbound and then used in parallel
+ matching.
+
+ Example: #{ K := V } = #{ k := K } = M. This is illegal
+ if 'K' is not bound.
+
+
+ OTP-13602 Application(s): stdlib
+
+ Fixed a bug in re on openbsd where sometimes re:run
+ would return an incorrect result.
+
+
+ OTP-13618 Application(s): stdlib
+ Related Id(s): PR-1001
+
+ To avoid potential timer bottleneck on supervisor
+ restart, timer server is no longer used when the
+ supervisor is unable to restart a child.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10292 Application(s): stdlib
+
+ The types of The Abstract Format in the erl_parse
+ module have been refined.
+
+
+ OTP-11879 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Undocumented syntax for function specifications, -spec
+ F/A :: Domain -> Range, has been removed (without
+ deprecation).
+
+ Using the is_subtype(V, T) syntax for constraints (in
+ function specifications) is no longer documented, and
+ the newer syntax V :: T should be used instead. The
+ Erlang Parser still recognizes the is_subtype syntax,
+ and will continue to do so for some time.
+
+
+ OTP-12502 Application(s): stdlib
+ Related Id(s): OTP-12501
+
+ The 'random' module has been deprecated. Use the 'rand'
+ module instead.
+
+
+ OTP-12719 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Background: In record fields with a type declaration
+ but without an initializer, the Erlang parser inserted
+ automatically the singleton type 'undefined' to the
+ list of declared types, if that value was not present
+ there. That is, the record declaration:
+
+ -record(rec, {f1 :: float(), f2 = 42 :: integer(), f3
+ :: some_mod:some_typ()}).
+
+ was translated by the parser to:
+
+ -record(rec, {f1 :: float() | 'undefined', f2 = 42 ::
+ integer(), f3 :: some_mod:some_typ() | 'undefined'}).
+
+ The rationale for this was that creation of a "dummy"
+ #rec{} record should not result in a warning from
+ dialyzer that, for example, the implicit initialization
+ of the #rec.f1 field violates its type declaration.
+
+ Problems: This seemingly innocent action has some
+ unforeseen consequences.
+
+ For starters, there is no way for programmers to
+ declare that e.g. only floats make sense for the f1
+ field of #rec{} records when there is no "obvious"
+ default initializer for this field. (This also affects
+ tools like PropEr that use these declarations produced
+ by the Erlang parser to generate random instances of
+ records for testing purposes.)
+
+ It also means that dialyzer does not warn if e.g. an
+ is_atom/1 test or something more exotic like an
+ atom_to_list/1 call is performed on the value of the f1
+ field.
+
+ Similarly, there is no way to extend dialyzer to warn
+ if it finds record constructions where f1 is not
+ initialized to some float.
+
+ Last but not least, it is semantically problematic when
+ the type of the field is an opaque type: creating a
+ union of an opaque and a structured type is very
+ problematic for analysis because it fundamentally
+ breaks the opacity of the term at that point.
+
+ Change: To solve these problems the parser will not
+ automatically insert the 'undefined' value anymore;
+ instead the user has the option to choose the places
+ where this value makes sense (for the field) and where
+ it does not and insert the | 'undefined' there
+ manually.
+
+ Consequences of this change: This change means that
+ dialyzer will issue a warning for all places where
+ records with uninitialized fields are created and those
+ fields have a declared type that is incompatible with
+ 'undefined' (e.g. float()). This warning can be
+ suppressed easily by adding | 'undefined' to the type
+ of this field. This also adds documentation that the
+ user really intends to create records where this field
+ is uninitialized.
+
+
+ OTP-12861 Application(s): stdlib
+
+ Remove deprecated functions in the modules erl_scan and
+ erl_parse.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ *** HIGHLIGHT ***
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13065 Application(s): stdlib
+ Related Id(s): PR-960
+
+ *** HIGHLIGHT ***
+
+ A new behaviour gen_statem has been implemented. It has
+ been thoroughly reviewed, is stable enough to be used
+ by at least two heavy OTP applications, and is here to
+ stay. But depending on user feedback, we do not expect
+ but might find it necessary to make minor not backwards
+ compatible changes into OTP-20.0, so its state can be
+ designated as "not quite experimental"...
+
+ The gen_statem behaviour is intended to replace gen_fsm
+ for new code. It has the same features and add some
+ really useful:
+
+ -- State code is gathered
+
+ -- The state can be any term
+
+ -- Events can be postponed
+
+ -- Events can be self generated
+
+ -- A reply can be sent from a later state
+
+ -- There can be multiple sys traceable replies
+
+ The callback model(s) for gen_statem differs from the
+ one for gen_fsm, but it is still fairly easy to rewrite
+ from gen_fsm to gen_statem.
+
+
+ OTP-13082 Application(s): stdlib
+
+ Optimize binary:split/2 and binary:split/3 with native
+ BIF implementation.
+
+
+ OTP-13148 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Background: The types of record fields have since R12B
+ been put in a separate form by epp:parse_file(),
+ leaving the record declaration form untyped. The
+ separate form, however, does not follow the syntax of
+ type declarations, and parse transforms inspecting
+ -type() attributes need to know about the special
+ syntax. Since the compiler stores the return value of
+ epp:parse_file() as debug information in the abstract
+ code chunk ("Abst" or abstract_code), tools too need to
+ know about the special syntax, if they inspect -type()
+ attributes in abstract code.
+
+ Change: No separate type form is created by
+ epp:parse_file(), but the type information is kept in
+ the record fields. This means that all parse transforms
+ and all tools inspecting -record() declarations need to
+ recognize {typed_record_field, Field, Type}.
+
+
+ OTP-13152 Application(s): stdlib
+
+ Unsized fields of the type bytes in binary generators
+ are now forbidden. (The other ways of writing unsized
+ fields, such as binary, are already forbidden.)
+
+
+ OTP-13153 Application(s): stdlib
+
+ The type map() is built-in, and cannot be redefined.
+
+
+ OTP-13229 Application(s): stdlib
+ Related Id(s): ERL-55
+
+ Let dets:open_file() exit with a badarg message if
+ given a raw file name (a binary).
+
+
+ OTP-13392 Application(s): stdlib
+
+ Add filename:basedir/2,3
+
+ basedir returns suitable path(s) for 'user_cache',
+ 'user_config', 'user_data', 'user_log', 'site_config'
+ and 'site_data'. On linux and linux like systems the
+ paths will respect the XDG environment variables.
+
+
+ OTP-13476 Application(s): stdlib
+
+ There are new preprocessor directives -error(Term) and
+ -warning(Term) to cause a compilation error or a
+ compilation warning, respectively.
+
+
+ OTP-13487 Application(s): erts, stdlib
+
+ Optimize '++' operator and lists:append/2 by using a
+ single pass to build a new list while checking for
+ properness.
+
+
+ OTP-13522 Application(s): erts, stdlib
+ Related Id(s): PR-1025
+
+ Add maps:update_with/3,4 and maps:take/2
+
+
+ OTP-13523 Application(s): stdlib
+
+ lists:join/2 has been added. Similar to string:join/2
+ but works with arbitrary lists.
+
+
+ OTP-13524 Application(s): stdlib
+ Related Id(s): PR-1002
+
+ Obfuscate asserts to make Dialyzer shut up.
+
+
+ OTP-13623 Application(s): stdlib
+
+ Relax translation of initial calls in proc_lib, i.e.
+ remove the restriction to only do the translation for
+ gen_server and gen_fsm. This enables user defined gen
+ based generic callback modules to be displayed nicely
+ in c:i() and observer.
+
+
+ OTP-13642 Application(s): stdlib
+
+ Lower ETS hash load factor to improve lookup
+ performance at the cost of less than one word per
+ object.
+
+
+ Full runtime dependencies of stdlib-3.0: compiler-5.0, crypto-3.3,
+ erts-8.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.0 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.0 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12863 Application(s): syntax_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The abstract data type in erl_syntax is augmented with
+ types and function specifications.
+
+ The module erl_prettypr pretty prints types and
+ function specification, and the output can be parsed.
+
+ The types of record fields are no longer ignored. As a
+ consequence erl_syntax_lib:analyze_record_field/1
+ returns {Default, Type} instead of Default. The
+ functions analyze_record_attribute, analyze_attribute,
+ analyze_form, and analyze_forms in the erl_syntax_lib
+ module are also affected by this incompatible change.
+
+
+ Full runtime dependencies of syntax_tools-2.0: compiler-7.0,
+ erts-8.0, kernel-5.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.8.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13499 Application(s): tools
+
+ Update fprof to use the new 'spawned' trace event to
+ determine when a process has been created.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13610 Application(s): tools
+
+ Various emacs mode improvements, such as better tags
+ support.
+
+
+ Full runtime dependencies of tools-2.8.4: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- typer-0.9.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The typer-0.9.11 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of typer-0.9.11: compiler-5.0,
+ dialyzer-2.7, erts-6.0, hipe-3.10.3, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13491 Application(s): wx
+
+ Fixed bugs which could cause called functions to be
+ invoked twice or not at all when callbacks where
+ invoked at the same time.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13553 Application(s): wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed atom 'boolean' fields in #wxMouseState{} to
+ 'boolean()'.
+
+ Moved out arguments in wxListCtrl:hitTest to result.
+
+ Removed no-op functions in wxGauge that have been
+ removed from wxWidgets-3.1.
+
+
+ Full runtime dependencies of wx-1.7: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.11 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_docgen, gs, ic, megaco,
+ orber, otp_mibs, parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of xmerl-1.3.11: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Aleksei Magusev, Alexey Lebedeff, Andreas Schultz, Andrew Bennett,
+ Byaruhanga Franklin, Constantin Rack, Daniel Sommermann, Daniil
+ Fedotov, Derek Brown, Diana Corbacho, Dmytro Lytovchenko, Dániel
+ Szoboszlay, Erik Norgren, FabioBatSilva, Jesper Louis Andersen, Joe
+ DeVivo, Johan Claesson, John Eckersberg, José Valim, Kenneth Lakin,
+ Kostis Sagonas, Loïc Hoguin, Luca Favatella, Lukas Larsson, Magnus
+ Henoch, Magnus Lång, Michael Klishin, Michael Santos, Michal Ptaszek,
+ Mikael Pettersson, Milton Inostroza, Nathaniel Waisbrot, Nikolaos S.
+ Papaspyrou, Péter Gömöri, Richard Carlsson, Rico Antonio Felix, Sean
+ Charles, Serge Aleynikov, Simon Cornish, Stavros Aronis, Stefan
+ Strigler, Steve Vinoski, Stuart Thackray, Ulf Wiger, Vlad Dumitrescu,
+ Yiannis Tsiouris, Yuki Ito, def_null, eksperimental, jrobhoward,
+ tmanevik, xsipewe, xuming
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0.1.README.txt b/release-notes/OTP-19.0.1.README.txt
new file mode 100644
index 0000000..cefb766
--- /dev/null
+++ b/release-notes/OTP-19.0.1.README.txt
@@ -0,0 +1,157 @@
+Patch Package: OTP 19.0.1
+Git Tag: OTP-19.0.1
+Date: 2016-06-30
+Trouble Report Id: OTP-13674, OTP-13702, OTP-13708, OTP-13709,
+ OTP-13712, OTP-13715, OTP-13716
+Seq num: seq13143
+System: OTP
+Release: 19
+Application: dialyzer-3.0.1, erts-8.0.1, inets-6.3.1,
+ observer-2.2.1, ssh-4.3.1, tools-2.8.5
+Predecessor: OTP 19.0
+
+ Check out the git tag OTP-19.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-3.0.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13709 Application(s): dialyzer
+ Related Id(s): ERL-177, PR-1115
+
+ Fix a map related bug.
+
+
+ Full runtime dependencies of dialyzer-3.0.1: compiler-7.0, erts-8.0,
+ hipe-3.15.1, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13716 Application(s): erts
+
+ A memory allocation bug in group_leader/2 could cause
+ an emulator crash when garbage collecting a process
+ that had been assigned a remote group leader. This bug
+ was introduced in ERTS version 8.0.
+
+
+ Full runtime dependencies of erts-8.0.1: kernel-5.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13712 Application(s): inets
+ Related Id(s): seq13143
+
+ A debug message was accidently left enabled in the ftp
+ client.
+
+
+ Full runtime dependencies of inets-6.3.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.2.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13702 Application(s): observer
+ Related Id(s): ERL-171
+
+ Fixed a crash happening when observing another node,
+ who have a different number of schedulers than the
+ current one.
+
+
+ Full runtime dependencies of observer-2.2.1: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.3.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13674 Application(s): ssh
+ Related Id(s): TR-HU92273
+
+ SSH client does not any longer retry a bad password
+ given as option to ssh:connect et al.
+
+
+ OTP-13715 Application(s): ssh
+
+ Removed possible hanging risk for a certain timing
+ sequence when communicating client and server executes
+ on the same node.
+
+
+ Full runtime dependencies of ssh-4.3.1: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.8.5 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13708 Application(s): tools
+ Related Id(s): ERL-173
+
+ Correct a bug when adding multiple modules to an Xref
+ server. The bug was introduced in OTP-19.0.
+
+
+ Full runtime dependencies of tools-2.8.5: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Magnus Lång
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0.2.README.txt b/release-notes/OTP-19.0.2.README.txt
new file mode 100644
index 0000000..3d13e03
--- /dev/null
+++ b/release-notes/OTP-19.0.2.README.txt
@@ -0,0 +1,89 @@
+Patch Package: OTP 19.0.2
+Git Tag: OTP-19.0.2
+Date: 2016-07-15
+Trouble Report Id: OTP-13719, OTP-13731, OTP-13732, OTP-13738
+Seq num: seq13142
+System: OTP
+Release: 19
+Application: compiler-7.0.1, erts-8.0.2, stdlib-3.0.1
+Predecessor: OTP 19.0.1
+
+ Check out the git tag OTP-19.0.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13738 Application(s): compiler
+
+ A literal binary matching regression was introduced in
+ 19.0 where a match could fail to resolve to the right
+ clause. This has now been fixed.
+
+
+ Full runtime dependencies of compiler-7.0.1: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13731 Application(s): erts
+ Related Id(s): ERL-188
+
+ Fix scheduler deadlock bug in ets:update_counter/4 when
+ key is not found and inserting the default object
+ causes the table to grow.
+
+
+ OTP-13732 Application(s): erts
+ Related Id(s): seq13142
+
+ Fix VM abort "Overrun stack and heap" in garbage
+ collection triggered by a bsl operation and some very
+ specific heap conditions.
+
+
+ Full runtime dependencies of erts-8.0.2: kernel-5.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.0.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13719 Application(s): stdlib
+ Related Id(s): ERL-182
+
+ Correct a bug regarding typed records in the Erlang
+ shell. The bug was introduced in OTP-19.0.
+
+
+ Full runtime dependencies of stdlib-3.0.1: compiler-5.0, crypto-3.3,
+ erts-8.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0.3.README.txt b/release-notes/OTP-19.0.3.README.txt
new file mode 100644
index 0000000..29b35f7
--- /dev/null
+++ b/release-notes/OTP-19.0.3.README.txt
@@ -0,0 +1,84 @@
+Patch Package: OTP 19.0.3
+Git Tag: OTP-19.0.3
+Date: 2016-08-09
+Trouble Report Id: OTP-13688, OTP-13741, OTP-13753
+Seq num: seq13149, seq13150
+System: OTP
+Release: 19
+Application: inets-6.3.2, kernel-5.0.1, ssl-8.0.1
+Predecessor: OTP 19.0.2
+
+ Check out the git tag OTP-19.0.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13688 Application(s): inets
+ Related Id(s): seq13149
+
+ PUT and DELETE support has been added to mod_esi
+
+
+ Full runtime dependencies of inets-6.3.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-5.0.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13741 Application(s): kernel
+
+ Fix a os:cmd bug where creating a background job using
+ & would cause os:cmd to hang until the background
+ job terminated or closed its stdout and stderr file
+ descriptors. This bug has existed from kernel 5.0.
+
+
+ Full runtime dependencies of kernel-5.0.1: erts-8.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.0.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-8.0.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13753 Application(s): ssl
+ Related Id(s): seq13150
+
+ The TLS/SSL protocol version selection for the SSL
+ server has been corrected to follow RFC 5246 Appendix
+ E.1 especially in case where the list of supported
+ versions has gaps. Now the server selects the highest
+ protocol version it supports that is not higher than
+ what the client supports.
+
+
+ Full runtime dependencies of ssl-8.0.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0.4.README.txt b/release-notes/OTP-19.0.4.README.txt
new file mode 100644
index 0000000..98e1f6f
--- /dev/null
+++ b/release-notes/OTP-19.0.4.README.txt
@@ -0,0 +1,47 @@
+Patch Package: OTP 19.0.4
+Git Tag: OTP-19.0.4
+Date: 2016-08-12
+Trouble Report Id: OTP-13798, OTP-13799
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.0.3
+Predecessor: OTP 19.0.3
+
+ Check out the git tag OTP-19.0.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13798 Application(s): erts
+ Related Id(s): OTP-11997
+
+ Fixed a race that could cause a lost wakeup of a
+ process that timed out in a receive ... after. This bug
+ was introduced in ERTS version 7.0.
+
+
+ OTP-13799 Application(s): erts
+
+ Fixed segfault after writing an erl crash dump.
+
+
+ Full runtime dependencies of erts-8.0.3: kernel-5.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ \ No newline at end of file
diff --git a/release-notes/OTP-19.0.5.README.txt b/release-notes/OTP-19.0.5.README.txt
new file mode 100644
index 0000000..153025a
--- /dev/null
+++ b/release-notes/OTP-19.0.5.README.txt
@@ -0,0 +1,41 @@
+Patch Package: OTP 19.0.5
+Git Tag: OTP-19.0.5
+Date: 2016-08-17
+Trouble Report Id: OTP-13813
+Seq num:
+System: OTP
+Release: 19
+Application: kernel-5.0.2
+Predecessor: OTP 19.0.4
+
+ Check out the git tag OTP-19.0.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- kernel-5.0.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-5.0.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13813 Application(s): kernel
+
+ When calling os:cmd from a process that has set
+ trap_exit to true an 'EXIT' message would be left in
+ the message queue. This bug was introduced in kernel
+ vsn 5.0.1.
+
+
+ Full runtime dependencies of kernel-5.0.2: erts-8.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0.6.README.txt b/release-notes/OTP-19.0.6.README.txt
new file mode 100644
index 0000000..1e65ed6
--- /dev/null
+++ b/release-notes/OTP-19.0.6.README.txt
@@ -0,0 +1,41 @@
+Patch Package: OTP 19.0.6
+Git Tag: OTP-19.0.6
+Date: 2016-09-14
+Trouble Report Id: OTP-13889
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.0.4
+Predecessor: OTP 19.0.5
+
+ Check out the git tag OTP-19.0.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13889 Application(s): erts
+
+ Fixed a VM crash that occured in garbage collection of
+ a process when it had received maps over the
+ distribution. This bug was introduced in ERTS version
+ 8.0 (OTP 19.0).
+
+
+ Full runtime dependencies of erts-8.0.4: kernel-5.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0.7.README.txt b/release-notes/OTP-19.0.7.README.txt
new file mode 100644
index 0000000..8ee206b
--- /dev/null
+++ b/release-notes/OTP-19.0.7.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 19.0.7
+Git Tag: OTP-19.0.7
+Date: 2016-09-14
+Trouble Report Id: OTP-13890
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.0.5
+Predecessor: OTP 19.0.6
+
+ Check out the git tag OTP-19.0.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.0.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0.5 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13890 Application(s): erts
+
+ Fixed a VM crash that occured in a garbage collection
+ of a process when it had received binaries. This bug
+ was introduced in ERTS version 8.0 (OTP 19.0).
+
+
+ Full runtime dependencies of erts-8.0.5: kernel-5.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.0.README.txt b/release-notes/OTP-19.0.README.txt
new file mode 100644
index 0000000..5053de1
--- /dev/null
+++ b/release-notes/OTP-19.0.README.txt
@@ -0,0 +1,3134 @@
+Patch Package: OTP 19.0
+Git Tag: OTP-19.0
+Date: 2016-06-21
+Trouble Report Id: OTP-10267, OTP-10282, OTP-10292, OTP-10349,
+ OTP-11384, OTP-11879, OTP-12217, OTP-12345,
+ OTP-12441, OTP-12502, OTP-12573, OTP-12590,
+ OTP-12593, OTP-12719, OTP-12837, OTP-12860,
+ OTP-12861, OTP-12863, OTP-12883, OTP-12908,
+ OTP-12951, OTP-12979, OTP-13033, OTP-13034,
+ OTP-13047, OTP-13058, OTP-13059, OTP-13065,
+ OTP-13082, OTP-13086, OTP-13087, OTP-13088,
+ OTP-13089, OTP-13096, OTP-13097, OTP-13111,
+ OTP-13112, OTP-13122, OTP-13123, OTP-13131,
+ OTP-13148, OTP-13152, OTP-13153, OTP-13167,
+ OTP-13174, OTP-13175, OTP-13184, OTP-13191,
+ OTP-13195, OTP-13206, OTP-13207, OTP-13214,
+ OTP-13227, OTP-13229, OTP-13244, OTP-13255,
+ OTP-13256, OTP-13260, OTP-13265, OTP-13267,
+ OTP-13280, OTP-13288, OTP-13289, OTP-13293,
+ OTP-13294, OTP-13325, OTP-13341, OTP-13347,
+ OTP-13359, OTP-13366, OTP-13374, OTP-13375,
+ OTP-13383, OTP-13392, OTP-13401, OTP-13407,
+ OTP-13408, OTP-13409, OTP-13410, OTP-13411,
+ OTP-13415, OTP-13419, OTP-13422, OTP-13425,
+ OTP-13429, OTP-13430, OTP-13431, OTP-13440,
+ OTP-13442, OTP-13444, OTP-13445, OTP-13449,
+ OTP-13452, OTP-13458, OTP-13459, OTP-13461,
+ OTP-13463, OTP-13464, OTP-13465, OTP-13470,
+ OTP-13474, OTP-13475, OTP-13476, OTP-13479,
+ OTP-13481, OTP-13482, OTP-13483, OTP-13485,
+ OTP-13487, OTP-13488, OTP-13489, OTP-13491,
+ OTP-13493, OTP-13494, OTP-13495, OTP-13496,
+ OTP-13497, OTP-13499, OTP-13500, OTP-13501,
+ OTP-13502, OTP-13503, OTP-13504, OTP-13507,
+ OTP-13508, OTP-13512, OTP-13516, OTP-13517,
+ OTP-13520, OTP-13522, OTP-13523, OTP-13524,
+ OTP-13526, OTP-13527, OTP-13530, OTP-13531,
+ OTP-13532, OTP-13534, OTP-13540, OTP-13541,
+ OTP-13542, OTP-13544, OTP-13545, OTP-13547,
+ OTP-13548, OTP-13551, OTP-13552, OTP-13553,
+ OTP-13554, OTP-13555, OTP-13556, OTP-13558,
+ OTP-13559, OTP-13560, OTP-13561, OTP-13562,
+ OTP-13566, OTP-13572, OTP-13576, OTP-13580,
+ OTP-13590, OTP-13593, OTP-13597, OTP-13598,
+ OTP-13599, OTP-13600, OTP-13601, OTP-13602,
+ OTP-13606, OTP-13610, OTP-13611, OTP-13612,
+ OTP-13615, OTP-13618, OTP-13619, OTP-13622,
+ OTP-13623, OTP-13625, OTP-13626, OTP-13627,
+ OTP-13628, OTP-13629, OTP-13630, OTP-13631,
+ OTP-13632, OTP-13634, OTP-13636, OTP-13638,
+ OTP-13639, OTP-13644, OTP-13647, OTP-13650,
+ OTP-13651, OTP-13653, OTP-13654, OTP-13655,
+ OTP-13656, OTP-13657, OTP-13658, OTP-13662,
+ OTP-13666, OTP-13668, OTP-13673, OTP-13678
+Seq num: seq13002, seq13124, seq13136
+System: OTP
+Release: 19
+Application: asn1-4.0.3, common_test-1.12.2, compiler-7.0,
+ cosEvent-2.2.1, cosEventDomain-1.2.1,
+ cosFileTransfer-1.2.1, cosNotification-1.2.2,
+ cosProperty-1.2.1, cosTime-1.2.2,
+ cosTransactions-1.3.2, crypto-3.7,
+ debugger-4.2, dialyzer-3.0, diameter-1.12,
+ edoc-0.7.19, eldap-1.2.2, erl_docgen-0.5,
+ erl_interface-3.9, erts-8.0, et-1.6,
+ eunit-2.3, gs-1.6.1, hipe-3.15.1, ic-4.4.1,
+ inets-6.3, jinterface-1.7, kernel-5.0,
+ megaco-3.18.1, mnesia-4.14, observer-2.2,
+ odbc-2.11.2, orber-3.8.2, os_mon-2.4.1,
+ otp_mibs-1.1.1, parsetools-2.1.2,
+ percept-0.9, public_key-1.2, reltool-0.7.1,
+ runtime_tools-1.10, sasl-3.0, snmp-5.2.3,
+ ssh-4.3, ssl-8.0, stdlib-3.0,
+ syntax_tools-2.0, tools-2.8.4, typer-0.9.11,
+ wx-1.7, xmerl-1.3.11
+Predecessor: OTP
+
+ Check out the git tag OTP-19.0, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10267 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first having to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convenience module called msacc that has
+ been added to runtime_tools that can assist in
+ gathering and interpreting the data from Microstate
+ accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-12590 Application(s): erts
+ Related Id(s): OTP-10251
+
+ Sharing preserved copy for messages and exit signals
+
+ Enable sharing preserved copy with configure option
+ --enable-sharing-preserving. This will preserve
+ sharing, within the process, when communication with
+ other processes in the Erlang node. There is a
+ trade-off, the copy is more costly but this cost can be
+ reclaimed if there is a lot of sharing in the message.
+ In addition literals will not be copied in a send
+ except during a purge phase of the module where the
+ literals are located. This feature is considered
+ experimental in 19.0.
+
+
+ OTP-13058 Application(s): mnesia
+
+ Added experimental external backend plugin api. This
+ adds the possibility for the user to write other
+ storage backends for data, for example by using shared
+ memory or ram-cached disk storage.
+
+ The plugin api may change in future versions after
+ being battle tested.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13065 Application(s): stdlib
+ Related Id(s): PR-960
+
+ A new behaviour gen_statem has been implemented. It has
+ been thoroughly reviewed, is stable enough to be used
+ by at least two heavy OTP applications, and is here to
+ stay. But depending on user feedback, we do not expect
+ but might find it necessary to make minor not backwards
+ compatible changes into OTP-20.0, so its state can be
+ designated as "not quite experimental"...
+
+ The gen_statem behaviour is intended to replace gen_fsm
+ for new code. It has the same features and add some
+ really useful:
+
+ -- State code is gathered
+
+ -- The state can be any term
+
+ -- Events can be postponed
+
+ -- Events can be self generated
+
+ -- A reply can be sent from a later state
+
+ -- There can be multiple sys traceable replies
+
+ The callback model(s) for gen_statem differs from the
+ one for gen_fsm, but it is still fairly easy to rewrite
+ from gen_fsm to gen_statem.
+
+
+ OTP-13255 Application(s): ssl
+
+ Better error handling of user error during TLS upgrade.
+ ERL-69 is solved by gen_statem rewrite of ssl
+ application.
+
+
+ OTP-13366 Application(s): erts
+ Related Id(s): OTP-13047
+
+ Introduction of configurable management of data
+ referred to by the message queue of a process. Each
+ process can be configured individually.
+
+ It is now possible to configure the message queue of a
+ process, so that all data referred by it will be kept
+ outside of the heap, and by this prevent this data from
+ being part of garbage collections.
+
+ For more information see the documentation of
+ process_flag(message_queue_data, MQD).
+
+
+ OTP-13408 Application(s): public_key
+
+ Handle PEM encoded EC public keys
+
+
+ OTP-13496 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13503 Application(s): erts
+
+ The erts internal tracing support has been changed to
+ have much less overhead and be more scalable.
+
+ This rewrite does not break any backwards
+ incompatibilities, but it does change the ordering of
+ some trace messages when compared to previous releases.
+ It should be noted that this only applies to trace
+ messages sent to processes or ports, it does not apply
+ to the new tracer module. However in future releases
+ they may also be effected by this.
+
+ Trace messages are only guaranteed to be ordered from
+ one traced process or port. In previous releases this
+ was not visible as a 'send' trace message would always
+ arrive before the corresponding 'receive' trace message
+ that is no longer always the case. This also means that
+ timestamped trace messages may seem to arrive out of
+ order as the timestamp is taken when the event is
+ triggered and not when it is put in the queue of the
+ tracer.
+
+
+ OTP-13572 Application(s): erts, kernel
+ Related Id(s): PR-612
+
+ Experimental support for Unix Domain Sockets has been
+ implemented. Read the sources if you want to try it
+ out. Example: gen_udp:open(0,
+ [{ifaddr,{local,"/tmp/socket"}}]). Documentation will
+ be written after user feedback on the experimental API.
+
+
+ OTP-13632 Application(s): ssl
+
+ Enhance error log messages to facilitate for users to
+ understand the error
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10267 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first having to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-11879 Application(s): stdlib
+
+ Undocumented syntax for function specifications, -spec
+ F/A :: Domain -> Range, has been removed (without
+ deprecation).
+
+ Using the is_subtype(V, T) syntax for constraints (in
+ function specifications) is no longer documented, and
+ the newer syntax V :: T should be used instead. The
+ Erlang Parser still recognizes the is_subtype syntax,
+ and will continue to do so for some time.
+
+
+ OTP-12719 Application(s): stdlib
+
+ Background: In record fields with a type declaration
+ but without an initializer, the Erlang parser inserted
+ automatically the singleton type 'undefined' to the
+ list of declared types, if that value was not present
+ there. That is, the record declaration:
+
+ -record(rec, {f1 :: float(), f2 = 42 :: integer(), f3
+ :: some_mod:some_typ()}).
+
+ was translated by the parser to:
+
+ -record(rec, {f1 :: float() | 'undefined', f2 = 42 ::
+ integer(), f3 :: some_mod:some_typ() | 'undefined'}).
+
+ The rationale for this was that creation of a "dummy"
+ #rec{} record should not result in a warning from
+ dialyzer that, for example, the implicit initialization
+ of the #rec.f1 field violates its type declaration.
+
+ Problems: This seemingly innocent action has some
+ unforeseen consequences.
+
+ For starters, there is no way for programmers to
+ declare that e.g. only floats make sense for the f1
+ field of #rec{} records when there is no "obvious"
+ default initializer for this field. (This also affects
+ tools like PropEr that use these declarations produced
+ by the Erlang parser to generate random instances of
+ records for testing purposes.)
+
+ It also means that dialyzer does not warn if e.g. an
+ is_atom/1 test or something more exotic like an
+ atom_to_list/1 call is performed on the value of the f1
+ field.
+
+ Similarly, there is no way to extend dialyzer to warn
+ if it finds record constructions where f1 is not
+ initialized to some float.
+
+ Last but not least, it is semantically problematic when
+ the type of the field is an opaque type: creating a
+ union of an opaque and a structured type is very
+ problematic for analysis because it fundamentally
+ breaks the opacity of the term at that point.
+
+ Change: To solve these problems the parser will not
+ automatically insert the 'undefined' value anymore;
+ instead the user has the option to choose the places
+ where this value makes sense (for the field) and where
+ it does not and insert the | 'undefined' there
+ manually.
+
+ Consequences of this change: This change means that
+ dialyzer will issue a warning for all places where
+ records with uninitialized fields are created and those
+ fields have a declared type that is incompatible with
+ 'undefined' (e.g. float()). This warning can be
+ suppressed easily by adding | 'undefined' to the type
+ of this field. This also adds documentation that the
+ user really intends to create records where this field
+ is uninitialized.
+
+
+ OTP-12863 Application(s): syntax_tools
+
+ The abstract data type in erl_syntax is augmented with
+ types and function specifications.
+
+ The module erl_prettypr pretty prints types and
+ function specification, and the output can be parsed.
+
+ The types of record fields are no longer ignored. As a
+ consequence erl_syntax_lib:analyze_record_field/1
+ returns {Default, Type} instead of Default. The
+ functions analyze_record_attribute, analyze_attribute,
+ analyze_form, and analyze_forms in the erl_syntax_lib
+ module are also affected by this incompatible change.
+
+
+ OTP-13088 Application(s): erts
+
+ The functionality behind erlang:open_port/2 when called
+ with spawn or spawn_executable has been redone so that
+ the forking of the new program is done in a separate
+ process called erl_child_setup. This allows for a much
+ more robust implementation that uses less memory and
+ does not block the entire emulator if the program to be
+ started is on an un-accessible NFS. Benchmarks have
+ shown this approach to be about 3-5 times as fast as
+ the old approach where the fork/vfork was done by erts.
+ This is a pure stability and performance fix, however
+ some error messages may have changed, which is why it
+ is marked as a backwards incompatible change.
+
+
+ OTP-13148 Application(s): stdlib
+
+ Background: The types of record fields have since R12B
+ been put in a separate form by epp:parse_file(),
+ leaving the record declaration form untyped. The
+ separate form, however, does not follow the syntax of
+ type declarations, and parse transforms inspecting
+ -type() attributes need to know about the special
+ syntax. Since the compiler stores the return value of
+ epp:parse_file() as debug information in the abstract
+ code chunk ("Abst" or abstract_code), tools too need to
+ know about the special syntax, if they inspect -type()
+ attributes in abstract code.
+
+ Change: No separate type form is created by
+ epp:parse_file(), but the type information is kept in
+ the record fields. This means that all parse transforms
+ and all tools inspecting -record() declarations need to
+ recognize {typed_record_field, Field, Type}.
+
+
+ OTP-13184 Application(s): sasl
+
+ The module 'overload' is removed.
+
+
+ OTP-13195 Application(s): ssl
+
+ Remove default support for DES cipher suites
+
+
+ OTP-13449 Application(s): kernel
+
+ The functions rpc:safe_multi_server_call/2,3 that were
+ deprecated in R12B have been removed.
+
+
+ OTP-13465 Application(s): ssl
+
+ Phase out interoperability with clients that offer
+ SSLv2. By default they are no longer supported, but an
+ option to provide interoperability is offered.
+
+
+ OTP-13496 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13497 Application(s): erts
+
+ When the 'procs' trace flag is enabled, a 'spawned'
+ trace event is now also generated by a newly created
+ process. The previous event 'spawn' remains, but as it
+ is generated by the process that did the spawn, it is
+ not guaranteed that it is ordered with other trace
+ events from the newly spawned process. So when tracking
+ the lifetime of a process this new event should be used
+ as the creation event.
+
+ This new trace event is marked as an incompatibility
+ because tools that expect certain trace events when
+ enabling 'procs' will have to updated.
+
+
+ OTP-13504 Application(s): compiler
+
+ The compiler will no longer put the compilation date
+ and time into BEAM files. That means that two BEAM
+ files compiled on the same computer from the same
+ source code and compilation options will be identical.
+
+ Note: If you want to find out whether a BEAM file on
+ disk is different from the loaded code, compared the
+ MD5 value obtained from Mod:module_info(md5) with the
+ MD5 value obtained from beam_lib:md5(BeamFileForMod)
+
+ .
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13542 Application(s): dialyzer
+ Related Id(s): PR-1014
+
+ The type specification syntax for Maps is improved:
+
+ --
+
+ The association type KeyType := ValueType denotes an
+ association that must be present.
+
+ --
+
+ The shorthand ... stands for the association type any()
+ => any().
+
+ An incompatible change is that #{} stands for the empty
+ map. The type map() (a map of any size) can be written
+ as #{...}.
+
+
+ OTP-13553 Application(s): wx
+
+ Changed atom 'boolean' fields in #wxMouseState{} to
+ 'boolean()'.
+
+ Moved out arguments in wxListCtrl:hitTest to result.
+
+ Removed no-op functions in wxGauge that have been
+ removed from wxWidgets-3.1.
+
+
+ OTP-13561 Application(s): inets
+
+ Remove module inets_regexp. Module re should be used
+ instead.
+
+
+ OTP-13619 Application(s): stdlib
+ Related Id(s): PR-1000
+
+ Supervisors now explicitly add their callback module in
+ the return from sys:get_status/1,2. This is to simplify
+ custom supervisor implementations. The Misc part of the
+ return value from sys:get_status/1,2 for a supervisor
+ is now:
+
+ [{data, [{"State",
+ State}]},{supervisor,[{"Callback",Module}]}]
+
+
+ OTP-13622 Application(s): kernel
+ Related Id(s): PR-1065
+
+ The function inet:gethostbyname/1 now honors the
+ resolver option inet6 instead of always looking up IPv4
+ addresses.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-4.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-4.0.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, gs, ic, megaco, orber, otp_mibs,
+ parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of asn1-4.0.3: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.12.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.12.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13475 Application(s): common_test
+
+ The following modules were missing in
+ common_test.app.src: ct_groups, ct_property_test,
+ ct_release_test, ct_webtool, ct_webtool_sup,
+ test_server_gl. They have now been added.
+
+
+ OTP-13615 Application(s): common_test
+ Related Id(s): seq13124
+
+ Common Test printed incorrect timestamps for received
+ error reports.
+
+
+ Full runtime dependencies of common_test-1.12.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13430 Application(s): compiler
+ Related Id(s): ERL-113
+
+ compile:forms/1,2 would crash when used in a working
+ directory that had been deleted by another process.
+
+
+ OTP-13552 Application(s): compiler, dialyzer
+ Related Id(s): ERL-138
+
+ Dialyzer no longer crashes when there is an invalid
+ function call such as 42(7) in a module being analyzed.
+ The compiler will now warn for invalid function calls
+ such as X = 42, x(7).
+
+
+ --- Improvements and New Features ---
+
+ OTP-12951 Application(s): compiler
+
+ Optimization of tuple matching has been slightly
+ improved.
+
+
+ OTP-12979 Application(s): compiler
+
+ Five deprecated and undocumented functions in the
+ module core_lib have been removed. The functions are:
+ get_anno/{1,2}, is_literal/1, is_literal_list/1, and
+ literal_value. Use the appropriate functions in the
+ cerl module instead.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ *** HIGHLIGHT ***
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13280 Application(s): compiler
+
+ The function mapfold/4 has been added to the cerl_trees
+ module.
+
+
+ OTP-13289 Application(s): compiler
+
+ Bitstring comprehensions have been generalized to allow
+ arbitrary expressions in the construction part.
+
+
+ OTP-13374 Application(s): compiler
+ Related Id(s): ERL-44
+
+ The compiler will now produce warnings for binary
+ patterns that will never match (example: > = Bin).
+
+
+ OTP-13504 Application(s): compiler
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The compiler will no longer put the compilation date
+ and time into BEAM files. That means that two BEAM
+ files compiled on the same computer from the same
+ source code and compilation options will be identical.
+
+ Note: If you want to find out whether a BEAM file on
+ disk is different from the loaded code, compared the
+ MD5 value obtained from Mod:module_info(md5) with the
+ MD5 value obtained from beam_lib:md5(BeamFileForMod)
+
+ .
+
+
+ OTP-13654 Application(s): compiler
+
+ The function compile:env_compiler_options/0 has been
+ added to allow tools to pick up the same default
+ compiler options as the compiler itself.
+
+
+ Full runtime dependencies of compiler-7.0: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12217 Application(s): crypto
+
+ Refactor crypto to use the EVP interface of OpenSSL,
+ which is the recommended interface that also enables
+ access to hardware acceleration for some operations.
+
+
+ OTP-13206 Application(s): crypto
+ Related Id(s): PR-832
+
+ Add support for 192-bit keys for the aes_cbc cipher.
+
+
+ OTP-13207 Application(s): crypto
+ Related Id(s): PR-829
+
+ Add support for 192-bit keys for aes_ecb.
+
+
+ OTP-13214 Application(s): crypto, ssl
+
+ Deprecate the function crypto:rand_bytes and make sure
+ that crypto:strong_rand_bytes is used in all places
+ that are cryptographically significant.
+
+
+ OTP-13483 Application(s): crypto
+ Related Id(s): PR-998
+
+ Enable AES-GCM encryption/decryption to change the tag
+ length between 1 to 16 bytes.
+
+
+ Full runtime dependencies of crypto-3.7: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13375 Application(s): debugger
+
+ When the debugger searches for source files, it will
+ also use the location of the source in the compilation
+ information part of the BEAM file.
+
+
+ Full runtime dependencies of debugger-4.2: compiler-5.0, erts-6.0,
+ kernel-3.0, stdlib-2.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13520 Application(s): dialyzer
+
+ Fix a bug in the translation of forms to types.
+
+
+ OTP-13544 Application(s): dialyzer
+ Related Id(s): PR-1007
+
+ Correct misspelling in Dialyzer's acronym definition.
+
+
+ OTP-13552 Application(s): compiler, dialyzer
+ Related Id(s): ERL-138
+
+ Dialyzer no longer crashes when there is an invalid
+ function call such as 42(7) in a module being analyzed.
+ The compiler will now warn for invalid function calls
+ such as X = 42, x(7).
+
+
+ OTP-13653 Application(s): dialyzer
+ Related Id(s): ERL-157
+
+ Fix a bug that caused Dialyzer to go into an infinite
+ loop.
+
+
+ OTP-13655 Application(s): dialyzer
+ Related Id(s): PR-1092
+
+ Fix a bug in Dialyzer related to call-site analysis.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10349 Application(s): dialyzer
+
+ The evaluation of SCCs in dialyzer_typesig is
+ optimized.
+
+ Maps are used instead of Dicts to further optimize the
+ evaluation.
+
+
+ OTP-13244 Application(s): dialyzer
+
+ Since Erlang/OTP R14A, when support for parameterized
+ modules was added, module() has included tuple(), but
+ that part is removed; the type module() is now the same
+ as atom(), as documented in the Reference Manual.
+
+
+ OTP-13542 Application(s): dialyzer
+ Related Id(s): PR-1014
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The type specification syntax for Maps is improved:
+
+ --
+
+ The association type KeyType := ValueType denotes an
+ association that must be present.
+
+ --
+
+ The shorthand ... stands for the association type any()
+ => any().
+
+ An incompatible change is that #{} stands for the empty
+ map. The type map() (a map of any size) can be written
+ as #{...}.
+
+
+ OTP-13547 Application(s): dialyzer
+
+ The translation of forms to types is improved.
+
+
+ Full runtime dependencies of dialyzer-3.0: compiler-7.0, erts-8.0,
+ hipe-3.15.1, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.12 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.12 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13611 Application(s): diameter
+
+ Ensure listening socket is closed at transport removal.
+
+ Transport removal did not immediately close a
+ diameter_tcp/sctp listening socket, and a subsequent
+ peer connection caused it to remain open.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13508 Application(s): diameter
+
+ Add diameter:peer_info/1.
+
+ That retrieves information in the style of
+ diameter:service_info/2, but for a single peer
+ connection.
+
+
+ Full runtime dependencies of diameter-1.12: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.7.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.7.19 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13558 Application(s): edoc
+
+ Handle typed record fields.
+
+
+ Full runtime dependencies of edoc-0.7.19: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13590 Application(s): eldap
+ Related Id(s): PR-1048
+
+ If the underlying tcp connection is closed and an LDAP
+ operation returned tcp_error, the client applications
+ tend to close the ldap handle with eldap:close. This
+ will cause a {nocatch, {gen_tcp_error, ...}} exception.
+
+ Such errors are now ignored during close, because the
+ socket will be closed anyway.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13566 Application(s): eldap
+
+ Modernize test suites
+
+
+ Full runtime dependencies of eldap-1.2.2: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.5 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13600 Application(s): erl_docgen
+ Related Id(s): ERL-141, Jira:
+
+ Generate HTML anchors for data types without name
+ attribute.
+
+
+ OTP-13638 Application(s): erl_docgen, otp
+
+ Updated make rules so it's possible to use the xmllint
+ target for checking the system documentation.
+ Removed usage of non defined DTD tag (output) from the
+ system documentation and corrected a number of xml
+ faults.
+
+ Added support for quote tag and a new level of header
+ formatting in erl_docgen.
+
+ A fault when generating html for manual set markers for
+ section headings is corrected so now is the title
+ visible after hyperlink jump.
+
+
+ OTP-13639 Application(s): erl_docgen
+
+ Corrected the space handling for the seealso tag.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13668 Application(s): erl_docgen
+ Related Id(s): PR-543
+
+ Sort the modules function index alphabetically.
+
+
+ Full runtime dependencies of erl_docgen-0.5: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.9 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.9 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13666 Application(s): erl_interface
+ Related Id(s): ERL-158
+
+ Fix decoding of LLONG_MIN in erl_decode
+
+
+ OTP-13673 Application(s): erl_interface
+
+ On windows ei_decode_ulong and ei_decode_long now
+ correctly returns an error when trying to decode a
+ number that does not fit in a long. Fixed a bug on
+ windows where enabling ei tracing would cause a
+ segmentation fault.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-8.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12593 Application(s): erts, kernel
+
+ The handling of on_load functions has been improved.
+ The major improvement is that if a code upgrade fails
+ because the on_load function fails, the previous
+ version of the module will now be retained.
+
+
+ OTP-13034 Application(s): erts
+
+ is_builtin(erlang, apply, 3) will now return true.
+
+
+ OTP-13288 Application(s): erts
+ Related Id(s): PR913
+
+ Fix enif_get_list_length to return false if list is
+ improper or have length larger than UINT_MAX (did
+ return true and an incorrect length value).
+
+
+ OTP-13341 Application(s): erts
+ Related Id(s): PR951
+
+ Cleanup hipe signal handling code for x86 and make it
+ more portable.
+
+
+ OTP-13411 Application(s): erts, kernel
+
+ Make file:datasync use fsync instead of fdatasync on
+ Mac OSX.
+
+
+ OTP-13419 Application(s): erts
+
+ Make sure to create a crash dump when running out of
+ memory. This was accidentally removed in the erts-7.3
+ release.
+
+
+ OTP-13425 Application(s): erts
+
+ A bug has been fixed where if erlang was started +B on
+ a unix platform it would be killed by a SIGUSR2 signal
+ when creating a crash dump.
+
+
+ OTP-13452 Application(s): erts
+
+ Fix race between process_flag(trap_exit,true) and a
+ received exit signal.
+
+ A process could terminate due to exit signal even
+ though process_flag(trap_exit,true) had returned. A
+ very specific timing between call to process_flag/2 and
+ exit signal from another scheduler was required for
+ this to happen.
+
+
+ OTP-13459 Application(s): erts, stdlib
+
+ Don't search for non-existing Map keys twice
+
+ For maps:get/2,3 and maps:find/2, searching for an
+ immediate key, e.g. an atom, in a small map, the search
+ was performed twice if the key did not exist.
+
+
+ OTP-13474 Application(s): erts
+
+ When an abnormally large distribution message is about
+ to be sent, the VM has been changed to create a crash
+ dump instead of a core dump.
+
+
+ OTP-13485 Application(s): erts
+ Related Id(s): ERL-123
+
+ Fix erlang:process_info/2 type specification
+
+
+ OTP-13489 Application(s): erts
+ Related Id(s): ERL-127
+
+ Fix bug in open_port/2 with option {args, List}. A vm
+ crash could be caused by an improper List.
+
+
+ OTP-13494 Application(s): erts
+ Related Id(s): ERL-126
+
+ Fixed a race-condition bug where the emulator could
+ crash when erlang:system_profile/1,2 was enabled and a
+ process had to be re-scheduled during termination.
+
+
+ OTP-13512 Application(s): erts
+
+ Fixed bugs where the reduction counter was not handled
+ correct.
+
+
+ OTP-13517 Application(s): erts
+
+ Fixed typo in description of the EPMD_DUMP_REQ
+ response.
+
+
+ OTP-13540 Application(s): erts
+
+ Fixed a bug where a process flagged as sensitive would
+ sometimes record its save_calls when it shouldn't.
+
+
+ OTP-13562 Application(s): erts
+
+ Update configure scripts to not use hard-coded path for
+ /bin/pwd and /bin/rm.
+
+
+ OTP-13628 Application(s): erts
+
+ When passing a larger binary than the outputv callback
+ of a linked-in driver can handle in one io vector slot,
+ the binary is now split into multiple slots in the io
+ vector. This change only effects system where the max
+ size of an io vector slot is smaller then the word size
+ of the system (e.g. Windows).
+
+ This change means that it is now possible on Windows to
+ send binaries that are larger than 4GB to port_command,
+ which is what is used for file:write, gen_tcp:send etc.
+
+
+ OTP-13657 Application(s): erts
+
+ Workaround of Maps output in crashdumps. Currently the
+ atom 'undefined' is generated instead of Map data if a
+ Map type is encountered during crash.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10267 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow a tracer
+ module to be the trace event handler instead of a
+ process or port. The tracer module makes it possible
+ for trace tools to filter or manipulate trace event
+ data without the trace event first having to be copied
+ from the traced process or port.
+
+ With the introduction of this feature,
+ erlang:trace(all|existing, _, _) now also returns the
+ tracer process as part of the number of processes on
+ which tracing is enabled. The is incompatible with the
+ previous releases.
+
+
+ OTP-10282 Application(s): erts
+
+ Introduce LTTng tracing of Erlang Runtime System
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ This feature introduces tracepoints for schedulers,
+ drivers, memory carriers, memory and async thread pool.
+
+ For a list of all tracepoints, see Runtime Tools User's
+ Guide .
+
+
+ OTP-11384 Application(s): erts
+
+ Make it possible to monitor/demonitor ports using the
+ erlang:monitor/2 API. The process and port information
+ functions have also been updated to include information
+ about monitors from processes to ports.
+
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ *** HIGHLIGHT ***
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convenience module called msacc that has
+ been added to runtime_tools that can assist in
+ gathering and interpreting the data from Microstate
+ accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-12573 Application(s): erts
+
+ The port of Erlang/OTP to the real-time operating
+ system OSE has been removed.
+
+
+ OTP-12590 Application(s): erts
+ Related Id(s): OTP-10251
+
+ *** HIGHLIGHT ***
+
+ Sharing preserved copy for messages and exit signals
+
+ Enable sharing preserved copy with configure option
+ --enable-sharing-preserving. This will preserve
+ sharing, within the process, when communication with
+ other processes in the Erlang node. There is a
+ trade-off, the copy is more costly but this cost can be
+ reclaimed if there is a lot of sharing in the message.
+ In addition literals will not be copied in a send
+ except during a purge phase of the module where the
+ literals are located. This feature is considered
+ experimental in 19.0.
+
+
+ OTP-12883 Application(s): erts
+
+ Halfword BEAM has been removed.
+
+
+ OTP-12908 Application(s): erts, kernel
+
+ Added os:perf_counter/1.
+
+ The perf_counter is a very very cheap and high
+ resolution timer that can be used to timestamp system
+ events. It does not have monoticity guarantees, but
+ should on most OS's expose a monotonous time.
+
+
+ OTP-13047 Application(s): erts
+
+ Support for a fragmented young heap generation. That
+ is, the young heap generation can consist of multiple
+ non continuous memory areas. The main reason for this
+ change is to avoid extra copying of messages that could
+ not be allocated directly on the receivers heap.
+
+
+ OTP-13086 Application(s): erts
+
+ Erlang linked-in driver can now force the call to
+ open_port to block until a call to erl_drv_init_ack is
+ made inside the driver. This is useful when you want to
+ do some asynchronous initialization, for example
+ getting configuration from a pipe, and you want the
+ initial open_port call to fail if the configuration is
+ incomplete or wrong. See the erl_driver documentation
+ for more details on the API.
+
+
+ OTP-13087 Application(s): erts
+
+ Erlang linked-in drivers can now set their own pids as
+ seen in erlang:port_info/1 by using the erl_drv_set_pid
+ function. For more details see the erl_driver
+ documentation.
+
+
+ OTP-13088 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functionality behind erlang:open_port/2 when called
+ with spawn or spawn_executable has been redone so that
+ the forking of the new program is done in a separate
+ process called erl_child_setup. This allows for a much
+ more robust implementation that uses less memory and
+ does not block the entire emulator if the program to be
+ started is on an un-accessible NFS. Benchmarks have
+ shown this approach to be about 3-5 times as fast as
+ the old approach where the fork/vfork was done by erts.
+ This is a pure stability and performance fix, however
+ some error messages may have changed, which is why it
+ is marked as a backwards incompatible change.
+
+
+ OTP-13096 Application(s): erts
+
+ Improved yielding strategy in the implementation of the
+ following native functions:
+
+ -- erlang:binary_to_list/1
+
+ -- erlang:binary_to_list/3
+
+ -- erlang:bitstring_to_list/1
+
+ -- erlang:list_to_binary/1
+
+ -- erlang:iolist_to_binary/1
+
+ -- erlang:list_to_bitstring/1
+
+ -- binary:list_to_bin/1
+
+ This in order to improve performance of these
+ functions.
+
+
+ OTP-13097 Application(s): erts
+
+ All garbage collections of processes now bump
+ reductions. Also the amount of reductions bumped when
+ garbage collecting has been adjusted. It now better
+ corresponds to the amount of work performed. This in
+ order to improve the real time characteristics of the
+ system.
+
+
+ OTP-13111 Application(s): erts, kernel
+
+ New functions that can load multiple modules at once
+ have been added to the 'code' module. The functions are
+ code:atomic_load/1, code:prepare_loading/1,
+ code:finish_loading/1, and
+ code:ensure_modules_loaded/1.
+
+
+ OTP-13112 Application(s): erts
+
+ The -boot_var option for erl now only supports a single
+ key and single value (as documented). The option used
+ to allow multiple key/value pairs, but that behavior
+ was undocumented.
+
+ The function erl_prim_loader:start/3 has been removed.
+ Its documentation has also been removed.
+
+ The undocumented and unsupported function
+ erl_prim_loader:get_files/2 has been removed.
+
+
+ OTP-13122 Application(s): erts
+
+ Low level BIF erlang:purge_module/1 is made more robust
+ against incorrect use. Lingering processes that still
+ refer the old code are now killed before the module is
+ purged to prevent fatal VM behavior.
+
+
+ OTP-13123 Application(s): erts
+
+ Improved dirty scheduler implementation. For more
+ information see the NIF documentation.
+
+ -- The dirty scheduler support is still *experimental*.
+
+ -- The support for determining whether dirty NIF
+ support exist or not at compile time using the C
+ preprocessor macro ERL_NIF_DIRTY_SCHEDULER_SUPPORT has
+ been removed.
+
+ -- The enif_is_on_dirty_scheduler() function has been
+ removed. Use enif_thread_type() instead.
+
+
+ OTP-13167 Application(s): erts
+
+ Various optimizations done to process dictionary
+ access.
+
+
+ OTP-13174 Application(s): erts
+
+ Added max_heap_size process flag. max_heap_size allows
+ the user to limit the maximum heap used by a process.
+ See erlang:process_flag for more details.
+
+
+ OTP-13227 Application(s): erts
+
+ Allow dynamic drivers and NIF libraries to be built
+ with gcc option -fvisibility=hidden for faster loading
+ and more optimized code.
+
+
+ OTP-13265 Application(s): erts
+
+ Add erlang:process_info(Pid, garbage_collection_info)
+ which returns extended garbage_collection information.
+ For more details see the documentation.
+
+
+ OTP-13293 Application(s): erts
+
+ The functions erlang:list_to_integer/1 and
+ string:to_integer/1 have been optimized for large
+ inputs.
+
+
+ OTP-13359 Application(s): erts
+
+ Improved memory allocation strategy for hipe native
+ code on x86_64 (amd64) architectures by reserving
+ enough low virtual address space needed for the
+ HiPE/AMD64 small code model. The default virtual
+ address area for hipe code is set to 512Mb, but can be
+ changed with emulator flag +MXscs.
+
+
+ OTP-13366 Application(s): erts
+ Related Id(s): OTP-13047
+
+ *** HIGHLIGHT ***
+
+ Introduction of configurable management of data
+ referred to by the message queue of a process. Each
+ process can be configured individually.
+
+ It is now possible to configure the message queue of a
+ process, so that all data referred by it will be kept
+ outside of the heap, and by this prevent this data from
+ being part of garbage collections.
+
+ For more information see the documentation of
+ process_flag(message_queue_data, MQD).
+
+
+ OTP-13401 Application(s): erts
+
+ Processes now yield when scanning large message queues
+ and not finding a matching message. This in order to
+ improve real time characteristics.
+
+
+ OTP-13440 Application(s): erts
+
+ Optimized an erts internal function that is used to
+ traverse erlang terms. The internal function was mainly
+ used by term_to_binary and comparison of terms.
+ Benchmarks have shown up to a 10% performance increase
+ in those functions after the optimization.
+
+
+ OTP-13442 Application(s): erts
+
+ Add the following NIF API functions:
+
+ -- enif_cpu_time
+
+ -- enif_now_time
+
+ -- enif_make_unique_integer
+
+ -- enif_is_process_alive
+
+ -- enif_is_port_alive
+
+ -- enif_term_to_binary
+
+ -- enif_binary_to_term
+
+ -- enif_port_command
+
+ for details of what each function does, see the erl_nif
+ documentation.
+
+
+ OTP-13487 Application(s): erts, stdlib
+
+ Optimize '++' operator and lists:append/2 by using a
+ single pass to build a new list while checking for
+ properness.
+
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ OTP-13493 Application(s): erts
+ Related Id(s): PR-999
+
+ Don't send unasked for systemd notifications in epmd
+
+
+ OTP-13495 Application(s): erts
+
+ The enif_send API has been extended to allow NULL to be
+ used as the message environment. When used this way, a
+ message environment is implicitly created and the given
+ term is copied into that environment before sending.
+ This can be an optimization if many small messages are
+ being sent by the nif.
+
+
+ OTP-13496 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The tracing support has been extended to allow tracing
+ on ports. Ports can be traced on using the 'ports',
+ 'send' and 'receive' trace flags.
+
+ The first argument of erlang:trace/3 has been extended
+ so that 'all', 'existing' and 'new' now include both
+ processes and ports. New Tracee variants,
+ 'all_processes', 'all_ports', 'existing_processes' etc
+ have been added to specify only processes or ports.
+
+
+ OTP-13497 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When the 'procs' trace flag is enabled, a 'spawned'
+ trace event is now also generated by a newly created
+ process. The previous event 'spawn' remains, but as it
+ is generated by the process that did the spawn, it is
+ not guaranteed that it is ordered with other trace
+ events from the newly spawned process. So when tracking
+ the lifetime of a process this new event should be used
+ as the creation event.
+
+ This new trace event is marked as an incompatibility
+ because tools that expect certain trace events when
+ enabling 'procs' will have to updated.
+
+
+ OTP-13501 Application(s): erts
+
+ Add the erlang:match_spec_test/3 function. The
+ functions allows the testing of match specifications
+ for both tracing and ets tables. It can be used to test
+ that a match specification does the expected filtering
+ on specific data. It also returns more verbose error
+ reasons for incorrectly constructed match
+ specifications.
+
+
+ OTP-13503 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The erts internal tracing support has been changed to
+ have much less overhead and be more scalable.
+
+ This rewrite does not break any backwards
+ incompatibilities, but it does change the ordering of
+ some trace messages when compared to previous releases.
+ It should be noted that this only applies to trace
+ messages sent to processes or ports, it does not apply
+ to the new tracer module. However in future releases
+ they may also be effected by this.
+
+ Trace messages are only guaranteed to be ordered from
+ one traced process or port. In previous releases this
+ was not visible as a 'send' trace message would always
+ arrive before the corresponding 'receive' trace message
+ that is no longer always the case. This also means that
+ timestamped trace messages may seem to arrive out of
+ order as the timestamp is taken when the event is
+ triggered and not when it is put in the queue of the
+ tracer.
+
+
+ OTP-13507 Application(s): erts
+
+ Add possibility to filter send and receive trace with
+ match specifications.
+
+
+ OTP-13522 Application(s): erts, stdlib
+ Related Id(s): PR-1025
+
+ Add maps:update_with/3,4 and maps:take/2
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ OTP-13541 Application(s): erts
+ Related Id(s): PR-1026
+
+ Print heap pointers for garbing processes during
+ crashdump
+
+
+ OTP-13560 Application(s): erts
+
+ Changed and improved low level memory statistics
+ returned by erlang:system_info/1. The info for
+ erts_mmap has been moved from mseg_alloc to its own
+ section returned by {allocator, erts_mmap}.
+
+
+ OTP-13580 Application(s): erts
+
+ Add enif_snprintf to the NIF API
+
+ The function enif_snprintf is similar to snprintf call
+ but can handle formatting of Erlang terms via %T format
+ specifier.
+
+
+ OTP-13599 Application(s): erts
+
+ The warning in the documentation for erlang:raise/3 has
+ been removed. It is now officially perfectly fine to
+ use raise/3 in production code.
+
+
+ OTP-13606 Application(s): erts
+
+ Fix bugs caused by the VM sometimes truncating object
+ sizes or offsets to 32 bits on 64-bit hosts. These bugs
+ were mainly found when working with large unicode
+ strings and nifs environments.
+
+
+ OTP-13627 Application(s): erts
+
+ Add -start_epmd command line option, this lets you
+ disable automatic starting of epmd when starting a
+ distributed node.
+
+ Add -epmd_module command line option, this lets you
+ specify a module to register and look-up node names in.
+ The default module is erl_epmd.
+
+
+ OTP-13630 Application(s): erts
+
+ erlang:halt now truncates strings longer than 200
+ characters instead of failing with badarg.
+
+
+ OTP-13634 Application(s): erts
+
+ Fix possible race in poller wake up on windows
+
+
+ Full runtime dependencies of erts-8.0: kernel-5.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The et-1.6 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13545 Application(s): et
+
+ Update selector to utilize new garbage collection trace
+ tags.
+
+
+ Full runtime dependencies of et-1.6: erts-8.0, kernel-3.0,
+ runtime_tools-1.10, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13612 Application(s): eunit
+
+ There is a new debugVal/2 that gives control over the
+ truncation depth.
+
+
+ Full runtime dependencies of eunit-2.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.15.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-3.15.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13407 Application(s): hipe
+ Related Id(s): PR-984
+
+ HiPE compiler crashed, during compilation, in some
+ cases that involved inlining of float operations on
+ complicated control flow graphs.
+
+
+ OTP-13626 Application(s): hipe
+
+ Various fixes and improvements to the HiPE LLVM
+ backend.
+
+ -- Add support for LLVM 3.7 and 3.8 in the HiPE/LLVM
+ x86_64 backend
+
+ -- Reinstate support for the LLVM backend on x86 (works
+ OK for LLVM 3.5 to 3.7 -- LLVM 3.8 has a bug that
+ prevents it from generating correct native code on x86)
+
+
+ --- Improvements and New Features ---
+
+ OTP-13625 Application(s): hipe
+ Related Id(s): PR-1069
+
+ Elimination of maps:is_key/2 calls to HiPE
+
+
+ Full runtime dependencies of hipe-3.15.1: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13644 Application(s): inets
+
+ Ftp client fixes: 1) Corrected a bug that the ftp
+ client gen_server crashed if the listening data socket
+ was closed.
+
+ 2) Corrections of ftp client error codes so they are as
+ defined in the reference manual
+
+
+ --- Improvements and New Features ---
+
+ OTP-12441 Application(s): inets
+
+ Remove usage of erlang:now().
+
+
+ OTP-13383 Application(s): inets
+ Related Id(s): PR-972
+
+ Add handling of DELETE Body to http client.
+
+
+ OTP-13445 Application(s): inets
+ Related Id(s): PR-988
+
+ Removed references to mod_include and webtool from
+ examples and tests.
+
+
+ OTP-13561 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove module inets_regexp. Module re should be used
+ instead.
+
+
+ Full runtime dependencies of inets-6.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13482 Application(s): jinterface
+
+ Fix Jinterface build on Maven
+
+
+ --- Improvements and New Features ---
+
+ OTP-13488 Application(s): erl_interface, erts, jinterface
+
+ Handle terms (pids,ports and refs) from nodes with a
+ 'creation' value larger than 3. This is a preparation
+ of the distribution protocol to allow OTP 19 nodes to
+ correctly communicate with future nodes (20 or higher).
+ The 'creation' value differentiates different
+ incarnations of the same node (name).
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-5.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12593 Application(s): erts, kernel
+
+ The handling of on_load functions has been improved.
+ The major improvement is that if a code upgrade fails
+ because the on_load function fails, the previous
+ version of the module will now be retained.
+
+
+ OTP-13409 Application(s): kernel
+
+ rpc:call() and rpc:block_call() would sometimes cause
+ an exception (which was not mentioned in the
+ documentation). This has been corrected so that
+ {badrpc,Reason} will be returned instead.
+
+
+ OTP-13410 Application(s): kernel
+
+ On Windows, for modules that were loaded early (such as
+ the lists module), code:which/1 would return the path
+ with mixed slashes and backslashes, for example:
+ "C:\\Program
+ Files\\erl8.0/lib/stdlib-2.7/ebin/lists.beam". This has
+ been corrected.
+
+
+ OTP-13411 Application(s): erts, kernel
+
+ Make file:datasync use fsync instead of fdatasync on
+ Mac OSX.
+
+
+ OTP-13444 Application(s): kernel
+
+ The default chunk size for the fallback sendfile
+ implementation, used on platforms that do not have a
+ native sendfile, has been decreased in order to reduce
+ connectivity issues.
+
+
+ OTP-13461 Application(s): kernel
+
+ Large file writes (2Gb or more) could fail on some Unix
+ platforms (for example, OS X and FreeBSD).
+
+
+ OTP-13470 Application(s): kernel
+ Related Id(s): #969, Pull
+
+ A bug has been fixed where the DNS resolver inet_res
+ did not refresh its view of the contents of for example
+ resolv.conf immediately after start and hence then
+ failed name resolution. Reported and fix suggested by
+ Michal Ptaszek in GitHUB pull req #949.
+
+
+ OTP-13516 Application(s): kernel
+ Related Id(s): PR-1008
+
+ Fix process leak from global_group.
+
+
+ OTP-13622 Application(s): kernel
+ Related Id(s): PR-1065
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The function inet:gethostbyname/1 now honors the
+ resolver option inet6 instead of always looking up IPv4
+ addresses.
+
+
+ OTP-13631 Application(s): kernel
+ Related Id(s): PR-911
+
+ The Status argument to init:stop/1 is now sanity
+ checked to make sure erlang:halt does not fail.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12837 Application(s): kernel
+
+ Add {line_delim, byte()} option to inet:setopts/2 and
+ decode_packet/3
+
+
+ OTP-12908 Application(s): erts, kernel
+
+ Added os:perf_counter/1.
+
+ The perf_counter is a very very cheap and high
+ resolution timer that can be used to timestamp system
+ events. It does not have monoticity guarantees, but
+ should on most OS's expose a monotonous time.
+
+
+ OTP-13089 Application(s): kernel
+
+ The os:cmd call has been optimized on unix platforms to
+ be scale better with the number of schedulers.
+
+
+ OTP-13111 Application(s): erts, kernel
+
+ New functions that can load multiple modules at once
+ have been added to the 'code' module. The functions are
+ code:atomic_load/1, code:prepare_loading/1,
+ code:finish_loading/1, and
+ code:ensure_modules_loaded/1.
+
+
+ OTP-13191 Application(s): kernel
+
+ The code path cache feature turned out not to be very
+ useful in practice and has been removed. If an attempt
+ is made to enable the code path cache, there will be a
+ warning report informing the user that the feature has
+ been removed.
+
+
+ OTP-13294 Application(s): kernel
+
+ When an attempt is made to start a distributed Erlang
+ node with the same name as an existing node, the error
+ message will be much shorter and easier to read than
+ before. Example:
+
+ Protocol 'inet_tcp': the name somename@somehost seems
+ to be in use by another Erlang node
+
+
+ OTP-13325 Application(s): kernel
+
+ The output of the default error logger is somewhat
+ prettier and easier to read. The default error logger
+ is used during start-up of the OTP system. If the
+ start-up fails, the output will be easier to read.
+
+
+ OTP-13449 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions rpc:safe_multi_server_call/2,3 that were
+ deprecated in R12B have been removed.
+
+
+ OTP-13458 Application(s): kernel
+
+ Update the error reasons in dist_util, and show them in
+ the logs if net_kernel:verbose(1) has been called.
+
+
+ OTP-13572 Application(s): erts, kernel
+ Related Id(s): PR-612
+
+ *** HIGHLIGHT ***
+
+ Experimental support for Unix Domain Sockets has been
+ implemented. Read the sources if you want to try it
+ out. Example: gen_udp:open(0,
+ [{ifaddr,{local,"/tmp/socket"}}]). Documentation will
+ be written after user feedback on the experimental API.
+
+
+ OTP-13650 Application(s): kernel
+
+ Allow heart to be configured to not kill the previous
+ emulator before calling the HEART_COMMAND. This is done
+ by setting the environment variable HEART_NO_KILL to
+ TRUE.
+
+
+ Full runtime dependencies of kernel-5.0: erts-8.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.14 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.14 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13058 Application(s): mnesia
+
+ *** HIGHLIGHT ***
+
+ Added experimental external backend plugin api. This
+ adds the possibility for the user to write other
+ storage backends for data, for example by using shared
+ memory or ram-cached disk storage.
+
+ The plugin api may change in future versions after
+ being battle tested.
+
+
+ Full runtime dependencies of mnesia-4.14: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13481 Application(s): observer, runtime_tools
+
+ Update observer GUI to support tracing on ports, and to
+ set matchspecs for send/receive. This required some
+ minor bugfixes in runtime_tools/dbg.
+
+
+ OTP-13500 Application(s): observer, runtime_tools
+
+ Update dbg and ttb to work with a tracer module as
+ tracer and tracing on ports.
+
+
+ OTP-13555 Application(s): observer
+
+ Added possibility to change update frequency and length
+ of the graph windows.
+
+
+ OTP-13556 Application(s): observer
+
+ Improved background coloring to work with dark themes
+ and other visual improvements.
+
+
+ OTP-13647 Application(s): observer
+
+ Crashdump viewer now allows port info "Port controls
+ forker process..."
+
+
+ Full runtime dependencies of observer-2.2: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.11.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.11.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13559 Application(s): odbc
+
+ Configure enhancement for better handling program paths
+ used in the build process
+
+
+ Full runtime dependencies of odbc-2.11.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.4.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13526 Application(s): os_mon
+ Related Id(s): PR-1029
+
+ Fix type specification for cpu_sup:util/1
+
+
+ OTP-13548 Application(s): os_mon
+ Related Id(s): PR-1046
+
+ Fix strict compilation on SUN/SPARC
+
+
+ OTP-13597 Application(s): os_mon
+ Related Id(s): PR-1049
+
+ Implement cpu_sup:util/0,1 on Mac OSX
+
+
+ OTP-13601 Application(s): os_mon
+ Related Id(s): PR-1039
+
+ Fix memsup:get_os_wordsize() on 64-bit FreeBSD and
+ 64-bit Linux PPC
+
+
+ Full runtime dependencies of os_mon-2.4.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.1.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, gs, ic, megaco, orber, otp_mibs,
+ parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of parsetools-2.1.2: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- percept-0.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The percept-0.9 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13422 Application(s): percept
+
+ Remove deprecated erlang:now/0 calls
+
+
+ --- Improvements and New Features ---
+
+ OTP-13598 Application(s): percept
+
+ Improve line implementation
+
+ Add capabilities for line thickness and anti-aliasing.
+
+
+ Full runtime dependencies of percept-0.9: erts-6.0, inets-5.10,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13554 Application(s): public_key
+
+ The ASN-1 type GeneralName can have more values, then
+ the most common directory name, the code now handles
+ this.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13408 Application(s): public_key
+
+ *** HIGHLIGHT ***
+
+ Handle PEM encoded EC public keys
+
+
+ Full runtime dependencies of public_key-1.2: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The reltool-0.7.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13033 Application(s): reltool
+ Related Id(s): OTP-12719
+
+ Modify the code as motivated by a change of the Erlang
+ Parser (undefined is no longer automatically inserted
+ to the type of record fields without an initializer).
+
+
+ Full runtime dependencies of reltool-0.7.1: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.10 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.10 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13576 Application(s): runtime_tools
+ Related Id(s): ERL-119
+
+ Fix bug in dbg:trace_port/2 that could cause the trace
+ ip driver to produce faulty error reports
+ "...(re)selected before stop_select was called for
+ driver trace_ip_drv".
+
+
+ --- Improvements and New Features ---
+
+ OTP-12345 Application(s): erts, runtime_tools
+
+ *** HIGHLIGHT ***
+
+ Add microstate accounting
+
+ Microstate accounting is a way to track which state the
+ different threads within ERTS are in. The main usage
+ area is to pin point performance bottlenecks by
+ checking which states the threads are in and then from
+ there figuring out why and where to optimize.
+
+ Since checking whether microstate accounting is on or
+ off is relatively expensive only a few of the states
+ are enabled by default and more states can be enabled
+ through configure.
+
+ There is a convenience module called msacc that has
+ been added to runtime_tools that can assist in
+ gathering and interpreting the data from Microstate
+ accounting.
+
+ For more information see
+ erlang:statistics(microstate_accounting, _) and the
+ msacc module in runtime_tools.
+
+
+ OTP-13481 Application(s): observer, runtime_tools
+
+ Update observer GUI to support tracing on ports, and to
+ set matchspecs for send/receive. This required some
+ minor bugfixes in runtime_tools/dbg.
+
+
+ OTP-13500 Application(s): observer, runtime_tools
+
+ Update dbg and ttb to work with a tracer module as
+ tracer and tracing on ports.
+
+
+ OTP-13502 Application(s): runtime_tools
+
+ Updated dbg to accept the new trace options
+ monotonic_timestamp and strict_monotonic_timestamp.
+
+
+ OTP-13532 Application(s): erts, runtime_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Introduce LTTng tracing via Erlang tracing.
+
+ For LTTng to be enabled OTP needs to be built with
+ configure option --with-dynamic-trace=lttng.
+
+ The dynamic trace module dyntrace is now capable to be
+ used as a LTTng sink for Erlang tracing. For a list of
+ all tracepoints, see Runtime Tools User's Guide .
+
+ This feature also introduces an incompatible change in
+ trace tags. The trace tags gc_start and gc_end has been
+ split into gc_minor_start, gc_minor_end and
+ gc_major_start, gc_major_end.
+
+
+ Full runtime dependencies of runtime_tools-1.10: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13184 Application(s): sasl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The module 'overload' is removed.
+
+
+ Full runtime dependencies of sasl-3.0: erts-8.0, kernel-5.0,
+ stdlib-3.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12860 Application(s): ssh
+
+ A socket created and connected by gen_tcp could now be
+ used as input to ssh:connect, ssh:shell,
+ ssh_sftp:start_channel and ssh:daemon.
+
+
+ OTP-13131 Application(s): ssh
+
+ Some time optimization mainly in message encoding.
+
+
+ OTP-13175 Application(s): ssh
+
+ Optimized the sftp client time by setting new packet
+ and window sizes.
+
+
+ OTP-13267 Application(s): ssh
+
+ The ssh_connection_handler module in SSH is changed and
+ now uses the new behaviour gen_statem.
+
+ The module can be used as an example of a gen_statem
+ callback module but with a warning: This commit of ssh
+ is just a straightforward port from gen_fsm to
+ gen_statem with some code cleaning. Since the state
+ machine and the state callbacks are almost unchanged
+ the ssh module does not demonstrate the full potential
+ of the new behaviour.
+
+ The "new" state machine uses compound states. The ssh
+ server and client state machines are quite similar but
+ differences exist. With gen_fsm there were flags in the
+ user data which in fact implemented "substates". Now
+ with gen_statem those are made explicit in the state
+ names, eg. the state userauth and the binary role-flag
+ becomes the two state names {userauth, server} and
+ {userauth, client}.
+
+
+ OTP-13347 Application(s): ssh
+ Related Id(s): ERL-86
+
+ The {error, Reason} tuples returned from ssh_sftp api
+ functions are described.
+
+
+ OTP-13479 Application(s): ssh
+
+ Added -spec in ssh
+
+
+ OTP-13527 Application(s): ssh
+
+ It is now possible to call ssh:daemon/{1,2,3} with
+ Port=0. This makes the daemon select a free listening
+ tcp port before opening it. To find this port number
+ after the call, use the new function ssh:daemon_info/1.
+ See the reference manual for details.
+
+
+ Full runtime dependencies of ssh-4.3: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-8.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13651 Application(s): ssl
+
+ Server now rejects, a not requested client cert, as an
+ incorrect handshake message and ends the connection.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13195 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove default support for DES cipher suites
+
+
+ OTP-13214 Application(s): crypto, ssl
+
+ Deprecate the function crypto:rand_bytes and make sure
+ that crypto:strong_rand_bytes is used in all places
+ that are cryptographically significant.
+
+
+ OTP-13255 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Better error handling of user error during TLS upgrade.
+ ERL-69 is solved by gen_statem rewrite of ssl
+ application.
+
+
+ OTP-13256 Application(s): ssl
+
+ Provide user friendly error message when crypto rejects
+ a key
+
+
+ OTP-13415 Application(s): ssl
+
+ Add ssl:getstat/1 and ssl:getstat/2
+
+
+ OTP-13429 Application(s): ssl
+ Related Id(s): Pull#956
+
+ TLS distribution connections now allow specifying the
+ options verify_fun, crl_check and crl_cache. See the
+ documentation. GitHub pull req #956 contributed by
+ Magnus Henoch.
+
+
+ OTP-13431 Application(s): ssl
+
+ Remove confusing error message when closing a
+ distributed erlang node running over TLS
+
+
+ OTP-13463 Application(s): ssl
+
+ Remove default support for use of md5 in TLS 1.2
+ signature algorithms
+
+
+ OTP-13464 Application(s): ssl
+
+ ssl now uses gen_statem instead of gen_fsm to implement
+ the ssl connection process, this solves some timing
+ issues in addition to making the code more intuitive as
+ the behaviour can be used cleanly instead of having a
+ lot of workaround for shortcomings of the behaviour.
+
+
+ OTP-13465 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Phase out interoperability with clients that offer
+ SSLv2. By default they are no longer supported, but an
+ option to provide interoperability is offered.
+
+
+ OTP-13530 Application(s): ssl
+
+ OpenSSL has functions to generate short (eight hex
+ digits) hashes of issuers of certificates and CRLs.
+ These hashes are used by the "c_rehash" script to
+ populate directories of CA certificates and CRLs, e.g.
+ in the Apache web server. Add functionality to let an
+ Erlang program find the right CRL for a given
+ certificate in such a directory.
+
+
+ OTP-13629 Application(s): ssl
+
+ Some legacy TLS 1.0 software does not tolerate the
+ 1/n-1 content split BEAST mitigation technique. Add a
+ beast_mitigation SSL option (defaulting to
+ one_n_minus_one) to select or disable the BEAST
+ mitigation technique.
+
+
+ OTP-13632 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Enhance error log messages to facilitate for users to
+ understand the error
+
+
+ OTP-13636 Application(s): ssl
+
+ Increased default DH params to 2048-bit
+
+
+ OTP-13656 Application(s): ssl
+
+ Propagate CRL unknown CA error so that public_key
+ validation process continues correctly and determines
+ what should happen.
+
+
+ OTP-13678 Application(s): ssl
+
+ Introduce a flight concept for handshake packages. This
+ is a preparation for enabling DTLS, however it can also
+ have a positive effects for TLS on slow and unreliable
+ networks.
+
+
+ Full runtime dependencies of ssl-8.0: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.0 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13260 Application(s): stdlib
+ Related Id(s): seq13002
+
+ Fix a race bug affecting dets:open_file/2.
+
+
+ OTP-13459 Application(s): erts, stdlib
+
+ Don't search for non-existing Map keys twice
+
+ For maps:get/2,3 and maps:find/2, searching for an
+ immediate key, e.g. an atom, in a small map, the search
+ was performed twice if the key did not exist.
+
+
+ OTP-13531 Application(s): stdlib
+
+ Avoid stray corner-case math errors on Solaris, e.g. an
+ error is thrown on underflows in exp() and pow() when
+ it shouldn't be.
+
+
+ OTP-13534 Application(s): stdlib
+ Related Id(s): ERL-135
+
+ Fix linting of map key variables
+
+ Map keys cannot be unbound and then used in parallel
+ matching.
+
+ Example: #{ K := V } = #{ k := K } = M. This is illegal
+ if 'K' is not bound.
+
+
+ OTP-13602 Application(s): stdlib
+
+ Fixed a bug in re on openbsd where sometimes re:run
+ would return an incorrect result.
+
+
+ OTP-13618 Application(s): stdlib
+ Related Id(s): PR-1001
+
+ To avoid potential timer bottleneck on supervisor
+ restart, timer server is no longer used when the
+ supervisor is unable to restart a child.
+
+
+ OTP-13662 Application(s): stdlib
+ Related Id(s): seq13136
+
+ The Erlang code preprocessor (epp) can handle file
+ names spanning over many tokens. Example: -include("a"
+ "file" "name")..
+
+
+ --- Improvements and New Features ---
+
+ OTP-10292 Application(s): stdlib
+
+ The types of The Abstract Format in the erl_parse
+ module have been refined.
+
+
+ OTP-11879 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Undocumented syntax for function specifications, -spec
+ F/A :: Domain -> Range, has been removed (without
+ deprecation).
+
+ Using the is_subtype(V, T) syntax for constraints (in
+ function specifications) is no longer documented, and
+ the newer syntax V :: T should be used instead. The
+ Erlang Parser still recognizes the is_subtype syntax,
+ and will continue to do so for some time.
+
+
+ OTP-12502 Application(s): stdlib
+ Related Id(s): OTP-12501
+
+ The 'random' module has been deprecated. Use the 'rand'
+ module instead.
+
+
+ OTP-12719 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Background: In record fields with a type declaration
+ but without an initializer, the Erlang parser inserted
+ automatically the singleton type 'undefined' to the
+ list of declared types, if that value was not present
+ there. That is, the record declaration:
+
+ -record(rec, {f1 :: float(), f2 = 42 :: integer(), f3
+ :: some_mod:some_typ()}).
+
+ was translated by the parser to:
+
+ -record(rec, {f1 :: float() | 'undefined', f2 = 42 ::
+ integer(), f3 :: some_mod:some_typ() | 'undefined'}).
+
+ The rationale for this was that creation of a "dummy"
+ #rec{} record should not result in a warning from
+ dialyzer that, for example, the implicit initialization
+ of the #rec.f1 field violates its type declaration.
+
+ Problems: This seemingly innocent action has some
+ unforeseen consequences.
+
+ For starters, there is no way for programmers to
+ declare that e.g. only floats make sense for the f1
+ field of #rec{} records when there is no "obvious"
+ default initializer for this field. (This also affects
+ tools like PropEr that use these declarations produced
+ by the Erlang parser to generate random instances of
+ records for testing purposes.)
+
+ It also means that dialyzer does not warn if e.g. an
+ is_atom/1 test or something more exotic like an
+ atom_to_list/1 call is performed on the value of the f1
+ field.
+
+ Similarly, there is no way to extend dialyzer to warn
+ if it finds record constructions where f1 is not
+ initialized to some float.
+
+ Last but not least, it is semantically problematic when
+ the type of the field is an opaque type: creating a
+ union of an opaque and a structured type is very
+ problematic for analysis because it fundamentally
+ breaks the opacity of the term at that point.
+
+ Change: To solve these problems the parser will not
+ automatically insert the 'undefined' value anymore;
+ instead the user has the option to choose the places
+ where this value makes sense (for the field) and where
+ it does not and insert the | 'undefined' there
+ manually.
+
+ Consequences of this change: This change means that
+ dialyzer will issue a warning for all places where
+ records with uninitialized fields are created and those
+ fields have a declared type that is incompatible with
+ 'undefined' (e.g. float()). This warning can be
+ suppressed easily by adding | 'undefined' to the type
+ of this field. This also adds documentation that the
+ user really intends to create records where this field
+ is uninitialized.
+
+
+ OTP-12861 Application(s): stdlib
+
+ Remove deprecated functions in the modules erl_scan and
+ erl_parse.
+
+
+ OTP-13059 Application(s): compiler, stdlib
+
+ *** HIGHLIGHT ***
+
+ The pre-processor can now expand the ?FUNCTION_NAME and
+ ?FUNCTION_ARITY macros.
+
+
+ OTP-13065 Application(s): stdlib
+ Related Id(s): PR-960
+
+ *** HIGHLIGHT ***
+
+ A new behaviour gen_statem has been implemented. It has
+ been thoroughly reviewed, is stable enough to be used
+ by at least two heavy OTP applications, and is here to
+ stay. But depending on user feedback, we do not expect
+ but might find it necessary to make minor not backwards
+ compatible changes into OTP-20.0, so its state can be
+ designated as "not quite experimental"...
+
+ The gen_statem behaviour is intended to replace gen_fsm
+ for new code. It has the same features and add some
+ really useful:
+
+ -- State code is gathered
+
+ -- The state can be any term
+
+ -- Events can be postponed
+
+ -- Events can be self generated
+
+ -- A reply can be sent from a later state
+
+ -- There can be multiple sys traceable replies
+
+ The callback model(s) for gen_statem differs from the
+ one for gen_fsm, but it is still fairly easy to rewrite
+ from gen_fsm to gen_statem.
+
+
+ OTP-13082 Application(s): stdlib
+
+ Optimize binary:split/2 and binary:split/3 with native
+ BIF implementation.
+
+
+ OTP-13148 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Background: The types of record fields have since R12B
+ been put in a separate form by epp:parse_file(),
+ leaving the record declaration form untyped. The
+ separate form, however, does not follow the syntax of
+ type declarations, and parse transforms inspecting
+ -type() attributes need to know about the special
+ syntax. Since the compiler stores the return value of
+ epp:parse_file() as debug information in the abstract
+ code chunk ("Abst" or abstract_code), tools too need to
+ know about the special syntax, if they inspect -type()
+ attributes in abstract code.
+
+ Change: No separate type form is created by
+ epp:parse_file(), but the type information is kept in
+ the record fields. This means that all parse transforms
+ and all tools inspecting -record() declarations need to
+ recognize {typed_record_field, Field, Type}.
+
+
+ OTP-13152 Application(s): stdlib
+
+ Unsized fields of the type bytes in binary generators
+ are now forbidden. (The other ways of writing unsized
+ fields, such as binary, are already forbidden.)
+
+
+ OTP-13153 Application(s): stdlib
+
+ The type map() is built-in, and cannot be redefined.
+
+
+ OTP-13229 Application(s): stdlib
+ Related Id(s): ERL-55
+
+ Let dets:open_file() exit with a badarg message if
+ given a raw file name (a binary).
+
+
+ OTP-13392 Application(s): stdlib
+
+ Add filename:basedir/2,3
+
+ basedir returns suitable path(s) for 'user_cache',
+ 'user_config', 'user_data', 'user_log', 'site_config'
+ and 'site_data'. On linux and linux like systems the
+ paths will respect the XDG environment variables.
+
+
+ OTP-13476 Application(s): stdlib
+
+ There are new preprocessor directives -error(Term) and
+ -warning(Term) to cause a compilation error or a
+ compilation warning, respectively.
+
+
+ OTP-13487 Application(s): erts, stdlib
+
+ Optimize '++' operator and lists:append/2 by using a
+ single pass to build a new list while checking for
+ properness.
+
+
+ OTP-13522 Application(s): erts, stdlib
+ Related Id(s): PR-1025
+
+ Add maps:update_with/3,4 and maps:take/2
+
+
+ OTP-13523 Application(s): stdlib
+
+ lists:join/2 has been added. Similar to string:join/2
+ but works with arbitrary lists.
+
+
+ OTP-13524 Application(s): stdlib
+ Related Id(s): PR-1002
+
+ Obfuscate asserts to make Dialyzer shut up.
+
+
+ OTP-13619 Application(s): stdlib
+ Related Id(s): PR-1000
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Supervisors now explicitly add their callback module in
+ the return from sys:get_status/1,2. This is to simplify
+ custom supervisor implementations. The Misc part of the
+ return value from sys:get_status/1,2 for a supervisor
+ is now:
+
+ [{data, [{"State",
+ State}]},{supervisor,[{"Callback",Module}]}]
+
+
+ OTP-13623 Application(s): stdlib
+
+ Relax translation of initial calls in proc_lib, i.e.
+ remove the restriction to only do the translation for
+ gen_server and gen_fsm. This enables user defined gen
+ based generic callback modules to be displayed nicely
+ in c:i() and observer.
+
+
+ OTP-13658 Application(s): stdlib
+
+ The function queue:lait/1 (misspelling of liat/1) is
+ now deprecated.
+
+
+ Full runtime dependencies of stdlib-3.0: compiler-5.0, crypto-3.3,
+ erts-8.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.0 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.0 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-12863 Application(s): syntax_tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The abstract data type in erl_syntax is augmented with
+ types and function specifications.
+
+ The module erl_prettypr pretty prints types and
+ function specification, and the output can be parsed.
+
+ The types of record fields are no longer ignored. As a
+ consequence erl_syntax_lib:analyze_record_field/1
+ returns {Default, Type} instead of Default. The
+ functions analyze_record_attribute, analyze_attribute,
+ analyze_form, and analyze_forms in the erl_syntax_lib
+ module are also affected by this incompatible change.
+
+
+ Full runtime dependencies of syntax_tools-2.0: compiler-7.0,
+ erts-8.0, kernel-5.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.8.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13499 Application(s): tools
+
+ Update fprof to use the new 'spawned' trace event to
+ determine when a process has been created.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13593 Application(s): tools
+
+ Optimize adding multiple modules to an Xref server.
+
+
+ OTP-13610 Application(s): tools
+
+ Various emacs mode improvements, such as better tags
+ support.
+
+
+ Full runtime dependencies of tools-2.8.4: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- typer-0.9.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The typer-0.9.11 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, gs, ic, megaco, orber, otp_mibs,
+ parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of typer-0.9.11: compiler-5.0,
+ dialyzer-2.7, erts-6.0, hipe-3.10.3, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13491 Application(s): wx
+
+ Fixed bugs which could cause called functions to be
+ invoked twice or not at all when callbacks where
+ invoked at the same time.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13553 Application(s): wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed atom 'boolean' fields in #wxMouseState{} to
+ 'boolean()'.
+
+ Moved out arguments in wxListCtrl:hitTest to result.
+
+ Removed no-op functions in wxGauge that have been
+ removed from wxWidgets-3.1.
+
+
+ Full runtime dependencies of wx-1.7: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.11 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13551 Application(s): asn1, cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, gs, ic, megaco, orber, otp_mibs,
+ parsetools, snmp, typer, xmerl
+
+ Internal changes
+
+
+ Full runtime dependencies of xmerl-1.3.11: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Aleksei Magusev, Alexey Lebedeff, Andreas Schultz, Andrew Bennett,
+ Byaruhanga Franklin, Constantin Rack, Daniel Sommermann, Daniil
+ Fedotov, Derek Brown, Diana Corbacho, Dmytro Lytovchenko, Dániel
+ Szoboszlay, Erik Norgren, FabioBatSilva, Jesper Louis Andersen, Joe
+ DeVivo, Johan Claesson, John, John Eckersberg, José Valim, Kenji
+ Rikitake, Kenneth Lakin, Kostis Sagonas, Loïc Hoguin, Luca Favatella,
+ Lukas Larsson, Magnus Henoch, Magnus Lång, Michael Klishin, Michael
+ Santos, Michal Ptaszek, Mikael Pettersson, Milton Inostroza,
+ Nathaniel Waisbrot, Nikolaos S. Papaspyrou, Péter Gömöri, Richard
+ Carlsson, Rico Antonio Felix, Sasan Hezarkhani, Sean Charles, Serge
+ Aleynikov, Simon Cornish, Stavros Aronis, Stefan Strigler, Steve
+ Vinoski, Stuart Thackray, Ulf Wiger, Vlad Dumitrescu, Yiannis
+ Tsiouris, Yuki Ito, alisdair sullivan, def_null, eksperimental,
+ jrobhoward, xsipewe, xuming
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.1.README.txt b/release-notes/OTP-19.1.1.README.txt
new file mode 100644
index 0000000..6e492ab
--- /dev/null
+++ b/release-notes/OTP-19.1.1.README.txt
@@ -0,0 +1,52 @@
+Patch Package: OTP 19.1.1
+Git Tag: OTP-19.1.1
+Date: 2016-09-29
+Trouble Report Id: OTP-13917, OTP-13918
+Seq num:
+System: OTP
+Release: 19
+Application: ssl-8.0.3
+Predecessor: OTP 19.1
+
+ Check out the git tag OTP-19.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-8.0.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.0.3 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13917 Application(s): ssl
+
+ A timing related bug in event handling could cause
+ interoperability problems between an erlang TLS server
+ and some TLS clients, especially noticed with Firefox
+ as TLS client.
+
+
+ OTP-13918 Application(s): ssl
+
+ Correct ECC curve selection, the error could cause the
+ default to always be selected.
+
+
+ Full runtime dependencies of ssl-8.0.3: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.2.README.txt b/release-notes/OTP-19.1.2.README.txt
new file mode 100644
index 0000000..783bd63
--- /dev/null
+++ b/release-notes/OTP-19.1.2.README.txt
@@ -0,0 +1,42 @@
+Patch Package: OTP 19.1.2
+Git Tag: OTP-19.1.2
+Date: 2016-10-06
+Trouble Report Id: OTP-13905, OTP-13932
+Seq num: seq13189
+System: OTP
+Release: 19
+Application: ssh-4.3.3
+Predecessor: OTP 19.1.1
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.3.3 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+
+ OTP-13932 Application(s): ssh
+ Related Id(s): seq13189
+
+ Handle all possible exit values that should be
+ interpreted as {error, closed}. Failing to do so could
+ lead to unexpected crashes for users of the ssh
+ application.
+
+
+ Full runtime dependencies of ssh-4.3.3: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.3.README.txt b/release-notes/OTP-19.1.3.README.txt
new file mode 100644
index 0000000..e1c6e23
--- /dev/null
+++ b/release-notes/OTP-19.1.3.README.txt
@@ -0,0 +1,45 @@
+Patch Package: OTP 19.1.3
+Git Tag: OTP-19.1.3
+Date: 2016-10-11
+Trouble Report Id: OTP-13953
+Seq num: seq13199
+System: OTP
+Release: 19
+Application: ssh-4.3.4
+Predecessor: OTP 19.1.2
+
+ Check out the git tag OTP-19.1.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.3.4 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13953 Application(s): ssh
+ Related Id(s): seq13199
+
+ Intermittent ssh ERROR REPORT mentioning
+ nonblocking_sender
+
+
+ Full runtime dependencies of ssh-4.3.4: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.4.README.txt b/release-notes/OTP-19.1.4.README.txt
new file mode 100644
index 0000000..21c478c
--- /dev/null
+++ b/release-notes/OTP-19.1.4.README.txt
@@ -0,0 +1,45 @@
+Patch Package: OTP 19.1.4
+Git Tag: OTP-19.1.4
+Date: 2016-10-14
+Trouble Report Id: OTP-13966
+Seq num:
+System: OTP
+Release: 19
+Application: ssh-4.3.5
+Predecessor: OTP 19.1.3
+
+ Check out the git tag OTP-19.1.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.3.5 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13966 Application(s): ssh
+
+ If a client illegaly sends an info-line and then
+ immediatly closes the TCP-connection, a badmatch
+ exception was raised.
+
+
+ Full runtime dependencies of ssh-4.3.5: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.5.README.txt b/release-notes/OTP-19.1.5.README.txt
new file mode 100644
index 0000000..aaa3a47
--- /dev/null
+++ b/release-notes/OTP-19.1.5.README.txt
@@ -0,0 +1,43 @@
+Patch Package: OTP 19.1.5
+Git Tag: OTP-19.1.5
+Date: 2016-10-18
+Trouble Report Id: OTP-13972
+Seq num:
+System: OTP
+Release: 19
+Application: ssh-4.3.6
+Predecessor: OTP 19.1.4
+
+ Check out the git tag OTP-19.1.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.3.6 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13972 Application(s): ssh
+
+ Re-negotiation problems with OpenSSH client solved.
+
+
+ Full runtime dependencies of ssh-4.3.6: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.6.1.README.txt b/release-notes/OTP-19.1.6.1.README.txt
new file mode 100644
index 0000000..746c170
--- /dev/null
+++ b/release-notes/OTP-19.1.6.1.README.txt
@@ -0,0 +1,45 @@
+Patch Package: OTP 19.1.6.1
+Git Tag: OTP-19.1.6.1
+Date: 2017-06-02
+Trouble Report Id: OTP-14444
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.1.1.1
+Predecessor: OTP 19.1.6
+
+ Check out the git tag OTP-19.1.6.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.1.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.1.1.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14444 Application(s): erts
+ Related Id(s): ERIERL-24
+
+ A code purge operation could under certain
+ circumstances expand the size of hibernated processes.
+
+
+ Full runtime dependencies of erts-8.1.1.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.6.README.txt b/release-notes/OTP-19.1.6.README.txt
new file mode 100644
index 0000000..b70ee96
--- /dev/null
+++ b/release-notes/OTP-19.1.6.README.txt
@@ -0,0 +1,73 @@
+Patch Package: OTP 19.1.6
+Git Tag: OTP-19.1.6
+Date: 2016-11-09
+Trouble Report Id: OTP-13956, OTP-13997, OTP-14009
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.1.1
+Predecessor: OTP 19.1.5
+
+ Check out the git tag OTP-19.1.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.1.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.1.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13956 Application(s): erts
+ Related Id(s): ERL-133, ERL-262
+
+ The emulator got a dynamic library dependency towards
+ libsctp, which on Linux was not intended since the
+ emulator there loads and resolves the needed sctp
+ functions in runtime. This has been fixed and a
+ configure switch --enable-sctp=lib has been added for
+ those who want such a library dependency.
+
+
+ OTP-13997 Application(s): erts
+
+ Fix SIGUSR1 crashdump generation
+
+ Do not generate a core when a crashdump is asked for.
+
+
+ OTP-14009 Application(s): erts
+
+ The new functions in code that allows loading of many
+ modules at once had a performance problem. While
+ executing a helper function in the erl_prim_loader
+ process, garbage messages were produced. The garbages
+ messages were ignored and ultimately discarded, but
+ there would be a negative impact on performance and
+ memory usage. The number of garbage message depended on
+ both the number of modules to be loaded and the length
+ of the code path.
+
+ The functions affected of this problem were:
+ atomic_load/1, ensure_modules_loaded/1, and
+ prepare_loading/1.
+
+
+ Full runtime dependencies of erts-8.1.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.1.README.txt b/release-notes/OTP-19.1.README.txt
new file mode 100644
index 0000000..8283575
--- /dev/null
+++ b/release-notes/OTP-19.1.README.txt
@@ -0,0 +1,1363 @@
+Patch Package: OTP 19.1
+Git Tag: OTP-19.1
+Date: 2016-09-21
+Trouble Report Id: OTP-11993, OTP-13564, OTP-13624, OTP-13633,
+ OTP-13681, OTP-13682, OTP-13698, OTP-13701,
+ OTP-13706, OTP-13718, OTP-13720, OTP-13721,
+ OTP-13723, OTP-13724, OTP-13725, OTP-13730,
+ OTP-13733, OTP-13734, OTP-13735, OTP-13740,
+ OTP-13742, OTP-13744, OTP-13746, OTP-13752,
+ OTP-13755, OTP-13758, OTP-13759, OTP-13763,
+ OTP-13765, OTP-13770, OTP-13773, OTP-13775,
+ OTP-13776, OTP-13777, OTP-13778, OTP-13780,
+ OTP-13781, OTP-13782, OTP-13783, OTP-13787,
+ OTP-13789, OTP-13795, OTP-13800, OTP-13802,
+ OTP-13803, OTP-13804, OTP-13808, OTP-13809,
+ OTP-13816, OTP-13818, OTP-13822, OTP-13833,
+ OTP-13834, OTP-13841, OTP-13843, OTP-13845,
+ OTP-13846, OTP-13847, OTP-13848, OTP-13849,
+ OTP-13850, OTP-13851, OTP-13852, OTP-13853,
+ OTP-13854, OTP-13855, OTP-13859, OTP-13861,
+ OTP-13863, OTP-13866, OTP-13867, OTP-13868,
+ OTP-13869, OTP-13871, OTP-13876, OTP-13877,
+ OTP-13878, OTP-13880, OTP-13883, OTP-13891,
+ OTP-13892, OTP-13893
+Seq num: seq13135, seq13158, seq13177, seq13178
+System: OTP
+Release: 19
+Application: asn1-4.0.4, common_test-1.12.3,
+ compiler-7.0.2, crypto-3.7.1, debugger-4.2.1,
+ dialyzer-3.0.2, diameter-1.12.1, edoc-0.8,
+ erl_docgen-0.6, erl_interface-3.9.1,
+ erts-8.1, eunit-2.3.1, gs-1.6.2, hipe-3.15.2,
+ ic-4.4.2, inets-6.3.3, jinterface-1.7.1,
+ kernel-5.1, mnesia-4.14.1, observer-2.2.2,
+ odbc-2.11.3, parsetools-2.1.3, reltool-0.7.2,
+ runtime_tools-1.10.1, sasl-3.0.1, snmp-5.2.4,
+ ssh-4.3.2, ssl-8.0.2, stdlib-3.1,
+ syntax_tools-2.1, tools-2.8.6, wx-1.7.1,
+ xmerl-1.3.12
+Predecessor: OTP 19.0.7
+
+ Check out the git tag OTP-19.1, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-13808 Application(s): erts, sasl
+ Related Id(s): OTP-13833
+
+ Improved dirty scheduler support. A purge of a module
+ can now be performed without having to wait for
+ completion of all ongoing dirty NIF calls.
+
+ Note that when enabling support for dirty schedulers, a
+ new purge strategy will as of ERTS version 8.1 be
+ enabled. This new strategy is not fully backwards
+ compatible with the strategy used by default. For more
+ information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13808 Application(s): erts, sasl
+ Related Id(s): OTP-13833
+
+ Improved dirty scheduler support. A purge of a module
+ can now be performed without having to wait for
+ completion of all ongoing dirty NIF calls.
+
+ Note that when enabling support for dirty schedulers, a
+ new purge strategy will as of ERTS version 8.1 be
+ enabled. This new strategy is not fully backwards
+ compatible with the strategy used by default. For more
+ information see the documentation of
+ erlang:check_process_code/3.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-13752 Application(s): stdlib
+
+ gen_statem has been changed to set the callback mode
+ for a server to what Module:callback_mode/0 returns.
+ This facilitates e.g code downgrade since the callback
+ mode now becomes a property of the currently active
+ code, not of the server process.
+
+ Exception handling from Module:init/1 has also been
+ improved.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-4.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-4.0.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13624 Application(s): asn1
+
+ Compiling multiple ASN.1 modules in the same directory
+ with parallel make (make -j) should now be safe.
+
+
+ Full runtime dependencies of asn1-4.0.4: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.12.3 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.12.3 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13730 Application(s): common_test
+ Related Id(s): seq13135
+
+ If the telnet server would pause during transmission of
+ a line of text before terminating the line, the
+ ct_telnet:expect/3 function would print the line twice
+ in the test case HTML log. This problem has been fixed.
+
+
+ OTP-13841 Application(s): common_test
+
+ The functions ct:set_verbosity/2 and ct:get_verbosity/1
+ have been added in order to make it possible for test
+ cases, CT Hooks, or test framework functions, to modify
+ and read verbosity levels for logging.
+
+
+ OTP-13855 Application(s): common_test, tools
+
+ make (tools) and ct_make (common_test) would crash if
+ an Erlang source file contained a -warning() directive.
+
+
+ Full runtime dependencies of common_test-1.12.3: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13701 Application(s): compiler
+
+ If the compiler fails to write the BEAM file, it will
+ now report the reason of the error for the write
+ operation.
+
+
+ OTP-13780 Application(s): compiler
+ Related Id(s): ERL-202
+
+ Fixed an internal compiler error. (Thanks to Svilen
+ Ivanov for reporting this bug.)
+
+
+ OTP-13804 Application(s): compiler
+ Related Id(s): ERL-209
+
+ The compiler could crash when trying to compile a
+ complicated expression with multiple catches all on one
+ line . (Thanks to Thomas Arts for reporting this bug.)
+
+
+ OTP-13863 Application(s): compiler
+
+ Eliminated a few internal compiler failures.
+
+
+ Full runtime dependencies of compiler-7.0.2: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.7.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.7.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13783 Application(s): crypto
+ Related Id(s): ERL-203
+
+ Crypto has been fixed to work against OpenSSL versions
+ with disabled DES ciphers. Correct spelling of cipher
+ algorithm 'des3_cfb' has been introduced; the previous
+ misspeling still works.
+
+
+ OTP-13789 Application(s): crypto
+ Related Id(s): PR-1140
+
+ The size of an internal array in crypto has been fixed
+ to not segfault when having all possible ciphers. Bug
+ fix by Duncan Overbruck.
+
+
+ Full runtime dependencies of crypto-3.7.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.2.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13800 Application(s): debugger, diameter, erts, gs, ic,
+ jinterface, otp
+
+ Update build scripts to not make assumtions about where
+ env, cp and perl are located.
+
+
+ Full runtime dependencies of debugger-4.2.1: compiler-5.0, erts-6.0,
+ kernel-3.0, stdlib-2.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.0.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-3.0.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13682 Application(s): dialyzer
+
+ The translation of forms to types is improved for
+ opaque types in a few cases.
+
+
+ OTP-13723 Application(s): dialyzer
+ Related Id(s): ERL-159, PR-1121
+
+ Add warning suppression to compiler-generated case
+ statements. Warnings about clauses that cannot match
+ and are also compiler generated are suppressed unless
+ none of the clauses return.
+
+
+ Full runtime dependencies of dialyzer-3.0.2: compiler-7.0, erts-8.0,
+ hipe-3.15.1, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.12.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.12.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13787 Application(s): diameter
+ Related Id(s): OTP-13611
+
+ Close diameter_tcp/sctp listening sockets at
+ diameter:stop_service/1.
+
+ Broken by OTP-13611.
+
+
+ OTP-13800 Application(s): debugger, diameter, erts, gs, ic,
+ jinterface, otp
+
+ Update build scripts to not make assumtions about where
+ env, cp and perl are located.
+
+
+ Full runtime dependencies of diameter-1.12.1: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.8 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.8 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13720 Application(s): edoc, erl_docgen, syntax_tools
+ Related Id(s): ERL-120
+
+ Improve types and specs in OTP documentation generated
+ from Erlang source files.
+
+
+ Full runtime dependencies of edoc-0.8: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.6 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13720 Application(s): edoc, erl_docgen, syntax_tools
+ Related Id(s): ERL-120
+
+ Improve types and specs in OTP documentation generated
+ from Erlang source files.
+
+
+ Full runtime dependencies of erl_docgen-0.6: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.9.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.9.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13849 Application(s): erl_interface
+
+ Look for .erlang.cookie in windows system directory if
+ HOMEDRIVE and HOMEPATH is not set. The same behaviour
+ as the VM.
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.1 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13724 Application(s): erts
+ Related Id(s): PR-1116
+
+ Fix bug for calls from hipe code to BIFs that disable
+ GC while yielding. Has been causing Dialyzer crashes on
+ ARM (and presumably all other non-intel platforms).
+
+
+ OTP-13733 Application(s): erts
+ Related Id(s): ERL-175
+
+ Fix a bug where changing the current working directory
+ of the VM would not change the current working
+ directory of programs spawned using
+ erlang:open_port({spawn,""}, ...).
+
+
+ OTP-13734 Application(s): erts
+
+ Fix a bug where disabling tracing from a process that
+ had return_to tracing enabled and was tracing on
+ erlang:trace/3 would cause a segmentation fault.
+
+
+ OTP-13740 Application(s): erts
+
+ Update all erts documentation to use simpler English,
+ use consistent terminology and be easier to navigate.
+
+
+ OTP-13744 Application(s): erts
+
+ Add dirty schedulers to the microstate accounting
+ statistics.
+
+
+ OTP-13759 Application(s): erts
+
+ Fixed dirty scheduler build support on 32-bit windows.
+
+
+ OTP-13773 Application(s): erts
+ Related Id(s): ERL-102
+
+ inet:getstat(Socket) on an SCTP socket returned 0 for
+ send stats. This bug has now been corrected. Reported
+ by systra as issue ERL-102 on bugs.erlang.org.
+
+
+ OTP-13775 Application(s): erts
+
+ AF_UNSPEC and unknown address families were misread by
+ UDP receive in prim_inet resulting in an exception.
+ This bug has now been corrected.
+
+
+ OTP-13777 Application(s): erts
+ Related Id(s): PR-1122
+
+ Sweep HiPE stack for literals during code purge.
+
+
+ OTP-13795 Application(s): erts
+
+ Fix bug in run_erl for OpenBSD that could cause it on
+ rare occations to exit without starting the program
+ (erl) at all.
+
+
+ OTP-13800 Application(s): debugger, diameter, erts, gs, ic,
+ jinterface, otp
+
+ Update build scripts to not make assumtions about where
+ env, cp and perl are located.
+
+
+ OTP-13802 Application(s): erts, kernel
+
+ Fixed a bug where init:stop could deadlock if a process
+ with infinite shutdown timeout (e.g. a supervisor)
+ attempted to load code while terminating.
+
+
+ OTP-13803 Application(s): erts
+
+ Fixed a segmentation fault on sparc CPUs when free'ing
+ a tracer module's state.
+
+
+ OTP-13809 Application(s): erts
+
+ funs was not properly handled during purge of a module.
+ This could cause a crash of the VM after a purge of a
+ module.
+
+
+ OTP-13818 Application(s): erts
+
+ Fixed a memory leak when the process monitoring a port
+ crashed.
+
+
+ OTP-13822 Application(s): erts
+
+ Fixed multiple dirty scheduler related tracing bugs.
+
+
+ OTP-13848 Application(s): erts
+ Related Id(s): ERL-216
+
+ Fix error handling in beam code runtime loader for a
+ number of cases when index and size fields got
+ corrupted (negative) values.
+
+
+ OTP-13852 Application(s): erts
+
+ Minor fix of dirty scheduler implementation.
+
+
+ OTP-13866 Application(s): erts
+
+ Calls to erl_drv_send_term() or erl_drv_output_term()
+ from a non-scheduler thread while the corresponding
+ port was invalid caused the emulator to enter an
+ inconsistent state which eventually caused an emulator
+ crash.
+
+
+ OTP-13868 Application(s): erts
+
+ Fix a rare race condition in erlang:open_port({spawn,
+ ""}, ...) that would result in the erl_child_setup
+ program aborting and cause the emulator to exit.
+
+
+ OTP-13869 Application(s): erts
+
+ Driver and NIF operations accessing processes or ports
+ could cause an emulator crash when used from
+ non-scheduler threads. Those operations are:
+
+ -- erl_drv_send_term()
+
+ -- driver_send_term()
+
+ -- erl_drv_output_term()
+
+ -- driver_output_term()
+
+ -- enif_send()
+
+ -- enif_port_command()
+
+
+ OTP-13871 Application(s): erts
+ Related Id(s): ERL-241
+
+ Fix start scripts generation dependency in Makefile
+
+
+ OTP-13877 Application(s): erts
+
+ The VM could crash if erlang:get_stacktrace() was
+ called after a rescheduled NIF had thrown an exception.
+
+
+ OTP-13893 Application(s): erts
+ Related Id(s): ERL-240
+
+ Calling code:delete/1 before a loading a module with an
+ on_load function, the old code would be overwritten,
+ causing a memory or a crash if NIFs were involved.
+ (Thanks to vans163 for reporting this bug.)
+
+
+ --- Improvements and New Features ---
+
+ OTP-13698 Application(s): erts
+
+ Improved accuracy of timeouts on MacOS X. This by
+ setting premature timeouts followed by a short actual
+ timeout during scheduler wait.
+
+
+ OTP-13735 Application(s): erts
+
+ Added the following symbolic time unit representations
+ to the erlang:time_unit() type:
+
+ -- second
+
+ -- millisecond
+
+ -- microsecond
+
+ -- nanosecond
+
+ The following symbolic time unit representations are
+ now *deprecated*, but still part of the
+ erlang:time_unit() type:
+
+ -- seconds
+
+ -- milli_seconds
+
+ -- micro_seconds
+
+ -- nano_seconds
+
+
+ OTP-13763 Application(s): erts
+ Related Id(s): ERL-199
+
+ Fix maps hashing entropy of maps with maps keys.
+
+
+ OTP-13808 Application(s): erts, sasl
+ Related Id(s): OTP-13833
+
+ *** HIGHLIGHT ***
+
+ Improved dirty scheduler support. A purge of a module
+ can now be performed without having to wait for
+ completion of all ongoing dirty NIF calls.
+
+ Note that when enabling support for dirty schedulers, a
+ new purge strategy will as of ERTS version 8.1 be
+ enabled. This new strategy is not fully backwards
+ compatible with the strategy used by default. For more
+ information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13833 Application(s): erts, sasl
+
+ A new purge strategy has been introduced. The new
+ strategy will by default be disabled during the OTP 19
+ release, but will be the only strategy available as of
+ the OTP 20 release.
+
+ The new strategy is slightly incompatible with the
+ strategy being used by default in OTP 19. Using the
+ default strategy, processes holding funs that refer to
+ the module being purged either fail a soft purge, or
+ will be killed during a hard purge. The new strategy
+ completely ignores funs. If funs referring to the code
+ being purged exist, and are used after a purge, an
+ exception will be raised upon usage. That is, the
+ behavior will be exactly the same as the case when a
+ fun is received by a process after the purge.
+
+ The new strategy can optionally be enabled when
+ building OTP during OTP 19, and will automatically be
+ enabled if the runtime system is built with support for
+ dirty schedulers.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13851 Application(s): erts
+
+ Fixed unnecessary overestimation of heap size need
+ during garbage collection.
+
+
+ Full runtime dependencies of erts-8.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.3.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13892 Application(s): eunit
+
+ When asserts were moved out to a separate header file,
+ the automatic enabling of asserts when testing is
+ enabled stopped working.
+
+
+ Full runtime dependencies of eunit-2.3.1: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- gs-1.6.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The gs-1.6.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13800 Application(s): debugger, diameter, erts, gs, ic,
+ jinterface, otp
+
+ Update build scripts to not make assumtions about where
+ env, cp and perl are located.
+
+
+ Full runtime dependencies of gs-1.6.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.15.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-3.15.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13846 Application(s): hipe
+ Related Id(s): PR-1146
+
+ Fixed various hipe compiler backend bugs affecting
+ mostly ARM and SPARC.
+
+
+ OTP-13861 Application(s): hipe
+ Related Id(s): PR-1148
+
+ Fixed some Dialyzer warnings and code cleanup for the
+ Sparc compiler backend.
+
+
+ OTP-13878 Application(s): hipe
+ Related Id(s): ERL-249, PR-1161
+
+ Fix erl_bif_types opaque bug.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13876 Application(s): hipe
+
+ Fix erl_types opaque match order
+
+
+ Full runtime dependencies of hipe-3.15.2: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ic-4.4.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ic-4.4.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13718 Application(s): ic, snmp
+ Related Id(s): ERL-179
+
+ Correct bugs when path to mib or idl spec files
+ contains UTF-8 characters.
+
+
+ OTP-13800 Application(s): debugger, diameter, erts, gs, ic,
+ jinterface, otp
+
+ Update build scripts to not make assumtions about where
+ env, cp and perl are located.
+
+
+ Full runtime dependencies of ic-4.4.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13776 Application(s): inets
+ Related Id(s): ERL-200, PR-1132
+
+ The legacy option 'inet6fb4' for inets had stopped
+ working. This bug has now been corrected. Fix by Edwin
+ Fine in bugs.erlang.org ERL-200 and Github PR#1132.
+
+
+ Full runtime dependencies of inets-6.3.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.7.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.7.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13800 Application(s): debugger, diameter, erts, gs, ic,
+ jinterface, otp
+
+ Update build scripts to not make assumtions about where
+ env, cp and perl are located.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-5.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13742 Application(s): kernel
+
+ Fix a memory leak when calling
+ seq_trace:get_system_tracer().
+
+
+ OTP-13758 Application(s): kernel
+ Related Id(s): ERL-195
+
+ Fix for the problem that when adding the ebin directory
+ of an application to the code path, the code:priv_dir/1
+ function returns an incorrect path to the priv
+ directory of the same application.
+
+
+ OTP-13765 Application(s): kernel
+ Related Id(s): ERL-194
+
+ Fix code_server crash when adding code paths of two
+ levels.
+
+
+ OTP-13770 Application(s): kernel
+ Related Id(s): PR-1129
+
+ Respect -proto_dist switch while connection to EPMD
+
+
+ OTP-13802 Application(s): erts, kernel
+
+ Fixed a bug where init:stop could deadlock if a process
+ with infinite shutdown timeout (e.g. a supervisor)
+ attempted to load code while terminating.
+
+
+ OTP-13867 Application(s): kernel
+ Related Id(s): seq13178
+
+ Close stdin of commands run in os:cmd. This is a
+ backwards compatiblity fix that restores the behaviour
+ of pre 19.0 os:cmd.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13564 Application(s): kernel
+
+ Add net_kernel:setopts/2 and net_kernel:getopts/2 to
+ control options for distribution sockets in runtime.
+
+
+ Full runtime dependencies of kernel-5.1: erts-8.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.14.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.14.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13891 Application(s): mnesia, runtime_tools
+
+ Correct some minor documentation issues.
+
+
+ Full runtime dependencies of mnesia-4.14.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.2.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13845 Application(s): observer
+ Related Id(s): ERL-237
+
+ Fixed error handling in observer when mnesia tables was
+ requested and not available.
+
+
+ Full runtime dependencies of observer-2.2.2: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.11.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.11.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13781 Application(s): odbc
+
+ ODBC build configure has been updated to accept Mac OS
+ X El Capitan. Fixed by Lee Bannard.
+
+
+ Full runtime dependencies of odbc-2.11.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.1.3 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13681 Application(s): parsetools
+
+ Yecc generates Dialyzer suppressions to avoid warnings
+ when operator precedence declarations are used.
+
+
+ Full runtime dependencies of parsetools-2.1.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The reltool-0.7.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-11993 Application(s): reltool
+
+ Dependencies specified in .app files would earlier only
+ be followed for applications that are included in a
+ 'rel' spec in the reltool config. For other
+ applications, only xref would decide the dependencies.
+
+ Some dependency chains would even be missed for
+ applications that are included in a 'rel' spec in the
+ reltool config. E.g.
+
+ -- Application x has y as included application, and y
+ in turn has z as included application. Then z is not
+ included.
+
+ -- Application x has y in its 'applications' tag in the
+ .app file, and y in turn has z as included application.
+ Then z is not included.
+
+ These bugs are now corrected.
+
+
+ Full runtime dependencies of reltool-0.7.2: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.10.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.10.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13891 Application(s): mnesia, runtime_tools
+
+ Correct some minor documentation issues.
+
+
+ Full runtime dependencies of runtime_tools-1.10.1: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The sasl-3.0.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-8.1 (first satisfied in OTP 19.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-13808 Application(s): erts, sasl
+ Related Id(s): OTP-13833
+
+ *** HIGHLIGHT ***
+
+ Improved dirty scheduler support. A purge of a module
+ can now be performed without having to wait for
+ completion of all ongoing dirty NIF calls.
+
+ Note that when enabling support for dirty schedulers, a
+ new purge strategy will as of ERTS version 8.1 be
+ enabled. This new strategy is not fully backwards
+ compatible with the strategy used by default. For more
+ information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13833 Application(s): erts, sasl
+
+ A new purge strategy has been introduced. The new
+ strategy will by default be disabled during the OTP 19
+ release, but will be the only strategy available as of
+ the OTP 20 release.
+
+ The new strategy is slightly incompatible with the
+ strategy being used by default in OTP 19. Using the
+ default strategy, processes holding funs that refer to
+ the module being purged either fail a soft purge, or
+ will be killed during a hard purge. The new strategy
+ completely ignores funs. If funs referring to the code
+ being purged exist, and are used after a purge, an
+ exception will be raised upon usage. That is, the
+ behavior will be exactly the same as the case when a
+ fun is received by a process after the purge.
+
+ The new strategy can optionally be enabled when
+ building OTP during OTP 19, and will automatically be
+ enabled if the runtime system is built with support for
+ dirty schedulers.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ Full runtime dependencies of sasl-3.0.1: erts-8.1, kernel-5.0,
+ stdlib-3.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13718 Application(s): ic, snmp
+ Related Id(s): ERL-179
+
+ Correct bugs when path to mib or idl spec files
+ contains UTF-8 characters.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13706 Application(s): snmp
+
+ Solves snmp config string handling as reported by
+ ERL-164 and solved by PR-1100
+
+
+ Full runtime dependencies of snmp-5.2.4: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.3.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.3.2 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13782 Application(s): ssh
+ Related Id(s): seq13158
+
+ Upgrade of an established client connection could crash
+ because the ssh client supervisors children had wrong
+ type. This is fixed now.
+
+
+ OTP-13847 Application(s): ssh
+ Related Id(s): 0-190243, 1, 205277, 219318,
+ defensics-ssh3
+
+ Partly checks the public key early in public key
+ authorization
+
+
+ OTP-13850 Application(s): ssh
+ Related Id(s): 0-214168, 1, defensics-ssh3
+
+ Corrected handling of SHA for ECDSA (Elliptic curve
+ public keys)
+
+
+ OTP-13854 Application(s): ssh
+
+ Problems found by test suites as well as by
+ Codenomicon/Defensics fixed: - reduce max random
+ padding to 15 bytes (Codenomicon/Defensics) -
+ inclomplete pdu handling (Codenomicon/Defensics) -
+ badmatch in test suite - non-blocking send fixes
+ deadlock in ssh_connection_SUITE:interrupted_send
+
+
+ OTP-13859 Application(s): ssh
+ Related Id(s): seq13177
+
+ Caller is now notified when a tcp close is received.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13843 Application(s): ssh
+ Related Id(s): PR-1147
+
+ Use application:ensure_all_started/2 instead of
+ hard-coding deps
+
+
+ Full runtime dependencies of ssh-4.3.2: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.0.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.0.2 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13853 Application(s): ssl
+
+ Correctly formed handshake messages received out of
+ order will now correctly fail the connection with
+ unexpected message.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13834 Application(s): ssl
+
+ ssl application now behaves gracefully also on
+ partially incorrect input from peer.
+
+
+ OTP-13883 Application(s): ssl
+
+ Add application environment configuration
+ bypass_pem_cache. This can be used as a workaround for
+ the current implementation of the PEM-cache that has
+ proven to be a bottleneck.
+
+
+ Full runtime dependencies of ssl-8.0.2: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13633 Application(s): stdlib
+
+ The zip:unzip/1,2 and zip:extract/1,2 functions have
+ been updated to handle directory traversal exploits.
+ Any element in the zip file that contains a path that
+ points to a directory above the top level working
+ directory, cwd, will instead be extracted in cwd. An
+ error message is printed for any such element in the
+ zip file during the unzip operation. The keep_old_files
+ option determines if a file will overwrite a previous
+ file with the same name within the zip file.
+
+
+ OTP-13721 Application(s): stdlib
+ Related Id(s): PR-1113
+
+ Correct the contracts for ets:match_object/1,3.
+
+
+ OTP-13746 Application(s): stdlib, tools
+ Related Id(s): ERL-172, ERL-187
+
+ Errors in type specification and Emacs template
+ generation for gen_statem:code_change/4 has been fixed
+ from bugs.erlang.org's Jira cases ERL-172 and ERL-187.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13752 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ gen_statem has been changed to set the callback mode
+ for a server to what Module:callback_mode/0 returns.
+ This facilitates e.g code downgrade since the callback
+ mode now becomes a property of the currently active
+ code, not of the server process.
+
+ Exception handling from Module:init/1 has also been
+ improved.
+
+
+ Full runtime dependencies of stdlib-3.1: compiler-5.0, crypto-3.3,
+ erts-8.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13725 Application(s): syntax_tools
+ Related Id(s): ERL-151, PR-1071
+
+ Fix a bug where erl_tidy crashed on the tilde character
+ when printing to standard output.
+
+
+ OTP-13755 Application(s): syntax_tools
+
+ merl_transform could get into an infinite loop when
+ syntactically incorrect text was passed to a
+ merl:qquote/2,3 call.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13720 Application(s): edoc, erl_docgen, syntax_tools
+ Related Id(s): ERL-120
+
+ Improve types and specs in OTP documentation generated
+ from Erlang source files.
+
+
+ Full runtime dependencies of syntax_tools-2.1: compiler-7.0,
+ erts-8.0, kernel-5.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.8.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The tools-2.8.6 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13746 Application(s): stdlib, tools
+ Related Id(s): ERL-172, ERL-187
+
+ Errors in type specification and Emacs template
+ generation for gen_statem:code_change/4 has been fixed
+ from bugs.erlang.org's Jira cases ERL-172 and ERL-187.
+
+
+ OTP-13778 Application(s): tools
+ Related Id(s): PR-1136
+
+ Fix gc_start/gc_end in fprof tags when parsing old
+ trace logs.
+
+
+ OTP-13855 Application(s): common_test, tools
+
+ make (tools) and ct_make (common_test) would crash if
+ an Erlang source file contained a -warning() directive.
+
+
+ Full runtime dependencies of tools-2.8.6: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.7.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.7.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13816 Application(s): wx
+
+ Increased the stacksize for the wx thread. The default
+ stacksize on Windows is 1MB which is not enough if the
+ user created many nested dialogs.
+
+
+ Full runtime dependencies of wx-1.7.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.12 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.12 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13880 Application(s): xmerl
+
+ Fix a number of broken links in the xmerl
+ documentation.
+
+
+ Full runtime dependencies of xmerl-1.3.12: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Aleksei Magusev, Alexey Lebedeff, Andreas Schultz, Bernhard Schwarz,
+ Brujo Benavides, Cherep, Daniel Goertzen, Duncaen, Edwin Fine, Fred
+ Hebert, ILYA Khlopotov, Ignacio Martínez, Johan Claesson, Kostis
+ Sagonas, Lee Bannard, Linus.yuan, Magnus Henoch, Magnus Lång, Mahesh
+ Baheti, Mark Bucciarelli, Peter Lemenkov, Philip Arndt, Pierre
+ Fenoll, Péter Gömöri, Richard Carlsson, Stavros Aronis, Tihon, Tony
+ Han, Vlad Dumitrescu, jonasf, okumin, xsipewe
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.2.1.README.txt b/release-notes/OTP-19.2.1.README.txt
new file mode 100644
index 0000000..b56d813
--- /dev/null
+++ b/release-notes/OTP-19.2.1.README.txt
@@ -0,0 +1,49 @@
+Patch Package: OTP 19.2.1
+Git Tag: OTP-19.2.1
+Date: 2017-01-16
+Trouble Report Id: OTP-14144
+Seq num: seq13242
+System: OTP
+Release: 19
+Application: erts-8.2.1
+Predecessor: OTP 19.2
+
+ Check out the git tag OTP-19.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.2.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14144 Application(s): erts
+ Related Id(s): seq13242
+
+ Fix a quite rare bug causing VM crash during code
+ loading and the use of export funs (fun M:F/A) of not
+ yet loaded modules. Requires a very specfic timing of
+ concurrent scheduler threads. Has been seen on ARM but
+ can probably also occure on other architectures. Bug
+ has existed since OTP R16.
+
+
+ Full runtime dependencies of erts-8.2.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.2.2.README.txt b/release-notes/OTP-19.2.2.README.txt
new file mode 100644
index 0000000..272b00d
--- /dev/null
+++ b/release-notes/OTP-19.2.2.README.txt
@@ -0,0 +1,39 @@
+Patch Package: OTP 19.2.2
+Git Tag: OTP-19.2.2
+Date: 2017-02-01
+Trouble Report Id: OTP-14167
+Seq num:
+System: OTP
+Release: 19
+Application: mnesia-4.14.3
+Predecessor: OTP 19.2.1
+
+ Check out the git tag OTP-19.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.14.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.14.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14167 Application(s): mnesia
+
+ Fixed crash in checkpoint handling when table was
+ deleted during backup.
+
+
+ Full runtime dependencies of mnesia-4.14.3: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.2.3.README.txt b/release-notes/OTP-19.2.3.README.txt
new file mode 100644
index 0000000..433e599
--- /dev/null
+++ b/release-notes/OTP-19.2.3.README.txt
@@ -0,0 +1,77 @@
+Patch Package: OTP 19.2.3
+Git Tag: OTP-19.2.3
+Date: 2017-02-08
+Trouble Report Id: OTP-14159, OTP-14184, OTP-14203
+Seq num: seq13266
+System: OTP
+Release: 19
+Application: erts-8.2.2, inets-6.3.5
+Predecessor: OTP 19.2.2
+
+ Check out the git tag OTP-19.2.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.2.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.2.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14159 Application(s): erts
+ Related Id(s): ERL-340
+
+ Fix bug in binary_to_term for binaries created by
+ term_to_binary with option compressed. The bug can
+ cause badarg exception for a valid binary when Erlang
+ VM is linked against a zlib library of version 1.2.9 or
+ newer. Bug exists since OTP 17.0.
+
+
+ OTP-14184 Application(s): erts
+ Related Id(s): seq13266
+
+ The driver efile_drv when opening a file now use
+ fstat() on the open file instead of stat() before
+ opening, if fstat() exists. This avoids a race when the
+ file happens to change between stat() and open().
+
+
+ Full runtime dependencies of erts-8.2.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.5 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14203 Application(s): inets
+ Related Id(s): OTP-13982
+
+ Correct misstakes in ftp client introduced in
+ inets-6.3.4
+
+
+ Full runtime dependencies of inets-6.3.5: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.2.README.txt b/release-notes/OTP-19.2.README.txt
new file mode 100644
index 0000000..0d60e8b
--- /dev/null
+++ b/release-notes/OTP-19.2.README.txt
@@ -0,0 +1,1096 @@
+Patch Package: OTP 19.2
+Git Tag: OTP-19.2
+Date: 2016-12-13
+Trouble Report Id: OTP-11403, OTP-12982, OTP-13693, OTP-13829,
+ OTP-13857, OTP-13887, OTP-13888, OTP-13895,
+ OTP-13896, OTP-13902, OTP-13904, OTP-13905,
+ OTP-13907, OTP-13916, OTP-13919, OTP-13920,
+ OTP-13925, OTP-13926, OTP-13927, OTP-13928,
+ OTP-13929, OTP-13930, OTP-13931, OTP-13933,
+ OTP-13934, OTP-13944, OTP-13945, OTP-13947,
+ OTP-13948, OTP-13951, OTP-13955, OTP-13959,
+ OTP-13960, OTP-13965, OTP-13967, OTP-13970,
+ OTP-13971, OTP-13973, OTP-13974, OTP-13979,
+ OTP-13980, OTP-13981, OTP-13982, OTP-13985,
+ OTP-13992, OTP-13996, OTP-13998, OTP-14003,
+ OTP-14005, OTP-14010, OTP-14018, OTP-14022,
+ OTP-14026, OTP-14027, OTP-14028, OTP-14031,
+ OTP-14040, OTP-14041, OTP-14043, OTP-14044,
+ OTP-14046, OTP-14048, OTP-14049, OTP-14050,
+ OTP-14051, OTP-14055, OTP-14064, OTP-14074,
+ OTP-14082, OTP-14083, OTP-14084
+Seq num: seq13171, seq13198, seq13223, seq13226
+System: OTP
+Release: 19
+Application: common_test-1.13, compiler-7.0.3,
+ crypto-3.7.2, dialyzer-3.0.3, edoc-0.8.1,
+ erl_docgen-0.6.1, erl_interface-3.9.2,
+ erts-8.2, eunit-2.3.2, hipe-3.15.3,
+ inets-6.3.4, kernel-5.1.1, mnesia-4.14.2,
+ observer-2.3, odbc-2.12, parsetools-2.1.4,
+ public_key-1.3, runtime_tools-1.11,
+ sasl-3.0.2, ssh-4.4, ssl-8.1, stdlib-3.2,
+ syntax_tools-2.1.1, tools-2.9, wx-1.8
+Predecessor: OTP 19.1.6
+
+ Check out the git tag OTP-19.2, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-12982 Application(s): ssl
+
+ Experimental version of DTLS. It is runnable but not
+ complete and cannot be considered reliable for
+ production usage. To use DTLS add the option{protocol,
+ dtls} to ssl:connect and ssl:listen.
+
+
+ OTP-13887 Application(s): ssh
+ Related Id(s): OTP-13888
+
+ Extended the option silently_accept_hosts for
+ ssh:connect to make it possible for the client to check
+ the SSH host key fingerprint string. Se the reference
+ manual for SSH.
+
+
+ OTP-13929 Application(s): stdlib
+ Related Id(s): ERL-284, PR-1170
+
+ The new behaviour gen_statem has been improved with 3
+ new features: the possibility to use old style
+ non-proxy timeouts for gen_statem:call/2,3, state entry
+ code, and state timeouts. These are backwards
+ compatible. Minor code and documentation improvements
+ has been performed including a borderline semantics
+ correction of timeout zero handling.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14083 Application(s): odbc
+
+ Change configure to skip odbc for old MACs, the change
+ in PR-1227 is not backwards compatible with old MACs,
+ and we do not see a need to continue support for such
+ old versions. However it is still possible to make it
+ work on such machines using the --with-odbc configure
+ option.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.13 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.13 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13973 Application(s): common_test
+ Related Id(s): ERL-279
+
+ Some types of printouts to screen during test runs
+ (including ct:print/1,2,3,4) used the local user
+ process as IO device and these printouts would not be
+ visible when e.g. running tests via a shell on a remote
+ node. A default Common Test group leader process has
+ been introduced to solve the problem. This process
+ routes printouts to the group leader of the starting
+ process, if available, otherwise to user.
+
+
+ OTP-14026 Application(s): common_test
+ Related Id(s): ERL-287
+
+ Some Common Test processes, that act as I/O group
+ leaders for test cases, would not terminate as expected
+ at the end of test runs. This error has been corrected.
+
+
+ OTP-14044 Application(s): common_test
+ Related Id(s): seq13223
+
+ The logging verbosity feature was incorrectly
+ documented. The default verbosity levels for test runs
+ is e.g. not 50 (?STD_VERBOSITY), but 100
+ (?MAX_VERBOSITY). Also, some of the examples had errors
+ and flaws. The corresponding chapter (5.18) in the
+ User's Guide has been updated.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14043 Application(s): common_test
+ Related Id(s): seq13226
+
+ A feature to let the user specify headings to log
+ printouts has been added. The heading is specified as
+ {heading,string()} in the Opts list argument to
+ ct:pal/3,4,5, ct:print/3,4,5, or ct:log/3,4,5. If the
+ heading option is omitted, the category name, or
+ "User", is used as the heading instead.
+
+
+ Full runtime dependencies of common_test-1.13: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13931 Application(s): compiler
+ Related Id(s): ERL-266
+
+ Fixed a compiler crash when maps were matched.
+
+
+ OTP-13947 Application(s): compiler
+ Related Id(s): ERL-268
+
+ Fixed a compiler crash having to with the delayed
+ sub-creation optimization. (Thanks to Jose Valim for
+ reporting this bug.)
+
+
+ OTP-13985 Application(s): compiler
+
+ The compiler option inline_list_funcs accidentally
+ turned off some other optimizations.
+
+
+ OTP-14040 Application(s): compiler
+ Related Id(s): ERL-301
+
+ The compiler could sometimes generate spurious warnings
+ when inlining was enabled.
+
+
+ Full runtime dependencies of compiler-7.0.3: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.7.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.7.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13895 Application(s): crypto
+ Related Id(s): PR-1163
+
+ The crypto application has been fixed to not use RC2
+ against OpenSSL built with RC2 disabled.
+
+
+ OTP-13896 Application(s): crypto
+ Related Id(s): PR-1169
+
+ The crypto application has been fixed to not use RC4
+ against OpenSSL built with RC4 disabled.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13951 Application(s): crypto, erts
+
+ To ease troubleshooting, erlang:load_nif/2 now includes
+ the return value from a failed call to
+ load/reload/upgrade in the text part of the error
+ tuple. The crypto NIF makes use of this feature by
+ returning the source line where/if the initialization
+ fails.
+
+
+ Full runtime dependencies of crypto-3.7.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.0.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-3.0.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13693 Application(s): dialyzer
+
+ Fix bugs regarding opaque types.
+
+
+ OTP-13979 Application(s): dialyzer
+ Related Id(s): ERL-283
+
+ Fix error handling of bad -dialyzer() attributes.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11403 Application(s): dialyzer
+
+ A few warning messages have been improved.
+
+
+ Full runtime dependencies of dialyzer-3.0.3: compiler-7.0, erts-8.0,
+ hipe-3.15.1, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.8.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.8.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13930 Application(s): edoc
+ Related Id(s): PR-1175
+
+ Document the function tags @param and @returns.
+
+
+ Full runtime dependencies of edoc-0.8.1: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.6.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.6.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13971 Application(s): erl_docgen
+
+ Docgen would previously emit "utf8" as the default
+ encoding in xml. This has now been remedied by emitting
+ the correct string "UTF-8" instead.
+
+
+ Full runtime dependencies of erl_docgen-0.6.1: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.9.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.9.2 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13981 Application(s): erl_interface
+
+ Fix ei_connect_init and ei_connect_xinit to adjust the
+ creation argument to be compatible with nodes older
+ than OTP-19.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13980 Application(s): erl_interface
+
+ Editorial documentation changes
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.2 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13904 Application(s): erts
+ Related Id(s): ERL-256
+
+ Fixed configure failures on MacOSX. Most important
+ clock_gettime() was detected when building for MacOSX -
+ El Capitan using XCode 8 despite it is not available
+ until MacOSX - Sierra.
+
+
+ OTP-13920 Application(s): erts, kernel, sasl
+ Related Id(s): ERL-267
+
+ code:add_pathsa/1 and command line option -pa both
+ revert the given list of directories when adding it at
+ the beginning of the code path. This is now documented.
+
+
+ OTP-13927 Application(s): erts
+
+ Fix a compilation error of erts in OpenBSD related to
+ the usage of the __errno variable.
+
+
+ OTP-13928 Application(s): erts
+
+ Fixed so that when enabling tracing on a process that
+ had an invalid tracer associated with it, the new
+ tracer overwrites the old tracer. Before this fix,
+ calling erlang:trace/3 would behave as if the tracer
+ was still alive and not apply the new trace.
+
+ This fault was introduced in ERTS 8.0.
+
+
+ OTP-13955 Application(s): erts
+ Related Id(s): ERL-280
+
+ Fix parsing of -profile_boot 'true' | 'false'
+
+
+ OTP-13992 Application(s): erts
+
+ A slight improvement of erlang:get_stacktrace/0 for
+ exceptions raised in hipe compiled code. Beam compiled
+ functions in such stack trace was earlier replaced by
+ some unrelated function. They are now instead omitted.
+ This is an attempt to reduce the confusion in the
+ absence of a complete and correct stack trace for mixed
+ beam and hipe functions.
+
+
+ OTP-13996 Application(s): erts
+
+ Correct type declaration of match specification head.
+
+
+ OTP-14031 Application(s): erts
+ Related Id(s): ERL-294, PR-1239
+
+ HiPE code loading failed for x86_64 if gcc was
+ configured with --enable-default-pie. Fixed by
+ disabling PIE, if needed for HiPE, when building the
+ VM.
+
+
+ OTP-14048 Application(s): erts
+
+ Faulty arguments could be presented on exception from a
+ NIF that had rescheduled itself using
+ enif_schedule_nif().
+
+
+ OTP-14049 Application(s): erts
+
+ The runtime system could crash if a garbage collection
+ on a process was performed immediately after a NIF had
+ been rescheduled using enif_schedule_nif().
+
+
+ OTP-14050 Application(s): erts
+
+ A reference to purged code could be left undetected by
+ the purge operation if a process just had rescheduled a
+ NIF call using enif_schedule_nif() when the process was
+ checked. This could cause a runtime system crash.
+
+
+ OTP-14051 Application(s): erts
+
+ Fixed a number of dirty scheduler related bugs:
+
+ -- Process priority was not handled correct when
+ scheduling on a dirty scheduler.
+
+ -- The runtime system could crash when an exit signal
+ with a compound exit reason was sent to a process
+ executing on a dirty scheduler.
+
+ -- The runtime system crashed when call tracing a
+ process executing on a dirty scheduler.
+
+ -- A code purge operation could end up hanging forever
+ when a process executed on a dirty scheduler
+
+
+ OTP-14055 Application(s): erts
+
+ Fixed a number of bugs that caused faulty stack-traces
+ to be created on exception when a process was traced.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13925 Application(s): erts
+
+ Fix minor soft purge race bug that could incorrectly
+ trigger code_server to load new code for the module if
+ the soft purge failed and no current version of the
+ module existed.
+
+
+ OTP-13951 Application(s): crypto, erts
+
+ To ease troubleshooting, erlang:load_nif/2 now includes
+ the return value from a failed call to
+ load/reload/upgrade in the text part of the error
+ tuple. The crypto NIF makes use of this feature by
+ returning the source line where/if the initialization
+ fails.
+
+
+ OTP-14046 Application(s): erts
+
+ New environment variable ERL_CRASH_DUMP_BYTES can be
+ used to limit the size of crash dumps. If the limit is
+ reached, crash dump generation is aborted and the
+ generated file will be truncated.
+
+
+ Full runtime dependencies of erts-8.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.3.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14084 Application(s): eunit, syntax_tools
+
+ The address to the FSF in the license header has been
+ updated.
+
+
+ Full runtime dependencies of eunit-2.3.2: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.15.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-3.15.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13965 Application(s): hipe
+ Related Id(s): PR-1253
+
+ Fix flow control bug in hipe compiler that may cause
+ compile time crash.
+
+
+ OTP-14005 Application(s): hipe
+
+ Fix bug in native compilation of bitstring pattern
+ matching causing erroneous runtime matching result. The
+ bug only affects code containing constant-valued
+ segments whose size is expressed in bits; it is
+ triggered when the pattern matching against these
+ segments fails (i.e., when the next clause needs to be
+ tried).
+
+
+ OTP-14027 Application(s): hipe
+ Related Id(s): ERL-292, PR-1237
+
+ Workaround in HiPE LLVM backend for a bug in LLVM 3.9.
+ The bug could cause LLVM-compiled modules to be
+ rejected during loading with a badarg exception in
+ hipe_bifs:enter_sdecs/1, but also cause corruption or
+ segmentation faults i runtime.
+
+
+ OTP-14028 Application(s): hipe
+ Related Id(s): PR-1237
+
+ Fix a bug in HiPE LLVM backend involving incorrect type
+ tests of atoms sometimes causing incorrect behaviour or
+ even segfaults.
+
+
+ Full runtime dependencies of hipe-3.15.3: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13960 Application(s): inets
+ Related Id(s): PR1196
+
+ Fixes a bug that makes the ftp client end up in bad
+ state if there is a multi line response from the server
+ and the response number is in the message being sent.
+
+
+ OTP-13967 Application(s): inets
+
+ The ftp client could stop consuming messages when the
+ multiline response handling was corrected.
+
+
+ OTP-14041 Application(s): inets
+
+ Fix keep-alive https through proxy connections so that
+ all requests, following the first one, will run as
+ expected instead of failing.
+
+
+ OTP-14082 Application(s): inets
+
+ Fix bug from commit
+ fdfda2fab0921d409789174556582db28141448e that could
+ make listing of group members in mod_auth callbacks
+ fail.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13902 Application(s): inets
+
+ Update behavior of httpc:request to match RFC-7231
+
+
+ OTP-13982 Application(s): inets
+ Related Id(s): PR-1207
+
+ Fixed dialyzer warnings as well as some white-space
+ issues. Thanks to Kostis.
+
+
+ Full runtime dependencies of inets-6.3.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.1.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-8.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13920 Application(s): erts, kernel, sasl
+ Related Id(s): ERL-267
+
+ code:add_pathsa/1 and command line option -pa both
+ revert the given list of directories when adding it at
+ the beginning of the code path. This is now documented.
+
+
+ OTP-14003 Application(s): kernel
+
+ Add lost runtime dependency to erts-8.1. This should
+ have been done in kernel-5.1 (OTP-19.1) as it cannot
+ run without at least erts-8.1 (OTP-19.1).
+
+
+ OTP-14022 Application(s): kernel
+ Related Id(s): PR-1208
+
+ Type and doc for
+ gen_{tcp,udp,sctp}:controlling_process/2 has been
+ improved.
+
+
+ Full runtime dependencies of kernel-5.1.1: erts-8.1, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.14.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.14.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13944 Application(s): mnesia
+ Related Id(s): PR-1184
+
+ A continuation returned by mnesia:select/[14] should be
+ reusable in different, non-transactional activities.
+
+
+ OTP-13970 Application(s): mnesia
+ Related Id(s): seq13198
+
+ Fixed crash when calling block_table multiple times.
+ Could happen when having locks for a long time and
+ restarting mnesia.
+
+
+ OTP-14074 Application(s): mnesia
+
+ Change mnesia_tm process to have off-heap messages
+ since mnesia_tm can be the receiver of many
+ non-synchronized message from other nodes.
+
+
+ Full runtime dependencies of mnesia-4.14.2: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14010 Application(s): observer
+
+ The shell script (priv/bin/cdv) and bat file
+ (priv/bin/cdv.bat) which can be used for starting
+ crashdump_viewer both started a distributed erlang
+ node. This would cause any attempt at starting a second
+ instance of the crashdump_viewer to fail. To solve this
+ problem, cdv and cdv.bat now use non-distributed nodes
+ when starting the crashdump_viewer.
+
+
+ OTP-14064 Application(s): observer
+
+ A bug caused the number of buckets to be shown in the
+ 'Objects' column, and the number of objects to be shown
+ in the 'Memory' column for ets table in
+ crashdump_viewer. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13829 Application(s): observer, runtime_tools
+ Related Id(s): seq13171
+
+ Add option queue_size to ttb:tracer/2. This sets the
+ maximum queue size for the IP trace driver which is
+ used when tracing to shell and/or {local,File}.
+
+ The default value for queue_size is specified by dbg,
+ and it is now changed from 50 to 200.
+
+
+ OTP-13948 Application(s): observer, runtime_tools
+ Related Id(s): ERL-272
+
+ The port information page is updated to show more
+ information per port.
+
+
+ Full runtime dependencies of observer-2.3: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.12 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.12 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14083 Application(s): odbc
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change configure to skip odbc for old MACs, the change
+ in PR-1227 is not backwards compatible with old MACs,
+ and we do not see a need to continue support for such
+ old versions. However it is still possible to make it
+ work on such machines using the --with-odbc configure
+ option.
+
+
+ Full runtime dependencies of odbc-2.12: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.4 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.1.4 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13916 Application(s): parsetools
+ Related Id(s): ERL-263
+
+ Correct counting of newlines when rules with newlines
+ are used in Leex.
+
+
+ OTP-13919 Application(s): parsetools
+
+ Correct handling of Unicode in Leex.
+
+
+ Full runtime dependencies of parsetools-2.1.4: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13888 Application(s): public_key
+ Related Id(s): OTP-13887
+
+ New function public_key:ssh_hostkey_fingerprint/1,2 to
+ calculate the SSH host key fingerprint string.
+
+
+ Full runtime dependencies of public_key-1.3: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.11 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.11 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13829 Application(s): observer, runtime_tools
+ Related Id(s): seq13171
+
+ Add option queue_size to ttb:tracer/2. This sets the
+ maximum queue size for the IP trace driver which is
+ used when tracing to shell and/or {local,File}.
+
+ The default value for queue_size is specified by dbg,
+ and it is now changed from 50 to 200.
+
+
+ OTP-13948 Application(s): observer, runtime_tools
+ Related Id(s): ERL-272
+
+ The port information page is updated to show more
+ information per port.
+
+
+ Full runtime dependencies of runtime_tools-1.11: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The sasl-3.0.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-8.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13920 Application(s): erts, kernel, sasl
+ Related Id(s): ERL-267
+
+ code:add_pathsa/1 and command line option -pa both
+ revert the given list of directories when adding it at
+ the beginning of the code path. This is now documented.
+
+
+ Full runtime dependencies of sasl-3.0.2: erts-8.1, kernel-5.0,
+ stdlib-3.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.4 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.4 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13857 Application(s): ssh
+ Related Id(s): ERL-238, OTP-13858
+
+ A file read with an sftp client could loose data if the
+ packet_size is set to larger than 64k. This is
+ corrected now in such a way that the packet_size is
+ silently lowered if there is a risk for data loss.
+
+
+ OTP-13905 Application(s): ssh
+ Related Id(s): PR-1173
+
+ When user defined SSH shell REPL process exits with
+ reason normal, the SSH channel callback module should
+ report successful exit status to the SSH client. This
+ provides simple way for SSH clients to check for
+ successful completion of executed commands. (Thanks to
+ isvilen)
+
+
+ --- Improvements and New Features ---
+
+ OTP-13887 Application(s): ssh
+ Related Id(s): OTP-13888
+
+ *** HIGHLIGHT ***
+
+ Extended the option silently_accept_hosts for
+ ssh:connect to make it possible for the client to check
+ the SSH host key fingerprint string. Se the reference
+ manual for SSH.
+
+
+ Full runtime dependencies of ssh-4.4: crypto-3.3, erts-6.0,
+ kernel-3.0, public_key-1.1, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.1 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13926 Application(s): ssl
+
+ List of possible anonymous suites, never supported by
+ default, where incorrect for some TLS versions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12982 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Experimental version of DTLS. It is runnable but not
+ complete and cannot be considered reliable for
+ production usage. To use DTLS add the option{protocol,
+ dtls} to ssl:connect and ssl:listen.
+
+
+ OTP-13959 Application(s): ssl
+
+ Add API options to handle ECC curve selection.
+
+
+ Full runtime dependencies of ssl-8.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13907 Application(s): stdlib
+ Related Id(s): ERL-163, PR-1158
+
+ When a simple_one_for_one supervisor is shutting down,
+ and a child exits with an exit reason of the form
+ {shutdown, Term}, an error report was earlier printed.
+ This is now corrected.
+
+
+ OTP-13974 Application(s): stdlib
+
+ Allow empty list as parameter of the fun used with
+ dbg:fun2ms/1.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13929 Application(s): stdlib
+ Related Id(s): ERL-284, PR-1170
+
+ *** HIGHLIGHT ***
+
+ The new behaviour gen_statem has been improved with 3
+ new features: the possibility to use old style
+ non-proxy timeouts for gen_statem:call/2,3, state entry
+ code, and state timeouts. These are backwards
+ compatible. Minor code and documentation improvements
+ has been performed including a borderline semantics
+ correction of timeout zero handling.
+
+
+ Full runtime dependencies of stdlib-3.2: compiler-5.0, crypto-3.3,
+ erts-8.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.1.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14084 Application(s): eunit, syntax_tools
+
+ The address to the FSF in the license header has been
+ updated.
+
+
+ Full runtime dependencies of syntax_tools-2.1.1: compiler-7.0,
+ erts-8.0, kernel-5.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.9 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The tools-2.9 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13998 Application(s): tools
+
+ Fix unhandled trace event send_to_non_existing_process
+ in fprof.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13945 Application(s): tools
+ Related Id(s): PR-1157
+
+ Improved edoc support in emacs erlang-mode.
+
+
+ OTP-14018 Application(s): tools
+ Related Id(s): PR-1197
+
+ Added erldoc to emacs mode which opens html
+ documentation in browser from emacs. For example M-x
+ erldoc-browse RET lists:foreach/2.
+
+
+ Full runtime dependencies of tools-2.9: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.8 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13934 Application(s): wx
+ Related Id(s): ERL-270
+
+ Allow string arguments to be binaries as specified,
+ i.e. unicode:chardata().
+
+
+ --- Improvements and New Features ---
+
+ OTP-13933 Application(s): wx
+
+ Add wxWindow:dragAcceptFiles/2 and wxDropFilesEvent to
+ support simple drag and drop from file browser.
+
+
+ Full runtime dependencies of wx-1.8: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Ahmed Shafeeq Bin Mohd Shariff, Alexander Clouter, Alexandre
+ Snarskii, Andreas Schultz, Andrey Teplyashin, Bozhidar Batsov, Doug
+ Rohrer, Dániel Szoboszlay, Eric Meadows-Jönsson, Evgeny M, Fred
+ Hebert, Ildar Khizbulin, JT Turner, Johan Sommerfeld, José Valim,
+ Jxck, Kostis Sagonas, Leo Liu, Loïc Hoguin, Luca Favatella, Lutz
+ Behnke, Magnus Henoch, Magnus Lång, Matwey V. Kornilov, Michael
+ Truog, Péter Gömöri, Richard Carlsson, Svilen Ivanov, Tom Richards,
+ Trevor Brown, Tuncer Ayaz, Victor Ren, Will, xsipewe
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.1.README.txt b/release-notes/OTP-19.3.1.README.txt
new file mode 100644
index 0000000..fef9013
--- /dev/null
+++ b/release-notes/OTP-19.3.1.README.txt
@@ -0,0 +1,157 @@
+Patch Package: OTP 19.3.1
+Git Tag: OTP-19.3.1
+Date: 2017-04-04
+Trouble Report Id: OTP-14242, OTP-14290, OTP-14298, OTP-14300,
+ OTP-14308, OTP-14313
+Seq num: seq13294
+System: OTP
+Release: 19
+Application: crypto-3.7.4, erts-8.3.1, inets-6.3.7,
+ ssh-4.4.2, ssl-8.1.2
+Predecessor: OTP 19.3
+
+ Check out the git tag OTP-19.3.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-3.7.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.7.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14313 Application(s): crypto
+ Related Id(s): PR-1393
+
+ Fix a bug with AES CFB 128 for 192 and 256 bit keys.
+ Thanks to kellymclaughlin !
+
+
+ Full runtime dependencies of crypto-3.7.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14308 Application(s): erts
+ Related Id(s): ERL-383
+
+ Trying to open a directory with file:read_file/1 on
+ Unix leaked a file descriptor. This bug has now been
+ fixed.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-14290 Application(s): erts
+
+ Invoking init:stop/0 via the SIGTERM signal, in a
+ non-SMP BEAM, could cause BEAM to terminate with fatal
+ error. This has now been fixed and the BEAM will
+ terminate normally when SIGTERM is received.
+
+
+ Full runtime dependencies of erts-8.3.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.7 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.7 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14242 Application(s): inets
+
+ Fixed a bug in ftp that made further operations after a
+ recv_chunk operation impossible.
+
+
+ Full runtime dependencies of inets-6.3.7: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.4.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.4.2 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-3.7.3 (first satisfied in OTP 19.3)
+ -- public_key-1.4 (first satisfied in OTP 19.3)
+ -- stdlib-3.3 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14298 Application(s): ssh
+ Related Id(s): seq13294
+
+ ssh:daemon_info/1 crashed if the listening IP was not
+ 'any'
+
+
+ Full runtime dependencies of ssh-4.4.2: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.1.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.1.2 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.2 (first satisfied in OTP 19.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14300 Application(s): ssl
+
+ Correct active once emulation, for TLS. Now all data
+ received by the connection process will be delivered
+ through active once, even when the active once arrives
+ after that the gen_tcp socket is closed by the peer.
+
+
+ Full runtime dependencies of ssl-8.1.2: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Bram Verburg, Kelly McLaughlin
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.2.README.txt b/release-notes/OTP-19.3.2.README.txt
new file mode 100644
index 0000000..baa5fa2
--- /dev/null
+++ b/release-notes/OTP-19.3.2.README.txt
@@ -0,0 +1,47 @@
+Patch Package: OTP 19.3.2
+Git Tag: OTP-19.3.2
+Date: 2017-04-24
+Trouble Report Id: OTP-14358
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.3.2
+Predecessor: OTP 19.3.1
+
+ Check out the git tag OTP-19.3.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14358 Application(s): erts
+ Related Id(s): OTP-14085
+
+ The +Bi command line argument of erl erroneously caused
+ SIGTERM to be ignored by the VM as well as of all its
+ child processes. This bug was introduced in erts
+ version 8.3.
+
+
+ Full runtime dependencies of erts-8.3.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.3.README.txt b/release-notes/OTP-19.3.3.README.txt
new file mode 100644
index 0000000..46df2a5
--- /dev/null
+++ b/release-notes/OTP-19.3.3.README.txt
@@ -0,0 +1,106 @@
+Patch Package: OTP 19.3.3
+Git Tag: OTP-19.3.3
+Date: 2017-05-02
+Trouble Report Id: OTP-14360, OTP-14363, OTP-14368, OTP-14383
+Seq num:
+System: OTP
+Release: 19
+Application: dialyzer-3.1.1, erts-8.3.3, inets-6.3.8
+Predecessor: OTP 19.3.2
+
+ Check out the git tag OTP-19.3.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-3.1.1 application can *not* be applied
+ independently of other applications on an arbitrary OTP 19
+ installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.15.4 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14368 Application(s): dialyzer
+
+ Report unknown types properly. A bug was introduced in
+ Erlang/OTP 19.3, where warnings about unknown types
+ were simply discarded.
+
+
+ Full runtime dependencies of dialyzer-3.1.1: compiler-7.0, erts-8.0,
+ hipe-3.15.4, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.3 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14360 Application(s): erts
+ Related Id(s): ERL-401, PR-1417
+
+ Fixed memory segment cache used for multiblock
+ carriers. Huge (> 2GB) memory segments could cause a VM
+ crash. Creation of such huge memory segments used for
+ multiblock carriers is however very uncommon.
+
+
+ OTP-14363 Application(s): erts
+ Related Id(s): OTP-14290
+
+ Fix release note for OTP-14290 in ERTS version 8.3.1.
+ It was erroneously placed under "Known Bugs and
+ Problems".
+
+
+ Full runtime dependencies of erts-8.3.3: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.8 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.8 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14383 Application(s): inets
+
+ Added missing release note for inets-6.3.7
+
+
+ Full runtime dependencies of inets-6.3.8: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Mikael Pettersson
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.4.README.txt b/release-notes/OTP-19.3.4.README.txt
new file mode 100644
index 0000000..8cec6ba
--- /dev/null
+++ b/release-notes/OTP-19.3.4.README.txt
@@ -0,0 +1,71 @@
+Patch Package: OTP 19.3.4
+Git Tag: OTP-19.3.4
+Date: 2017-05-12
+Trouble Report Id: OTP-14391, OTP-14396
+Seq num: seq13306
+System: OTP
+Release: 19
+Application: inets-6.3.9, ssl-8.1.3
+Predecessor: OTP 19.3.3
+
+ Check out the git tag OTP-19.3.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.9 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14391 Application(s): inets
+ Related Id(s): seq13306
+
+ The close of a chunked file reception crashed in a
+ certain timing sequence.
+
+
+ Full runtime dependencies of inets-6.3.9: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.1.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.1.3 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.2 (first satisfied in OTP 19.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14396 Application(s): ssl
+
+ Remove debug printout
+
+
+ Full runtime dependencies of ssl-8.1.3: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Joe DeVivo
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ \ No newline at end of file
diff --git a/release-notes/OTP-19.3.5.README.txt b/release-notes/OTP-19.3.5.README.txt
new file mode 100644
index 0000000..6f2dd25
--- /dev/null
+++ b/release-notes/OTP-19.3.5.README.txt
@@ -0,0 +1,78 @@
+Patch Package: OTP 19.3.5
+Git Tag: OTP-19.3.5
+Date: 2017-06-05
+Trouble Report Id: OTP-14418, OTP-14430
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.3.4, xmerl-1.3.14
+Predecessor: OTP 19.3.4
+
+ Check out the git tag OTP-19.3.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.4 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14418 Application(s): erts
+ Related Id(s): ERIERL-15
+
+ Add option to make SIGTERM trigger the OS default
+ behaviour instead of doing a gracefull shutdown. To
+ activate this bahviour the environment variable
+ ERL_ZZ_SIGTERM_KILL should be set to "true". This
+ option only works in OTP 19 as OTP 20 will have a
+ different way to deal with SIGTERM.
+
+
+ Full runtime dependencies of erts-8.3.4: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.14 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.14 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14430 Application(s): xmerl
+
+ A couple of bugs are fixed in the sax parser
+ (xmerl_sax_parser).
+
+ -- The continuation function was not called correctly
+ when the XML directive was fragmented.
+
+ -- When the event callback modules (xmerl_sax_old_dom
+ and xmerl_sax_simple) got an endDocument event at
+ certain conditions the parser crashed.
+
+ -- Replaced internal ets table with map to avoid table
+ leakage.
+
+
+ Full runtime dependencies of xmerl-1.3.14: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.1.README.txt b/release-notes/OTP-19.3.6.1.README.txt
new file mode 100644
index 0000000..9637f21
--- /dev/null
+++ b/release-notes/OTP-19.3.6.1.README.txt
@@ -0,0 +1,64 @@
+Patch Package: OTP 19.3.6.1
+Git Tag: OTP-19.3.6.1
+Date: 2017-06-27
+Trouble Report Id: OTP-13939, OTP-14481, OTP-14484
+Seq num: ERL-193
+System: OTP
+Release: 19
+Application: erts-8.3.5.1
+Predecessor: OTP 19.3.6
+
+ Check out the git tag OTP-19.3.6.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.5.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13939 Application(s): erts, kernel
+ Related Id(s): ERL-193
+
+ Fixed a bug in gen_tcp:send where it never returned
+ when repeatedly called on a remotely closed TCP socket.
+
+
+ OTP-14481 Application(s): erts
+
+ Fixed segfault that could happen during cleanup of
+ aborted erlang:port_command/3 calls. A port_command is
+ aborted if the port is closed at the same time as the
+ port_command was issued. This bug was introduced in
+ erts-8.0.
+
+
+ OTP-14484 Application(s): erts
+
+ Fixed implementation of statistics(wall_clock) and
+ statistics(runtime) so that values do not unnecessarily
+ wrap due to the emulator. Note that the values returned
+ by statistics(runtime) may still wrap due to
+ limitations in the underlying functionality provided by
+ the operating system.
+
+
+ Full runtime dependencies of erts-8.3.5.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.2.README.txt b/release-notes/OTP-19.3.6.2.README.txt
new file mode 100644
index 0000000..01c09e2
--- /dev/null
+++ b/release-notes/OTP-19.3.6.2.README.txt
@@ -0,0 +1,63 @@
+Patch Package: OTP 19.3.6.2
+Git Tag: OTP-19.3.6.2
+Date: 2017-07-28
+Trouble Report Id: OTP-14491, OTP-14509, OTP-14514
+Seq num:
+System: OTP
+Release: 19
+Application: erts-8.3.5.2
+Predecessor: OTP 19.3.6.1
+
+ Check out the git tag OTP-19.3.6.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.5.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.5.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14491 Application(s): erts
+
+ Fix performance bug in pre-allocators that could cause
+ them to permanently fall back on normal more expensive
+ memory allocation. Pre-allocators are used for quick
+ allocation of short lived meta data used by messages
+ and other scheduled tasks. Bug exists since OTP_R15B02.
+
+
+ OTP-14509 Application(s): erts
+
+ Fixed a bug that prevented TCP sockets from being
+ closed properly on send timeouts.
+
+
+ OTP-14514 Application(s): erts
+
+ Fixed bug in operator bxor causing erroneuos result
+ when one operand is a big *negative* integer with the
+ lowest N*W bits as zero and the other operand not
+ larger than N*W bits. N is an integer of 1 or larger
+ and W is 32 or 64 depending on word size.
+
+
+ Full runtime dependencies of erts-8.3.5.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ \ No newline at end of file
diff --git a/release-notes/OTP-19.3.6.3.README.txt b/release-notes/OTP-19.3.6.3.README.txt
new file mode 100644
index 0000000..fc636b3
--- /dev/null
+++ b/release-notes/OTP-19.3.6.3.README.txt
@@ -0,0 +1,99 @@
+Patch Package: OTP 19.3.6.3
+Git Tag: OTP-19.3.6.3
+Date: 2017-10-05
+Trouble Report Id: OTP-14522, OTP-14548, OTP-14590, OTP-14612,
+ OTP-14661
+Seq num: ERIERL-48, ERIERL-80, ERL-468, ERL-474
+System: OTP
+Release: 19
+Application: compiler-7.0.4.1, erts-8.3.5.3
+Predecessor: OTP 19.3.6.2
+
+ Check out the git tag OTP-19.3.6.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0.4.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0.4.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14522 Application(s): compiler
+ Related Id(s): ERIERL-48
+
+ Fail labels on guard BIFs weren't taken into account
+ during an optimization pass, and a bug in the
+ validation pass sometimes prevented this from being
+ noticed when a fault occurred.
+
+
+ Full runtime dependencies of compiler-7.0.4.1: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.5.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.5.3 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14548 Application(s): erts
+ Related Id(s): ERL-468, OTP-11997
+
+ A timer internal bit-field used for storing scheduler
+ id was too small. As a result, VM internal timer data
+ structures could become inconsistent when using 1024
+ schedulers on the system. Note that systems with less
+ than 1024 schedulers are not effected by this bug.
+
+ This bug was introduced in ERTS version 7.0 (OTP 18.0).
+
+
+ OTP-14590 Application(s): erts
+ Related Id(s): ERL-474
+
+ Fixed bug in binary_to_term and binary_to_atom that
+ could cause VM crash. Typically happens when the last
+ character of an UTF8 string is in the range 128 to 255,
+ but truncated to only one byte. Bug exists in
+ binary_to_term since ERTS version 5.10.2 (OTP_R16B01)
+ and binary_to_atom since ERTS version 9.0 (OTP-20.0).
+
+
+ OTP-14612 Application(s): erts
+
+ Fix bug causing VM crash when a module with -on_load
+ directive is loaded while erlang:trace(on_load, ...) is
+ enabled.
+
+
+ OTP-14661 Application(s): erts
+ Related Id(s): ERIERL-80
+
+ Fixed bug that could cause a VM crash when a corrupt
+ message is received on distribution channel from other
+ node.
+
+
+ Full runtime dependencies of erts-8.3.5.3: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.4.README.txt b/release-notes/OTP-19.3.6.4.README.txt
new file mode 100644
index 0000000..9a94328
--- /dev/null
+++ b/release-notes/OTP-19.3.6.4.README.txt
@@ -0,0 +1,94 @@
+Patch Package: OTP 19.3.6.4
+Git Tag: OTP-19.3.6.4
+Date: 2017-11-23
+Trouble Report Id: OTP-14748
+Seq num:
+System: OTP
+Release: 19
+Application: ssl-8.1.3.1
+Predecessor: OTP 19.3.6.3
+
+ Check out the git tag OTP-19.3.6.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-8.1.3.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.1.3.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.2 (first satisfied in OTP 19.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14748 Application(s): ssl
+
+ An erlang TLS server configured with cipher suites
+ using rsa key exchange, may be vulnerable to an
+ Adaptive Chosen Ciphertext attack (AKA Bleichenbacher
+ attack) against RSA, which when exploited, may result
+ in plaintext recovery of encrypted messages and/or a
+ Man-in-the-middle (MiTM) attack, despite the attacker
+ not having gained access to the server’s private key
+ itself. CVE-2017-1000385
+
+ Exploiting this vulnerability to perform plaintext
+ recovery of encrypted messages will, in most practical
+ cases, allow an attacker to read the plaintext only
+ after the session has completed. Only TLS sessions
+ established using RSA key exchange are vulnerable to
+ this attack.
+
+ Exploiting this vulnerability to conduct a MiTM attack
+ requires the attacker to complete the initial attack,
+ which may require thousands of server requests, during
+ the handshake phase of the targeted session within the
+ window of the configured handshake timeout. This attack
+ may be conducted against any TLS session using RSA
+ signatures, but only if cipher suites using RSA key
+ exchange are also enabled on the server. The limited
+ window of opportunity, limitations in bandwidth, and
+ latency make this attack significantly more difficult
+ to execute.
+
+ RSA key exchange is enabled by default although least
+ prioritized if server order is honored. For such a
+ cipher suite to be chosen it must also be supported by
+ the client and probably the only shared cipher suite.
+
+ Captured TLS sessions encrypted with ephemeral cipher
+ suites (DHE or ECDHE) are not at risk for subsequent
+ decryption due to this vulnerability.
+
+ As a workaround if default cipher suite configuration
+ was used you can configure the server to not use
+ vulnerable suites with the ciphers option like this:
+
+ {ciphers, [Suite || Suite <- ssl:cipher_suites(),
+ element(1,Suite) =/= rsa]}
+
+ that is your code will look somethingh like this:
+
+ ssl:listen(Port, [{ciphers, [Suite || Suite <-
+ ssl:cipher_suites(), element(1,S) =/= rsa]} |
+ Options]).
+
+ Thanks to Hanno Böck, Juraj Somorovsky and Craig Young
+ for reporting this vulnerability.
+
+
+ Full runtime dependencies of ssl-8.1.3.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.5.README.txt b/release-notes/OTP-19.3.6.5.README.txt
new file mode 100644
index 0000000..c98bfcd
--- /dev/null
+++ b/release-notes/OTP-19.3.6.5.README.txt
@@ -0,0 +1,114 @@
+Patch Package: OTP 19.3.6.5
+Git Tag: OTP-19.3.6.5
+Date: 2017-12-18
+Trouble Report Id: OTP-14763, OTP-14775, OTP-14776, OTP-14781,
+ OTP-14829
+Seq num: ERIERL-103, ERIERL-74, ERIERL-84
+System: OTP
+Release: 19
+Application: erts-8.3.5.4, mnesia-4.14.3.1, ssh-4.4.2.1
+Predecessor: OTP 19.3.6.4
+
+ Check out the git tag OTP-19.3.6.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.5.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.5.4 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14775 Application(s): erts
+
+ Fixed a bug in file closure on Unix; close(2) was
+ retried on EINTR which could cause a different
+ (recently opened) file to be closed as well.
+
+
+ OTP-14781 Application(s): erts
+ Related Id(s): OTP-13047
+
+ A race-condition when tearing down a connection with
+ active node monitors could cause the runtime system to
+ crash.
+
+ This bug was introduced in ERTS version 8.0 (OTP 19.0).
+
+
+ Full runtime dependencies of erts-8.3.5.4: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.14.3.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.14.3.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14776 Application(s): mnesia
+ Related Id(s): ERIERL-103
+
+ Fix backup error handling, the real failure reason was
+ not returned.
+
+
+ OTP-14829 Application(s): mnesia
+ Related Id(s): ERIERL-84
+
+ Removed a quadratic behavior in startup. This change
+ implies that backend plugins (if used) must be set when
+ the schema is created or via configuration parameters
+ before mnesia is started.
+
+
+ Full runtime dependencies of mnesia-4.14.3.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.4.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.4.2.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-3.7.3 (first satisfied in OTP 19.3)
+ -- public_key-1.4 (first satisfied in OTP 19.3)
+ -- stdlib-3.3 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14763 Application(s): ssh
+ Related Id(s): ERIERL-74
+
+ Trailing white space was removed at end of the
+ hello-string. This caused interoperability problems
+ with some other ssh-implementations (e.g OpenSSH 7.3p1
+ on Solaris 11)
+
+
+ Full runtime dependencies of ssh-4.4.2.1: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.6.README.txt b/release-notes/OTP-19.3.6.6.README.txt
new file mode 100644
index 0000000..48cb434
--- /dev/null
+++ b/release-notes/OTP-19.3.6.6.README.txt
@@ -0,0 +1,71 @@
+Patch Package: OTP 19.3.6.6
+Git Tag: OTP-19.3.6.6
+Date: 2018-03-02
+Trouble Report Id: OTP-14881, OTP-14929
+Seq num:
+System: OTP
+Release: 19
+Application: ssh-4.4.2.2, ssl-8.1.3.1.1
+Predecessor: OTP 19.3.6.5
+
+ Check out the git tag OTP-19.3.6.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.4.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.4.2.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-3.7.3 (first satisfied in OTP 19.3)
+ -- public_key-1.4 (first satisfied in OTP 19.3)
+ -- stdlib-3.3 (first satisfied in OTP 19.3)
+
+
+ --- Improvements and New Features ---
+
+ OTP-14881 Application(s): ssh
+
+ Default exec is disabled when a user-defined shell is
+ enabled.
+
+
+ Full runtime dependencies of ssh-4.4.2.2: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.1.3.1.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.1.3.1.1 application can *not* be applied
+ independently of other applications on an arbitrary OTP 19
+ installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.2 (first satisfied in OTP 19.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14929 Application(s): ssl
+
+ Fix alert handling so that unexpected messages are
+ logged and alerted correctly
+
+
+ Full runtime dependencies of ssl-8.1.3.1.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.7.README.txt b/release-notes/OTP-19.3.6.7.README.txt
new file mode 100644
index 0000000..108a0bd
--- /dev/null
+++ b/release-notes/OTP-19.3.6.7.README.txt
@@ -0,0 +1,49 @@
+Patch Package: OTP 19.3.6.7
+Git Tag: OTP-19.3.6.7
+Date: 2018-03-22
+Trouble Report Id: OTP-14823
+Seq num:
+System: OTP
+Release: 19
+Application: kernel-5.2.0.1
+Predecessor: OTP 19.3.6.6
+
+ Check out the git tag OTP-19.3.6.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- kernel-5.2.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.2.0.1 application can *not* be applied
+ independently of other applications on an arbitrary OTP 19
+ installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-8.1 (first satisfied in OTP 19.1)
+
+
+ --- New feature ---
+
+ OTP-14823 Application(s): kernel
+
+ Add os:cmd/2 that takes an options map as the second
+ argument.
+
+ Add max_size as an option to os:cmd/2 that control the
+ maximum size of the result that os:cmd/2 will return.
+
+
+ Full runtime dependencies of kernel-5.2.0.1: erts-8.1, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ \ No newline at end of file
diff --git a/release-notes/OTP-19.3.6.8.README.txt b/release-notes/OTP-19.3.6.8.README.txt
new file mode 100644
index 0000000..051725f
--- /dev/null
+++ b/release-notes/OTP-19.3.6.8.README.txt
@@ -0,0 +1,46 @@
+Patch Package: OTP 19.3.6.8
+Git Tag: OTP-19.3.6.8
+Date: 2018-04-06
+Trouble Report Id: OTP-15004
+Seq num:
+System: OTP
+Release: 19
+Application: ssh-4.4.2.3
+Predecessor: OTP 19.3.6.7
+
+ Check out the git tag OTP-19.3.6.8, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.4.2.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.4.2.3 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-3.7.3 (first satisfied in OTP 19.3)
+ -- public_key-1.4 (first satisfied in OTP 19.3)
+ -- stdlib-3.3 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15004 Application(s): ssh
+
+ An ssh_sftp server (running version 6) could fail if it
+ is told to remove a file which in fact is a directory.
+
+
+ Full runtime dependencies of ssh-4.4.2.3: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.9.README.txt b/release-notes/OTP-19.3.6.9.README.txt
new file mode 100644
index 0000000..be9c56f
--- /dev/null
+++ b/release-notes/OTP-19.3.6.9.README.txt
@@ -0,0 +1,57 @@
+Patch Package: OTP 19.3.6.9
+Git Tag: OTP-19.3.6.9
+Date: 2018-05-09
+Trouble Report Id: OTP-15018, OTP-15064, OTP-15066
+Seq num:
+System: OTP
+Release: 19
+Application: ssh-4.4.2.4
+Predecessor: OTP 19.3.6.8
+
+ Check out the git tag OTP-19.3.6.9, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.4.2.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.4.2.4 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-3.7.3 (first satisfied in OTP 19.3)
+ -- public_key-1.4 (first satisfied in OTP 19.3)
+ -- stdlib-3.3 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15018 Application(s): ssh
+
+ Fix rare spurios shutdowns of ssh servers when
+ receiveing {'EXIT',_,normal} messages.
+
+
+ OTP-15064 Application(s): ssh
+
+ Host key hash erroneously calculated for clients
+ following draft-00 of RFC 4419, for example PuTTY
+
+
+ OTP-15066 Application(s): ssh
+
+ Renegotiation could fail in some states
+
+
+ Full runtime dependencies of ssh-4.4.2.4: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.6.README.txt b/release-notes/OTP-19.3.6.README.txt
new file mode 100644
index 0000000..38d5b34
--- /dev/null
+++ b/release-notes/OTP-19.3.6.README.txt
@@ -0,0 +1,58 @@
+Patch Package: OTP 19.3.6
+Git Tag: OTP-19.3.6
+Date: 2017-06-08
+Trouble Report Id: OTP-14441, OTP-14444, OTP-14451
+Seq num: ERIERL-24, ERL-430
+System: OTP
+Release: 19
+Application: erts-8.3.5
+Predecessor: OTP 19.3.5
+
+ Check out the git tag OTP-19.3.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-8.3.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3.5 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14441 Application(s): erts
+ Related Id(s): ERL-430
+
+ Active-mode TCP sockets are now cleaned up properly on
+ send/shutdown errors.
+
+
+ OTP-14444 Application(s): erts
+ Related Id(s): ERIERL-24
+
+ A code purge operation could under certain
+ circumstances expand the size of hibernated processes.
+
+
+ OTP-14451 Application(s): erts
+
+ Fix so that the ERL_ZZ_SIGTERM_KILL introduced in
+ erts-8.3.4 works.
+
+
+ Full runtime dependencies of erts-8.3.5: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-19.3.README.txt b/release-notes/OTP-19.3.README.txt
new file mode 100644
index 0000000..b1d9453
--- /dev/null
+++ b/release-notes/OTP-19.3.README.txt
@@ -0,0 +1,1223 @@
+Patch Package: OTP 19.3
+Git Tag: OTP-19.3
+Date: 2017-03-14
+Trouble Report Id: OTP-10599, OTP-13009, OTP-13571, OTP-13874,
+ OTP-14055, OTP-14085, OTP-14090, OTP-14091,
+ OTP-14093, OTP-14097, OTP-14098, OTP-14100,
+ OTP-14103, OTP-14108, OTP-14109, OTP-14114,
+ OTP-14118, OTP-14119, OTP-14121, OTP-14122,
+ OTP-14126, OTP-14129, OTP-14130, OTP-14131,
+ OTP-14132, OTP-14133, OTP-14134, OTP-14135,
+ OTP-14136, OTP-14138, OTP-14139, OTP-14141,
+ OTP-14145, OTP-14151, OTP-14153, OTP-14154,
+ OTP-14159, OTP-14161, OTP-14164, OTP-14165,
+ OTP-14166, OTP-14169, OTP-14170, OTP-14173,
+ OTP-14175, OTP-14177, OTP-14189, OTP-14191,
+ OTP-14192, OTP-14200, OTP-14202, OTP-14206,
+ OTP-14210, OTP-14211, OTP-14212, OTP-14213,
+ OTP-14215, OTP-14217, OTP-14222, OTP-14223,
+ OTP-14225, OTP-14227, OTP-14228, OTP-14229,
+ OTP-14230, OTP-14231, OTP-14232, OTP-14233,
+ OTP-14234, OTP-14235, OTP-14240, OTP-14241,
+ OTP-14248, OTP-14249, OTP-14254, OTP-14269
+Seq num: seq13232, seq13244, seq13261, seq13262,
+ seq13275, seq13277
+System: OTP
+Release: 19
+Application: common_test-1.14, compiler-7.0.4,
+ crypto-3.7.3, dialyzer-3.1, diameter-1.12.2,
+ erl_interface-3.9.3, erts-8.3, hipe-3.15.4,
+ inets-6.3.6, kernel-5.2, observer-2.3.1,
+ os_mon-2.4.2, public_key-1.4, reltool-0.7.3,
+ runtime_tools-1.11.1, sasl-3.0.3, snmp-5.2.5,
+ ssh-4.4.1, ssl-8.1.1, stdlib-3.3,
+ tools-2.9.1, typer-0.9.12, xmerl-1.3.13
+Predecessor: OTP 19.2.3
+
+ Check out the git tag OTP-19.3, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14169 Application(s): crypto, ssh
+ Related Id(s): seq13261
+
+ The implementation of the key exchange algorithms
+ diffie-hellman-group-exchange-sha* are optimized, up to
+ a factor of 11 for the slowest ( = biggest and safest)
+ group size.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.14 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.14 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-10599 Application(s): common_test
+ Related Id(s): [255], kunagi-344
+
+ The following corrections and improvements are done in
+ the common_test hook handling:
+
+ -- An extra argument, Suite, is added as the first
+ argument to each of the following hook callback
+ functions:
+
+ -- pre_init_per_group
+
+ -- post_init_per_group
+
+ -- pre_end_per_group
+
+ -- post_end_per_group
+
+ -- pre_init_per_testcase
+
+ -- post_init_per_testcase
+
+ -- pre_end_per_testcase
+
+ -- post_end_per_testcase
+
+ -- on_tc_fail
+
+ -- on_tc_skip
+
+ For backwards compatibility, if the new function is not
+ exported from a hook callback module, common_test will
+ fall back to the old interface and call the function
+ without the Suite argument.
+
+ -- If either init_per_suite or end_per_suite exists,
+ but not the other, then the non-existing function will
+ be reported as failed with reason undef in the test
+ log. The same goes for init/end_per_group. This has
+ always been a requirement according to the user's
+ guide, but now common_test is more explicit in the
+ report.
+
+ -- If init_per_suite was exported from a test suite,
+ but not end_per_suite, then pre/post_end_per_suite was
+ called with Suite=ct_framework instead of the correct
+ suite name. This is now corrected.
+
+ -- If end_per_group was exported from a suite, but not
+ init_per_group, then end_per_group was never called.
+ This is now corrected.
+
+ -- Tests that were skipped before calling
+ pre_init_per_* got faulty calls to the corresponding
+ post_init_per_*. E.g. if a test was skipped because
+ suite/0 failed, then post_init_per_suite would be
+ called even though pre_init_per_suite and
+ init_per_suite were not called. This is now corrected
+ so a post_* callback will never be called unless the
+ corresponding pre_* callback has been called first.
+
+ -- Tests that were skipped before or in
+ init_per_testcase got faulty calls to
+ pre_end_per_testcase and post_end_per_testcase. This is
+ now corrected so pre/post_end_per_testcase are not
+ called when end_per_testcase is not called.
+
+ -- If an exit signal causes the test case process to
+ die while running init_per_testcase, the case was
+ earlier reported as failed with reason {skip,...}. This
+ is now corrected so the case will be marked as skipped.
+
+ -- If an exist signal causes the test case process to
+ die while running end_per_testcase, the case was
+ earlier marked as failed. This is now corrected so the
+ status of the test case is not changed - there is only
+ a warning added to the comment field.
+
+ -- If a test case was skipped because of option
+ {force_stop,skip_rest} or because of a failed sequence,
+ then no tc_start event would be sent, only tc_done.
+ This is now corrected so both events are sent.
+
+ -- When skipping or failing in a configuration
+ function, the configuration function itself would get
+ {auto_skipped,Reason}, {skipped,Reason} or
+ {failed,Reason} in the hook callbacks on_tc_skip or
+ on_tc_fail. The other test cases that were skipped as a
+ result of this would only get Reason in on_tc_skip.
+ This is now corrected so even the configuration
+ function that caused the skip/fail will only get Reason
+ in the hook callback.
+
+
+ OTP-14129 Application(s): common_test
+ Related Id(s): seq13244
+
+ When a test case was skipped by a skip_cases statement
+ in a test spec, then cth_surefire would erroneously
+ mark the previous test case as skipped in the xml
+ report. The actually skipped test case would not be
+ present in the xml report at all. This is now
+ corrected.
+
+
+ OTP-14210 Application(s): common_test
+
+ The multiply_timetraps and scale_timetraps options did
+ not work with test specifications, which has been
+ corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14132 Application(s): common_test
+
+ ct_testspec:get_tests/1 is added. This is used by
+ rebar3 to get all directories that must be compiled
+ when running tests from testspec - instead of
+ implementing testspec parsing in rebar3.
+
+
+ Full runtime dependencies of common_test-1.14: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.0.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.0.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14240 Application(s): compiler
+
+ Minor internal changes. A typo in the documentation was
+ also fixed.
+
+
+ Full runtime dependencies of compiler-7.0.4: crypto-3.6, erts-7.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-3.7.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-3.7.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14169 Application(s): crypto, ssh
+ Related Id(s): seq13261
+
+ *** HIGHLIGHT ***
+
+ The implementation of the key exchange algorithms
+ diffie-hellman-group-exchange-sha* are optimized, up to
+ a factor of 11 for the slowest ( = biggest and safest)
+ group size.
+
+
+ Full runtime dependencies of crypto-3.7.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-3.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.15.4 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14130 Application(s): dialyzer, hipe, typer
+
+ Fix a bug concerning parameterized opaque types.
+
+
+ OTP-14177 Application(s): dialyzer
+
+ Improve a few warnings. One of them could cause a
+ crash.
+
+
+ OTP-14249 Application(s): dialyzer, observer
+ Related Id(s): ERL-161
+
+ The dialyzer and observer applications will now use a
+ portable way to find the home directory. That means
+ that there is no longer any need to manually set the
+ HOME environment variable on Windows.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14126 Application(s): dialyzer
+ Related Id(s): ERL-308
+
+ The peak memory consumption is reduced.
+
+ The evaluation of huge SCCs in dialyzer_typesig is
+ optimized.
+
+ Analyzing modules with binary construction with huge
+ strings is now much faster.
+
+
+ Full runtime dependencies of dialyzer-3.1: compiler-7.0, erts-8.0,
+ hipe-3.15.4, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.12.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-1.12.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14206 Application(s): diameter
+
+ An improvement in the handling of peer failover in
+ diameter 1.12.1 adversely affected performance when
+ sending requests. Further, the inefficient use of a
+ public table to route incoming answers has been
+ removed.
+
+
+ OTP-14269 Application(s): diameter, hipe, reltool
+
+ Fixed xml issues in old release notes
+
+
+ Full runtime dependencies of diameter-1.12.2: erts-6.0, kernel-3.0,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.9.3 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.9.3 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14233 Application(s): erl_interface
+ Related Id(s): PR-1343
+
+ Minor documentation update
+
+
+ ---------------------------------------------------------------------
+ --- erts-8.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-8.3 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- sasl-3.0.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14055 Application(s): erts
+
+ Fixed a number of bugs that caused faulty stack-traces
+ to be generated. The faulty stack traces were generated
+ either when applying the following functions or tracing
+ the following functions:
+
+ -- erlang:error/1
+
+ -- erlang:error/2
+
+ -- erlang:exit/1
+
+ -- erlang:throw/1
+
+
+ OTP-14118 Application(s): erts
+
+ Corrected documentation about memory footprint for
+ maps.
+
+
+ OTP-14119 Application(s): erts
+ Related Id(s): PR-1263
+
+ Fix process_info(Pid, current_stacktrace) to use stack
+ depth limit set by system_flag(backtrace_depth). The
+ old behavior was a hard coded depth limit of 8.
+
+
+ OTP-14121 Application(s): erts
+
+ A process calling erlang:system_flag(multi_scheduling,
+ block) could end up hanging forever in the call.
+
+
+ OTP-14122 Application(s): erts
+
+ Dirty scheduler bug fixes:
+
+ -- Fixed call time tracing of process being scheduled
+ on dirty scheduler.
+
+ -- GC info from dirty schedulers.
+
+ -- Multi scheduling block with dirty schedulers could
+ crash the runtime system.
+
+ -- Process structures could be removed prematurely.
+
+ -- GC on dirty scheduler could crash the runtime
+ system.
+
+ -- Termination of a process executing on a dirty
+ scheduler could cause a runtime system crash.
+
+
+ OTP-14133 Application(s): erts
+
+ Fixed crash that occurred when writing timer data to a
+ crash dump.
+
+
+ OTP-14134 Application(s): erts
+
+ A literal area could be removed while still referred
+ from processes.
+
+
+ OTP-14135 Application(s): erts
+
+ Fixed a bug in the garbage collector that could crash
+ the runtime system.
+
+
+ OTP-14136 Application(s): erts
+
+ Fixed a bug in call-time trace for NIFs which caused
+ tracing to erroneously be started multiple times for
+ one call.
+
+
+ OTP-14153 Application(s): erts
+
+ Remove a debug printout and an unnecessary garbage
+ collection when handling exceptions in hipe compiled
+ code.
+
+
+ OTP-14154 Application(s): erts
+
+ Fix bug in tracing of garbage collection that could
+ cause VM crash. Bug exists since OTP 19.0.
+
+
+ OTP-14159 Application(s): erts
+ Related Id(s): ERL-340
+
+ Fix bug in binary_to_term for binaries created by
+ term_to_binary with option compressed. The bug can
+ cause badarg exception for a valid binary when Erlang
+ VM is linked against a zlib library of version 1.2.9 or
+ newer. Bug exists since OTP 17.0.
+
+
+ OTP-14164 Application(s): erts
+
+ Fix suspension of schedulers when generating a
+ crashdump.
+
+
+ OTP-14202 Application(s): erts
+
+ NIF resources was not handled in a thread-safe manner
+ in the runtime system without SMP support.
+
+ As a consequence of this fix, the following driver
+ functions are now thread-safe also in the runtime
+ system without SMP support:
+
+ -- driver_free_binary()
+
+ -- driver_realloc_binary()
+
+ -- driver_binary_get_refc()
+
+ -- driver_binary_inc_refc()
+
+ -- driver_binary_dec_refc()
+
+
+ OTP-14227 Application(s): erts
+
+ Fix erlang:round/1 for large floating point numbers
+ with an odd absolute value between (1 bsl 52) and (1
+ bsl 53). The result was falsely calculated as the next
+ higher even number even though all integer values up to
+ (1 bsl 53) can be represented as floats with full
+ precision.
+
+
+ OTP-14228 Application(s): erts
+
+ Add size of literals to module code size in crash dump
+ and (l)oaded command in break menu like it used to be
+ before OTP-19.0.
+
+
+ OTP-14229 Application(s): erts
+
+ Fix potential bug in enif_send when called without a
+ process context and with argument msg_env as NULL.
+
+
+ OTP-14231 Application(s): erts
+
+ Fix bug where passing an appendable binary to
+ erlang:port_control() could crash the emulator.
+
+
+ OTP-14241 Application(s): erts
+ Related Id(s): ERL-365
+
+ Receive expressions with timeout in the Erlang shell
+ could cause a VM crash.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14085 Application(s): erts
+
+ A received SIGTERM signal to beam will generate a
+ 'stop' message to the init process and terminate the
+ Erlang VM nicely. This is equivalent to calling
+ init:stop/0.
+
+
+ OTP-14165 Application(s): erts
+ Related Id(s): ERL-319
+
+ Workaround for buggy Android implementation of
+ PTHREAD_STACK_MIN causing build of runtime system to
+ crash on undeclared PAGE_SIZE.
+
+
+ OTP-14234 Application(s): erts
+
+ Add configure option --without-thread-names that
+ removes the naming of individual emulator threads.
+
+
+ OTP-14254 Application(s): erts
+ Related Id(s): ERL-362
+
+ Add warning in documentation of zlib:deflateInit/6
+ about option WindowsBits values 8 and -8.
+
+
+ Full runtime dependencies of erts-8.3: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.15.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-3.15.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14130 Application(s): dialyzer, hipe, typer
+
+ Fix a bug concerning parameterized opaque types.
+
+
+ OTP-14269 Application(s): diameter, hipe, reltool
+
+ Fixed xml issues in old release notes
+
+
+ Full runtime dependencies of hipe-3.15.4: compiler-5.0, erts-7.1,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.3.6 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13571 Application(s): inets
+ Related Id(s): ERL-116
+
+ Chunk size decoding could fail. The symptom was that
+ chunk decoding sometimes failed depending on timing of
+ the received stream. If chunk size was split into two
+ different packets decoding would fail.
+
+
+ OTP-14091 Application(s): inets
+
+ Prevent httpc user process to hang if httpc_handler
+ process terminates unexpectedly
+
+
+ OTP-14097 Application(s): inets
+
+ Correct Host header, to include port number, when
+ redirecting requests.
+
+
+ OTP-14173 Application(s): inets
+ Related Id(s): seq13262
+
+ Shutdown gracefully on connection or TLS handshake
+ errors
+
+
+ Full runtime dependencies of inets-6.3.6: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-8.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14232 Application(s): kernel
+ Related Id(s): seq13275
+
+ Fix a race during cleanup of os:cmd that would cause
+ os:cmd to hang indefinitely.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14191 Application(s): kernel
+
+ The functions in the 'file' module that take a list of
+ paths (e.g. file:path_consult/2) will now continue to
+ search in the path if the path contains something that
+ is not a directory.
+
+
+ OTP-14192 Application(s): kernel
+
+ Two OTP processes that are known to receive many
+ messages are 'rex' (used by 'rpc') and 'error_logger'.
+ Those processes will now store unprocessed messages
+ outside the process heap, which will potentially
+ decrease the cost of garbage collections.
+
+
+ Full runtime dependencies of kernel-5.2: erts-8.1, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.3.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.3.1 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14090 Application(s): observer, runtime_tools
+ Related Id(s): seq13232
+
+ etop erroneously reported the average scheduler
+ utilization since the tool was first started instead of
+ the scheduler utilization since last update. This is
+ now corrected.
+
+
+ OTP-14093 Application(s): observer
+ Related Id(s): ERL-318
+
+ crashdump_viewer crashed when the 'Slogan' had more
+ than one line. This is now corrected.
+
+
+ OTP-14151 Application(s): observer
+ Related Id(s): PR-1296
+
+ When clicking an HTML-link to a port before the port
+ tab has been opened for the first time, observer would
+ crash since port info is not initiated. This is now
+ corrected.
+
+
+ OTP-14249 Application(s): dialyzer, observer
+ Related Id(s): ERL-161
+
+ The dialyzer and observer applications will now use a
+ portable way to find the home directory. That means
+ that there is no longer any need to manually set the
+ HOME environment variable on Windows.
+
+
+ Full runtime dependencies of observer-2.3.1: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.4.2 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14161 Application(s): os_mon
+ Related Id(s): PR-1309
+
+ Support s390x in os_mon.
+
+
+ Full runtime dependencies of os_mon-2.4.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.4 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13009 Application(s): public_key
+
+ New function pkix_verify_hostname/2,3 Implements
+ certificate hostname checking. See the manual and RFC
+ 6125.
+
+
+ OTP-14223 Application(s): public_key, ssh
+
+ The ssh host key fingerprint generation now also takes
+ a list of algorithms and returns a list of
+ corresponding fingerprints. See
+ public_key:ssh_hostkey_fingerprint/2 and the option
+ silently_accept_hosts in ssh:connect.
+
+
+ Full runtime dependencies of public_key-1.4: asn1-3.0, crypto-3.3,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The reltool-0.7.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14269 Application(s): diameter, hipe, reltool
+
+ Fixed xml issues in old release notes
+
+
+ Full runtime dependencies of reltool-0.7.3: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.11.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.11.1 application can be applied independently of
+ other applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14090 Application(s): observer, runtime_tools
+ Related Id(s): seq13232
+
+ etop erroneously reported the average scheduler
+ utilization since the tool was first started instead of
+ the scheduler utilization since last update. This is
+ now corrected.
+
+
+ Full runtime dependencies of runtime_tools-1.11.1: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The sasl-3.0.3 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-8.1 (first satisfied in OTP 19.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14170 Application(s): sasl
+
+ When both options 'warnings_as_errors' and 'silent'
+ were given to systools:make_script or
+ systools:make_relup, no error reason would be returned
+ if warnings occurred. Instead only the atom 'error' was
+ returned. This is now corrected.
+
+ Options 'warnings_as_errors' and 'no_warn_sasl' are now
+ also allowed for systools:make_tar.
+
+
+ Full runtime dependencies of sasl-3.0.3: erts-8.1, kernel-5.0,
+ stdlib-3.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.5 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14145 Application(s): snmp
+ Related Id(s): ERL-325
+
+ The SNMP MIB compiler has been fixed to compile MIBS
+ with refinements on user types such as in RFC 4669
+ RADIUS-AUTH-SERVER-MIB.mib. Problem reported and
+ researched by Kenneth Lakin and Daniel Goertzen.
+
+ See also: https://bugs.erlang.org/browse/ERL-325
+
+
+ Full runtime dependencies of snmp-5.2.5: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.4.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.4.1 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-3.7.3 (first satisfied in OTP 19.3)
+ -- public_key-1.4 (first satisfied in OTP 19.3)
+ -- stdlib-3.3 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14108 Application(s): ssh
+
+ Fix bug when opening connections. If the tcp setup
+ failed, that would in some cases not result in an error
+ return value.
+
+
+ OTP-14109 Application(s): ssh
+
+ Reduce information leakage in case of decryption
+ errors.
+
+
+ OTP-14166 Application(s): ssh
+
+ The key exchange algorithm
+ diffie-hellman-group-exchange-sha* has a server-option
+ {dh_gex_limits,{Min,Max}}. There was a hostkey
+ signature validation error on the client side if the
+ option was used and the Min or the Max differed from
+ the corresponding values obtained from the client.
+
+ This bug is now corrected.
+
+
+ OTP-14225 Application(s): ssh
+ Related Id(s): PR-1331, PR-1335
+
+ The sftpd server now correctly uses root_dir and cwd
+ when resolving file paths if both are provided. The cwd
+ handling is also corrected.
+
+ Thanks to kape1395!
+
+
+ OTP-14230 Application(s): ssh
+ Related Id(s): ERL-364
+
+ Ssh_cli used a function that does not handle non-utf8
+ unicode correctly.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14169 Application(s): crypto, ssh
+ Related Id(s): seq13261
+
+ *** HIGHLIGHT ***
+
+ The implementation of the key exchange algorithms
+ diffie-hellman-group-exchange-sha* are optimized, up to
+ a factor of 11 for the slowest ( = biggest and safest)
+ group size.
+
+
+ OTP-14223 Application(s): public_key, ssh
+
+ The ssh host key fingerprint generation now also takes
+ a list of algorithms and returns a list of
+ corresponding fingerprints. See
+ public_key:ssh_hostkey_fingerprint/2 and the option
+ silently_accept_hosts in ssh:connect.
+
+
+ Full runtime dependencies of ssh-4.4.1: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.1.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.1.1 application can *not* be applied independently of
+ other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.2 (first satisfied in OTP 19.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14100 Application(s): ssl
+
+ Corrected termination behavior, that caused a PEM cache
+ bug and sometimes resulted in connection failures.
+
+
+ OTP-14138 Application(s): ssl
+
+ Fix bug that could hang ssl connection processes when
+ failing to require more data for very large handshake
+ packages. Add option max_handshake_size to mitigate DoS
+ attacks.
+
+
+ OTP-14141 Application(s): ssl
+
+ Improved support for CRL handling that could fail to
+ work as intended when an id-ce-extKeyUsage was present
+ in the certificate. Also improvements where needed to
+ distributionpoint handling so that all revocations
+ actually are found and not deemed to be not
+ determinable.
+
+
+ OTP-14222 Application(s): ssl
+
+ A TLS handshake might accidentally match old sslv2
+ format and ssl application would incorrectly aborted
+ TLS handshake with ssl_v2_client_hello_no_supported.
+ Parsing was altered to avoid this problem.
+
+
+ OTP-14235 Application(s): ssl
+
+ Correct default cipher list to prefer AES 128 before
+ 3DES
+
+
+ --- Improvements and New Features ---
+
+ OTP-13874 Application(s): ssl
+
+ Move PEM cache to a dedicated process, to avoid making
+ the SSL manager process a bottleneck. This improves
+ scalability of TLS connections.
+
+
+ Full runtime dependencies of ssl-8.1.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.3 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14098 Application(s): stdlib
+
+ An escript with only two lines would not work.
+
+
+ OTP-14103 Application(s): stdlib
+ Related Id(s): ERL-313
+
+ Characters ($char) can be used in constant pattern
+ expressions. They can also be used in types and
+ contracts.
+
+
+ OTP-14131 Application(s): stdlib
+
+ The signatures of erl_parse:anno_to_term/1 and
+ erl_parse:anno_from_term/1 are corrected. Using these
+ functions no longer results in false Dialyzer warnings.
+
+
+ OTP-14175 Application(s): stdlib
+ Related Id(s): seq13277
+
+ Pretty-printing of maps is improved.
+
+
+ OTP-14189 Application(s): stdlib
+ Related Id(s): ERL-348, ERL-349
+
+ If any of the following functions in the zip module
+ crashed, a file would be left open: extract(), unzip(),
+ create(), or zip(). This has been corrected.
+
+ A zip file having a "Unix header" could not be
+ unpacked.
+
+
+ OTP-14200 Application(s): stdlib
+ Related Id(s): ERL-352
+
+ Improve the Erlang shell's tab-completion of long
+ names.
+
+
+ OTP-14248 Application(s): stdlib
+ Related Id(s): ERL-367
+
+ The reference manual for sys had some faulty
+ information about the 'get_modules' message used by
+ processes where modules change dynamically during
+ runtime. The documentation is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14114 Application(s): stdlib
+
+ Bug fixes, new features and improvements to gen_statem:
+
+ A new type init_result/1 has replaced the old
+ init_result/0, so if you used that old type (that was
+ never documented) you have to change your code, which
+ may be regarded as a potential incompatibility.
+
+ Changing callback modes after code change did not work
+ since the new callback mode was not recorded. This bug
+ has been fixed.
+
+ The event types state_timeout and {call,From} could not
+ be generated with a {next_event,EventType,EventContent}
+ action since they did not pass the runtime type check.
+ This bug has now been corrected.
+
+ State entry calls can now be repeated using (new) state
+ callback returns {repeat_state,...},
+ {repeat_state_and_data,_} and repeat_state_and_data.
+
+ There have been lots of code cleanup in particular
+ regarding timer handling. For example is async
+ cancel_timer now used. Error handling has also been
+ cleaned up.
+
+ To align with probable future changes to the rest of
+ gen_*, terminate/3 has now got a fallback and
+ code_change/4 is not mandatory.
+
+
+ OTP-14215 Application(s): stdlib
+
+ filename:safe_relative_path/1 to sanitize a relative
+ path has been added.
+
+
+ Full runtime dependencies of stdlib-3.3: compiler-5.0, crypto-3.3,
+ erts-8.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.9.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The tools-2.9.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-3.1 (first satisfied in OTP 19.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-14217 Application(s): tools
+ Related Id(s): PR-1282
+
+ Improved edoc support in emacs mode.
+
+
+ Full runtime dependencies of tools-2.9.1: compiler-5.0, erts-7.0,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- typer-0.9.12 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The typer-0.9.12 application can *not* be applied independently
+ of other applications on an arbitrary OTP 19 installation.
+
+ On a full OTP 19 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- dialyzer-3.1 (first satisfied in OTP 19.3)
+ -- hipe-3.15.4 (first satisfied in OTP 19.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14130 Application(s): dialyzer, hipe, typer
+
+ Fix a bug concerning parameterized opaque types.
+
+
+ Full runtime dependencies of typer-0.9.12: compiler-7.0,
+ dialyzer-3.1, erts-8.0, hipe-3.15.4, kernel-5.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.13 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.13 application can be applied independently of other
+ applications on a full OTP 19 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14139 Application(s): xmerl
+
+ The namespace_conformant option in xmerl_scan did not
+ work when parsing documents without explicit XML
+ namespace declaration.
+
+
+ OTP-14211 Application(s): xmerl
+
+ Fix a "well-formedness" bug in the XML Sax parser so it
+ returns an error if there are something more in the
+ file after the matching document. If one using the
+ xmerl_sax_parser:stream() a rest is allowed which then
+ can be sent to a new call of xmerl_sax_parser:stream()
+ to parse next document.
+
+ This is done to be compliant with XML conformance
+ tests.
+
+
+ OTP-14212 Application(s): xmerl
+
+ Fixed compiler and dialyzer warnings in the XML SAX
+ parser.
+
+
+ OTP-14213 Application(s): xmerl
+
+ Change how to interpret end of document in the XML SAX
+ parser to comply with Tim Brays comment on the
+ standard. This makes it possible to handle more than
+ one doc on a stream, the standard makes it impossible
+ to know when the document is ended without waiting for
+ the next document (and not always even that).
+
+ Tim Brays comment:
+
+ Trailing "Misc"
+ The fact that you're allowed some trailing junk after
+ the root element, I decided (but unfortunately too
+ late) is a real design error in XML. If I'm writing a
+ network client, I'm probably going to close the link as
+ soon as a I see the root element end-tag, and not
+ depend on the other end closing it down properly.
+ Furthermore, if I want to send a succession of XML
+ documents over a network link, if I find a processing
+ instruction after a root element, is it a trailer on
+ the previous document, or part of the prolog of the
+ next?
+
+
+ Full runtime dependencies of xmerl-1.3.13: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Amir Ghassemi Nasr, Björn Gustavsson, Dave Jeffrey, Håkan Mattsson,
+ Jing Peng, Karolis Petrauskas, Kim Shrier, Kostis Sagonas, Leo Liu,
+ Magnus Henoch, Malcolm, Nico, Philip Cristiano, Péter Gömöri, Satyen
+ Chimulkar, Shaun Mangelsdorf, Steven Danna, pulitta, visciang
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.0-rc1.README.txt b/release-notes/OTP-20.0-rc1.README.txt
new file mode 100644
index 0000000..0151334
--- /dev/null
+++ b/release-notes/OTP-20.0-rc1.README.txt
@@ -0,0 +1,2392 @@
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-13820 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13900 Application(s): crypto
+
+ The crypto application now supports OpenSSL 1.1.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+
+ OTP-14152 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics(scheduler_wall_time) now also
+ includes information about dirty CPU schedulers. Code
+ using erlang:statistics(scheduler_wall_time) may have
+ to be rewritten to take this incompatibility into
+ consideration.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14183 Application(s): stdlib
+
+ Replace gen_fsm with gen_statem
+
+
+ OTP-14205 Application(s): erts
+
+ All uses of the magic binary kludge has been replaced
+ by uses of erlang references.
+
+ A magic binary was presented as an empty binary, but
+ actually referred other data internally in the Erlang
+ VM. Since they were presented as empty binaries,
+ different magic binaries compared as equal, and also
+ lost their internal data when passed out of an erlang
+ node.
+
+ The new usage of references has not got any of these
+ strange semantic issues, and the usage of these
+ references has been optimized to give the same
+ performance benefits as well as memory usage benefits
+ as magic binaries had.
+
+ A couple of examples of previous uses of magic binaries
+ are match specifications and NIF resources.
+
+
+ OTP-14219 Application(s): asn1
+
+ The new 'maps' option changes the representation of the
+ types SEQUENCE and SET to be maps (instead of records).
+
+
+ OTP-14226 Application(s): stdlib
+
+ erl_tar in previous versions of OTP only supports the
+ USTAR format. That limited path names to at most 255
+ bytes, and did not support Unicode characters in names
+ in a portable way.
+
+ erl_tar now has support for reading tar archives in the
+ formats currently in common use, such as v7, STAR,
+ USTAR, PAX, and GNU tar's extensions to the STAR/USTAR
+ format. When writing tar archives, erl_tar can now
+ write them in the PAX format if necessary (for example,
+ to support very long filenames or filenames with
+ Unicode characters). If possible, erl_tar will still
+ write tar archives in the USTAR for maximum
+ portability.
+
+
+ OTP-14291 Application(s): ssl
+
+ Extend connection_information/[1,2] . The values
+ session_id, master_secret, client_random and
+ server_random can no be accessed by
+ connection_information/2. Note only session_id will be
+ added to connection_information/1. The rational is that
+ values concerning the connection security should have
+ to be explicitly requested.
+
+
+ OTP-14319 Application(s): stdlib
+ Related Id(s): PR-1076
+
+ Add new function ets:select_replace/2 which performs
+ atomic "compare-and-swap" operations for ETS objects
+ using match specifications.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14388 Application(s): ssl
+
+ Basic support for DTLS that been tested together with
+ OpenSSL.
+
+ Test by providing the option {protocol, dtls} to the
+ ssl API functions connect and listen.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** HIGHLIGHT ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-12872 Application(s): ssh
+
+ The internal handling of SSH options is re-written.
+
+ Previously there were no checks if a client option was
+ given to a daemon or vice versa. This is corrected now.
+ If your code has e.g. a client-only option in a call to
+ start a daemon, the call will fail.
+
+
+ OTP-13703 Application(s): otp
+
+ The 'gs' application has been removed.
+
+
+ OTP-13820 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13827 Application(s): erts
+
+ Remove deprecated erlang:hash/2.
+
+
+ OTP-13844 Application(s): erts
+ Related Id(s): OTP-13833
+
+ The previously used purge strategy has been removed.
+ The optional purge strategy introduced in ERTS version
+ 8.1 is now the only strategy available.
+
+ The new purge strategy is slightly incompatible with
+ the old strategy. Previously processes holding funs
+ that referred to the module being purged either failed
+ a soft purge, or was killed during a hard purge. The
+ new strategy completely ignores funs. If funs referring
+ to the code being purged exist, and are used after a
+ purge, an exception will be raised upon usage. That is,
+ the behavior will be exactly the same as the case when
+ a fun is received by a process after the purge.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13873 Application(s): crypto
+
+ Removed functions deprecated in crypto-3.0 first
+ released in OTP-R16B01
+
+
+ OTP-13908 Application(s): erts
+
+ The NIF library reload feature is not supported
+ anymore. It has been marked as deprecated since OTP
+ R15B. This means that you are only allowed to do one
+ successful call to erlang:load_nif/2 for each module
+ instance. A second call to erlang:load_nif/2 will
+ return {error, {reload, _}} even if the NIF library
+ imlements the reload callback.
+
+ Runtime upgrade of a NIF library is still supported by
+ using the Erlang module upgrade mechanics with a
+ current and an old module instance existing at the same
+ time with their corresponding NIF libraries.
+
+
+ OTP-14039 Application(s): mnesia
+
+ Removed the wrapping of select continuations in
+ extension plugin handling. This might require the user
+ to rewrite user backend plugin if used.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+
+ OTP-14110 Application(s): ssh
+
+ Modernization of diffie-hellman algorithms. Removed an
+ outdated weak algorithm and added stronger replacements
+ to keep interoperability with other ssh clients and
+ servers. The default ordering is also adjusted.
+
+ Retired: key-exchange diffie-hellman-group1-sha1. It is
+ not enabled by default, but can be enabled with the
+ option preferred-algorithms.
+
+ Added: key-exchange diffie-hellman-group16-sha512,
+ diffie-hellman-group18-sha512 and
+ diffie-hellman-group14-sha256.
+
+
+ OTP-14146 Application(s): asn1
+
+ The deprecated module asn1rt has been removed. The
+ deprecated functions asn1ct:encode/3 and
+ asn1ct:decode/3 have been removed. The undocumented
+ function asn1ct:encode/2 has been removed.
+
+
+ OTP-14152 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics(scheduler_wall_time) now also
+ includes information about dirty CPU schedulers. Code
+ using erlang:statistics(scheduler_wall_time) may have
+ to be rewritten to take this incompatibility into
+ consideration.
+
+
+ OTP-14171 Application(s): crypto
+
+ Raised minimum requeriment for OpenSSL version to
+ OpenSSL-9.0.8.c although we recommend a much higher
+ version, that is a version that is still maintained
+ officially by the OpenSSL project. Note that using such
+ an old version may restrict the crypto algorithms
+ supported.
+
+
+ OTP-14263 Application(s): ssh
+
+ Removed the option public_key_alg which was deprecated
+ in 18.2. Use pref_public_key_algs instead.
+
+
+ OTP-14264 Application(s): ssh
+
+ The ssh application is refactored regarding daemon
+ starting. The resolution of contradicting Host argument
+ and ip option were not described. There were also
+ strange corner cases when the 'any' value was used in
+ Host argument or ip option. This is (hopefully)
+ resolved now, but it may cause incompatibilities for
+ code using both Host and the ip option. The value
+ 'loopback' has been added for a correct way of naming
+ those addresses.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preperations for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14531 Application(s): stdlib
+
+ The state machine engine gen_statem can now handle
+ generic time-outs (multiple named) as well as absolute
+ time-out time. See the documentation.
+
+ The gen_statem callback Module:init/1 has become
+ mandatory to harmonize with other gen_* modules. This
+ may be an incompatibility for gen_statem callback
+ modules that use gen_statem:enter_loop/4-6.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13961 Application(s): asn1
+
+ The error tuple returned from the encode and decode
+ functions will now include the stack backtrace to make
+ it easier to understand what went wrong.
+
+
+ OTP-14146 Application(s): asn1
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated module asn1rt has been removed. The
+ deprecated functions asn1ct:encode/3 and
+ asn1ct:decode/3 have been removed. The undocumented
+ function asn1ct:encode/2 has been removed.
+
+
+ OTP-14219 Application(s): asn1
+
+ *** HIGHLIGHT ***
+
+ The new 'maps' option changes the representation of the
+ types SEQUENCE and SET to be maps (instead of records).
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14332 Application(s): common_test
+ Related Id(s): seq13299
+
+ Errors in the documentation for user HTML stylesheets
+ have been corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13806 Application(s): common_test
+
+ The ct_slave modules now handle nodenames in the same
+ way as nodenames passed to -sname. That means
+ ct_slave:start('[email protected]'). will now work.
+
+
+ OTP-14179 Application(s): common_test
+
+ Added the new option, keep_logs. If setting the value
+ for this option to an integer, N, common_test will
+ remove all ct_run.* directories in the current log
+ directory, except the N newest.
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13690 Application(s): compiler, stdlib
+
+ For many releases, it has been legal to override a BIF
+ with a local function having the same name. However,
+ calling a local function with the same name as guard
+ BIF as filter in a list comprehension was not allowed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12148 Application(s): compiler, erts
+
+ Optimized test for tuples with an atom as first
+ element.
+
+
+ OTP-13794 Application(s): compiler
+
+ Compilation of modules with huge literal binary strings
+ is now much faster.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13856 Application(s): compiler
+
+ The undocumented and unsupported module sys_pre_expand
+ has been removed. As a partical replacement for the
+ functionality, there is a new function
+ erl_internal:add_predefined_functions/1 and
+ erl_expand_records will now add a module prefix to
+ calls to BIFs and imported functions.
+
+
+ OTP-13924 Application(s): compiler
+
+ The internal compiler passes now start all generated
+ variables with "@" to avoid any conflicts with
+ variables in languages such as Elixir or LFE.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14042 Application(s): compiler
+
+ Code generation for complicated guards have been
+ improved.
+
+
+ OTP-14058 Application(s): compiler
+
+ The compiler has new warnings for repeated identical
+ map keys.
+
+ A map expression such as,
+
+ #{'a' => 1, 'b' => 2, 'a' => 3}.
+
+ will produce a warning for the repeated key 'a'.
+
+
+ OTP-14071 Application(s): compiler, stdlib
+
+ By default, there will now be a warning when export_all
+ is used. The warning can be disabled using
+ nowarn_export_all.
+
+
+ OTP-14072 Application(s): compiler
+
+ Optimize maps pattern matching by only examining the
+ common keys in each clause first instead of all keys.
+ This will reduce the number of lookups of each key in
+ maps pattern matching.
+
+
+ OTP-14087 Application(s): compiler
+
+ There is a new 'deterministc' option to omit 'source'
+ and 'options' tuples in the BEAM file.
+
+
+ OTP-14125 Application(s): compiler, dialyzer
+ Related Id(s): ERL-308
+
+ Analyzing modules with binary construction with huge
+ strings is now much faster. The compiler also compiles
+ such modules slightly faster.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14221 Application(s): compiler
+
+ compile:file/2 now accepts the option extra_chunks to
+ include extra chunks in the BEAM file.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ ---------------------------------------------------------------------
+ --- cosProperty-1.2.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14006 Application(s): cosProperty, orber
+
+ Fix dialyzer warnings in Orber and CosProperty.
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14247 Application(s): crypto
+
+ LibreSSL can now be used by the modernized crypto app.
+
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13779 Application(s): crypto
+ Related Id(s): ERL-82, PR-1138
+
+ Add basic support for CMAC
+
+
+ OTP-13873 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed functions deprecated in crypto-3.0 first
+ released in OTP-R16B01
+
+
+ OTP-13900 Application(s): crypto
+
+ *** HIGHLIGHT ***
+
+ The crypto application now supports OpenSSL 1.1.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ *** HIGHLIGHT ***
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14092 Application(s): crypto
+ Related Id(s): PR-1291
+
+ Crypto chacha20-poly1305 as in RFC 7539 enabled for
+ OpenSSL >= 1.1.
+
+ Thanks to mururu.
+
+
+ OTP-14140 Application(s): crypto
+ Related Id(s): ERL-165, PR-1299
+
+ RSA key generation added to crypto:generate_key/2.
+ Thanks to wiml.
+
+ An interface is also added to
+ public_key:generate_key/1.
+
+
+ OTP-14171 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Raised minimum requeriment for OpenSSL version to
+ OpenSSL-9.0.8.c although we recommend a much higher
+ version, that is a version that is still maintained
+ officially by the OpenSSL project. Note that using such
+ an old version may restrict the crypto algorithms
+ supported.
+
+
+ OTP-14274 Application(s): crypto
+
+ Deprecate crypto:rand_uniform/2 as it is not
+ cryptographically strong
+
+
+ OTP-14317 Application(s): crypto, stdlib
+ Related Id(s): PR-1372
+
+ The Crypto application now supports generation of
+ cryptographically strong random numbers (floats < 1.0
+ and integer arbitrary ranges) as a plugin to the 'rand'
+ module.
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14296 Application(s): debugger, stdlib
+
+ The Erlang shell, qlc:string_to_handle(), and the
+ Debugger (the Evaluator area and Edit variable window
+ of the Bindings area) can parse pids, ports,
+ references, and external funs, as long as they can be
+ created in the running system.
+
+
+ OTP-14318 Application(s): debugger
+
+ Fix editing of simple binary values in the Bindings
+ area of the Debugger's Attach Process Window.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14125 Application(s): compiler, dialyzer
+ Related Id(s): ERL-308
+
+ Analyzing modules with binary construction with huge
+ strings is now much faster. The compiler also compiles
+ such modules slightly faster.
+
+
+ OTP-14127 Application(s): dialyzer
+
+ The peak memory consumption is reduced.
+
+
+ OTP-14336 Application(s): dialyzer, otp
+
+ TypEr has been removed as separate application and is
+ now a part of the Dialyzer application. Documentation
+ for TypEr has been added in the Dialyzer application.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ ---------------------------------------------------------------------
+ --- diameter-1.12.3 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14387 Application(s): diameter, inets, megaco
+
+ Typos have been fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14389 Application(s): diameter
+
+ The usage of module erl_anno is corrected.
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14277 Application(s): edoc
+
+ To support stable builds, edoc no longer includes time
+ stamps in the footer for generated files.
+
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14333 Application(s): erl_docgen
+ Related Id(s): ERL-393
+
+ Sort index of C functions alphabetically in the
+ sidebar.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14371 Application(s): erl_docgen
+ Related Id(s): PR-1215
+
+ Improvements in the OTP documentation style.
+
+ (Thanks to Mariano Guerra)
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14310 Application(s): erl_interface, kernel
+
+ Fix bug where gethostname would incorrectly fail with
+ enametoolong on Linux.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format. The old latin1 format can still be decoded but
+ is never generated by term_to_binary or sent on a
+ distribution channel. The new utf8 format for atoms was
+ introduced in OTP R16. An OTP 20 node can therefore not
+ connect to nodes older than R16.
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13968 Application(s): erts
+
+ Fix various bugs regarding loading, upgrade and purge
+ of HiPE compiled code:
+
+ -- The native code memory for a purged module was never
+ deallocated.
+
+ -- Wrong functions could in some cases be called after
+ a module upgrade.
+
+ -- erlang:check_process_code did not check for
+ recursive calls made from native code.
+
+
+ OTP-14238 Application(s): erts, hipe
+
+ Hipe optional LLVM backend does require LLVM version
+ 3.9 or later as older versions forced strong
+ dependencies on erts internals structures.
+
+
+ OTP-14303 Application(s): erts
+
+ Slogans in crash dumps have been extended to print more
+ complex terms.
+
+
+ OTP-14304 Application(s): erts
+
+ Fixed bug when using enif_inspect_binary in combination
+ with enif_copy. In some circumstances the inspected
+ binary could be realloced by the enif_copy call when it
+ shouldn't have been.
+
+
+ OTP-14307 Application(s): erts
+ Related Id(s): PR-1379
+
+ Use -fno-PIE for Gentoo Hardened and others that don't
+ accept linker flag -no-pie.
+
+
+ OTP-14314 Application(s): erts
+ Related Id(s): ERL-369, PR-1394
+
+ Disable hipe for ppc64le architecture (little endian)
+ as it is not, and has never been, supported. It was
+ earlier equated with ppc64 (big endian) which lead to
+ broken build without --disable-hipe.
+
+
+ OTP-14324 Application(s): erts
+
+ Fix 'epmd -kill' to return a failure exit status code
+ if epmd was not killed because of some error.
+
+
+ OTP-14335 Application(s): erts
+
+ Fixed the following dirty scheduler related bugs:
+
+ -- the +SDPcpu command line argument could cause the
+ amount of dirty CPU schedulers to be set to zero
+
+ -- erlang:system_flag(multi_scheduling, _) failed when
+ only one normal scheduler was used together with dirty
+ scheduler support
+
+
+ OTP-14352 Application(s): erts
+
+ Fix erlexec to handle mismatch in sysconf and proc fs
+ when figuring out the cpu topology. This behaviour has
+ been seen when using docker together with
+ --cpuset-cpus.
+
+
+ OTP-14360 Application(s): erts
+ Related Id(s): ERL-401, PR-1417
+
+ Fixed memory segment cache used for multiblock
+ carriers. Huge (> 2GB) memory segments could cause a VM
+ crash. Creation of such huge memory segments used for
+ multiblock carriers is however very uncommon.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11695 Application(s): erts
+
+ Added erlang:garbage_collect/2 that takes an option
+ list as the last argument that can be used to control
+ whether a minor or a major garbage collection is to be
+ done. Doing a minor collection only collects terms that
+ have recently died, but is cheaper than a mjor
+ collection.
+
+
+ OTP-12148 Application(s): compiler, erts
+
+ Optimized test for tuples with an atom as first
+ element.
+
+
+ OTP-13529 Application(s): erts
+
+ Erlang literals are no longer copied during process to
+ process messaging.
+
+
+ OTP-13684 Application(s): erts
+
+ Add support in the erl_nif API for asynchronous message
+ notifications when sockets or other file descriptors
+ are ready to accept read or write operations. The
+ following functions have been added:
+
+ -- enif_select
+
+ -- enif_monitor_process
+
+ -- enif_demonitor_process
+
+ -- enif_compare_monitors
+
+ -- enif_open_resource_type_x
+
+
+ OTP-13692 Application(s): erts, stdlib
+
+ There are two new guard BIFs 'floor/1' and 'ceil/1'.
+ They both return integers. In the 'math' module, there
+ are two new BIFs with the same names that return
+ floating point values.
+
+
+ OTP-13827 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove deprecated erlang:hash/2.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13842 Application(s): erts
+
+ Added support in zlib for extraction of the inflation
+ dictionary.
+
+
+ OTP-13844 Application(s): erts
+ Related Id(s): OTP-13833
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The previously used purge strategy has been removed.
+ The optional purge strategy introduced in ERTS version
+ 8.1 is now the only strategy available.
+
+ The new purge strategy is slightly incompatible with
+ the old strategy. Previously processes holding funs
+ that referred to the module being purged either failed
+ a soft purge, or was killed during a hard purge. The
+ new strategy completely ignores funs. If funs referring
+ to the code being purged exist, and are used after a
+ purge, an exception will be raised upon usage. That is,
+ the behavior will be exactly the same as the case when
+ a fun is received by a process after the purge.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13860 Application(s): erts
+
+ Dirty schedulers are now enabled by default when the
+ runtime system is built with SMP support.
+
+
+ OTP-13903 Application(s): erts
+
+ Improved ETS lookup/insert/delete speed for large set,
+ bag and duplicate_bag by a significant reduction of the
+ hash load factor. This speed improvement comes at the
+ expense of less than one word per table entry. Tables
+ with less than 256 entries are not affected at all.
+
+
+ OTP-13908 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The NIF library reload feature is not supported
+ anymore. It has been marked as deprecated since OTP
+ R15B. This means that you are only allowed to do one
+ successful call to erlang:load_nif/2 for each module
+ instance. A second call to erlang:load_nif/2 will
+ return {error, {reload, _}} even if the NIF library
+ imlements the reload callback.
+
+ Runtime upgrade of a NIF library is still supported by
+ using the Erlang module upgrade mechanics with a
+ current and an old module instance existing at the same
+ time with their corresponding NIF libraries.
+
+
+ OTP-13976 Application(s): erts
+
+ Add erlang:system_info(atom_count) and
+ erlang:system_info(atom_limit) to provide a way to
+ retrieve the current and maximum number of atoms.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14002 Application(s): erts
+
+ erlang:load_nif/2 returns new error type notsup when
+ called for a HiPE compiled module, which is not
+ supported.
+
+
+ OTP-14069 Application(s): erts
+
+ Add driver and nif lock instrumentation to lcnt
+
+
+ OTP-14149 Application(s): erts
+
+ Reduce memory pressure by converting sub-binaries to
+ heap-binaries when possible. This is done during
+ garbage collection.
+
+
+ OTP-14152 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics(scheduler_wall_time) now also
+ includes information about dirty CPU schedulers. Code
+ using erlang:statistics(scheduler_wall_time) may have
+ to be rewritten to take this incompatibility into
+ consideration.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14186 Application(s): erts, kernel
+
+ Introduce an event manager in Erlang to handle OS
+ signals. A subset of OS signals may be subscribed to
+ and those are described in the Kernel application.
+
+
+ OTP-14201 Application(s): erts
+ Related Id(s): PR-1293
+
+ The escript program now handles symbolic links to
+ escripts.
+
+ This is useful for standalone systems with escripts
+ residing on a bin directory not included in the
+ execution path (as it may cause their erl program(s) to
+ override the desired one). Instead the escripts can be
+ referred to via symbolic links from a bin directory in
+ the path.
+
+
+ OTP-14205 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ All uses of the magic binary kludge has been replaced
+ by uses of erlang references.
+
+ A magic binary was presented as an empty binary, but
+ actually referred other data internally in the Erlang
+ VM. Since they were presented as empty binaries,
+ different magic binaries compared as equal, and also
+ lost their internal data when passed out of an erlang
+ node.
+
+ The new usage of references has not got any of these
+ strange semantic issues, and the usage of these
+ references has been optimized to give the same
+ performance benefits as well as memory usage benefits
+ as magic binaries had.
+
+ A couple of examples of previous uses of magic binaries
+ are match specifications and NIF resources.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preperations for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14330 Application(s): erts, hipe
+ Related Id(s): PR-1397
+
+ Allow HiPE to run on VM built with --enable-m32-build.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format. The old latin1 format can still be decoded but
+ is never generated by term_to_binary or sent on a
+ distribution channel. The new utf8 format for atoms was
+ introduced in OTP R16. An OTP 20 node can therefore not
+ connect to nodes older than R16.
+
+
+ OTP-14347 Application(s): erts, stdlib
+ Related Id(s): PR-1412
+
+ Added function re:version/0 which returns information
+ about the OTP internal PCRE version used for
+ implementation of the re module.
+
+
+ OTP-14348 Application(s): erts
+
+ Added new debug bif erlang:list_to_port/1.
+
+
+ OTP-14356 Application(s): erts
+
+ Various improvements of timer management internally in
+ the VM. These improvements both reduced memory
+ consumption of timer wheels as well as reduce the
+ amount of work that has to be performed in order to
+ handle timers.
+
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ OTP-14380 Application(s): erts
+
+ Added the following erl command line arguments with
+ which you can set suggested stack for dirty schedulers:
+
+ -- +sssdcpu -- for dirty CPU schedulers
+
+ -- +sssdio -- for dirty IO schedulers
+
+ The default suggested stack size for dirty schedulers
+ is 40 kilo words.
+
+
+ OTP-14381 Application(s): erts
+
+ Changed erts startup program name, argv 0, to use the
+ environment variable ESCRIPT_NAME so that erlc,
+ dialyzer, typer, ct_run, or the escript name can be
+ seen with external programs, such as ps and htop
+ (depending on options), on unix.
+
+ If environment variable ESCRIPT_NAME is not set, argv 0
+ of the invoking program will be used, e.g. the name
+ will be erl, cerl, or the soft link name.
+
+
+ OTP-14384 Application(s): erts
+ Related Id(s): OTP-14201
+
+ Improvements of escript documentation.
+
+
+ OTP-14385 Application(s): erts
+ Related Id(s): PR-1413
+
+ Add function enif_hash for NIFs to calculate hash
+ values of arbitrary terms.
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14287 Application(s): eunit
+
+ The surefire reports from eunit will no longer have
+ names with embedded double quotes.
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.16 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13862 Application(s): hipe
+ Related Id(s): PR-1154
+
+ Fix hipe compiler flags o0 and o1 that have previously
+ been ignored by mistake.
+
+
+ OTP-13983 Application(s): hipe
+
+ Fix LLVM backend to not convert all remote calls to own
+ module, like ?MODULE:foo(), into local calls.
+
+
+ OTP-14238 Application(s): erts, hipe
+
+ Hipe optional LLVM backend does require LLVM version
+ 3.9 or later as older versions forced strong
+ dependencies on erts internals structures.
+
+
+ OTP-14302 Application(s): hipe
+ Related Id(s): ERL-376, PR-1386
+
+ Fix a bug that has been seen causing failed loading of
+ hipe compiled modules on NetBSD due to unaligned data
+ pointers.
+
+
+ OTP-14306 Application(s): hipe
+ Related Id(s): ERL-278, PR-1392
+
+ Fix miscompilation bug in hipe that could cause wrong
+ function clause to be called from non-tail calls, where
+ the return value is unused, if the right function
+ clause is only reachable from those non-tail calls.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13810 Application(s): hipe
+ Related Id(s): PR-1124
+
+ Improve hipe compilation time for large functions.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13879 Application(s): hipe
+
+ Speed up hipe compile time register allocation for
+ larger function.
+
+
+ OTP-14261 Application(s): hipe
+ Related Id(s): PR-1360
+
+ Various code generation improvements.
+
+
+ OTP-14293 Application(s): hipe
+ Related Id(s): PR-1380
+
+ Improve hipe compiler to generate code with better CPU
+ register utilization at runtime by the use of 'Live
+ Range Splitting' techniques.
+
+
+ OTP-14330 Application(s): erts, hipe
+ Related Id(s): PR-1397
+
+ Allow HiPE to run on VM built with --enable-m32-build.
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.3.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14387 Application(s): diameter, inets, megaco
+
+ Typos have been fixed.
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format. The old latin1 format can still be decoded but
+ is never generated by term_to_binary or sent on a
+ distribution channel. The new utf8 format for atoms was
+ introduced in OTP R16. An OTP 20 node can therefore not
+ connect to nodes older than R16.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14310 Application(s): erl_interface, kernel
+
+ Fix bug where gethostname would incorrectly fail with
+ enametoolong on Linux.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13805 Application(s): kernel
+
+ Since Unicode is now allowed in atoms an extra check is
+ needed for node names, which are restricted to Latin-1.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13909 Application(s): kernel
+
+ file:write_file(Name, Data, [raw]) would turn Data into
+ a single binary before writing. This meant it could not
+ take advantage of the writev() system call if it was
+ given a list of binaries and told to write with raw
+ mode.
+
+
+ OTP-14057 Application(s): kernel
+ Related Id(s): PR-1245
+
+ The performance of the disk_log has been somewhat
+ improved in some corner cases (big items), and the
+ documentation has been clarified.
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14186 Application(s): erts, kernel
+
+ Introduce an event manager in Erlang to handle OS
+ signals. A subset of OS signals may be subscribed to
+ and those are described in the Kernel application.
+
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14387 Application(s): diameter, inets, megaco
+
+ Typos have been fixed.
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14039 Application(s): mnesia
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the wrapping of select continuations in
+ extension plugin handling. This might require the user
+ to rewrite user backend plugin if used.
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14137 Application(s): observer
+
+ Show dirty-scheduler threads in performance monitor
+ graph and add a column with maximum allocated memory in
+ the Memory Allocators table.
+
+
+ OTP-14270 Application(s): observer
+
+ Keep table and port selection after refresh of tables.
+ Store settings before shutdown and restore when
+ starting application.
+
+
+ OTP-14345 Application(s): observer
+ Related Id(s): ERL-399
+
+ When observing a node older than OTP-19.0, a pop-up
+ will be displayed when trying to access port
+ information. Earlier, observer would crash in this
+ situation.
+
+
+ ---------------------------------------------------------------------
+ --- orber-3.8.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14006 Application(s): cosProperty, orber
+
+ Fix dialyzer warnings in Orber and CosProperty.
+
+
+ ---------------------------------------------------------------------
+ --- otp-20.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-13652 Application(s): otp
+
+ The myths in the Efficiency Guide have been updated.
+
+
+ OTP-13703 Application(s): otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The 'gs' application has been removed.
+
+
+ OTP-14163 Application(s): otp
+
+ Application percept is moved to a separate repository,
+ https://github.com/erlang/percept, and therefore
+ removed from the OTP repository.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preperations for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14336 Application(s): dialyzer, otp
+
+ TypEr has been removed as separate application and is
+ now a part of the Dialyzer application. Documentation
+ for TypEr has been added in the Dialyzer application.
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.5 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14276 Application(s): parsetools
+ Related Id(s): PR-1357
+
+ Minor documentation fixes
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.4.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14258 Application(s): public_key
+
+ Bug for public_key:generate_key({namedCurve,OID})
+ fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14111 Application(s): public_key
+
+ Modernized internal representation used for crl
+ validation by use of maps.
+
+
+ OTP-14294 Application(s): public_key
+
+ Support EC key in pkix_sign/2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14029 Application(s): sasl
+
+ Documented default values for the 'mod' and
+ 'start_phases' fields in .app files were not allowed as
+ actual values in a .app file. This is now corrected.
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.5 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-12872 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The internal handling of SSH options is re-written.
+
+ Previously there were no checks if a client option was
+ given to a daemon or vice versa. This is corrected now.
+ If your code has e.g. a client-only option in a call to
+ start a daemon, the call will fail.
+
+
+ OTP-14110 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Modernization of diffie-hellman algorithms. Removed an
+ outdated weak algorithm and added stronger replacements
+ to keep interoperability with other ssh clients and
+ servers. The default ordering is also adjusted.
+
+ Retired: key-exchange diffie-hellman-group1-sha1. It is
+ not enabled by default, but can be enabled with the
+ option preferred-algorithms.
+
+ Added: key-exchange diffie-hellman-group16-sha512,
+ diffie-hellman-group18-sha512 and
+ diffie-hellman-group14-sha256.
+
+
+ OTP-14117 Application(s): ssh
+
+ Modernized internal representation of sftp by use of
+ maps.
+
+
+ OTP-14193 Application(s): ssh
+
+ The draft-ietf-curdle-ssh-ext-info-05 and
+ draft-ietf-curdle-rsa-sha2-05 are (partially)
+ implemented.
+
+ The extension server-sig-algs and the signature
+ algorithms rsa-sha2-256 and rsa-sha2-512 are
+ implemented. The rsa-sha2-* are not enabled by default
+ yet since they has a bug. Use option
+ preferred_algorithms with key public key to try them.
+
+
+ OTP-14243 Application(s): ssh
+
+ Ssh:connect, ssh:shell and ssh:start_channel now accept
+ an IP-tuple as Host destination argument.
+
+
+ OTP-14259 Application(s): ssh
+
+ The function ssh:daemon_info/1 now returns Host and
+ Profile as well as the Port info.
+
+
+ OTP-14263 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the option public_key_alg which was deprecated
+ in 18.2. Use pref_public_key_algs instead.
+
+
+ OTP-14264 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The ssh application is refactored regarding daemon
+ starting. The resolution of contradicting Host argument
+ and ip option were not described. There were also
+ strange corner cases when the 'any' value was used in
+ Host argument or ip option. This is (hopefully)
+ resolved now, but it may cause incompatibilities for
+ code using both Host and the ip option. The value
+ 'loopback' has been added for a correct way of naming
+ those addresses.
+
+
+ OTP-14267 Application(s): ssh
+ Related Id(s): OTP-14266
+
+ The supervisor code is refactored. The naming of
+ listening IP-Port-Profile tripples are slightly changed
+ to improve consistency in strange corner cases as
+ resolved by OTP-14264
+
+
+ OTP-14312 Application(s): ssh
+
+ The idle_time option can now be used in daemons.
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-13820 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ *** HIGHLIGHT ***
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14076 Application(s): ssl
+
+ Implemented DTLS cookie generation, requiered by spec,
+ instead of using hardcode value.
+
+
+ OTP-14291 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Extend connection_information/[1,2] . The values
+ session_id, master_secret, client_random and
+ server_random can no be accessed by
+ connection_information/2. Note only session_id will be
+ added to connection_information/1. The rational is that
+ values concerning the connection security should have
+ to be explicitly requested.
+
+
+ OTP-14382 Application(s): ssl
+
+ Chacha cipher suites are currently not tested enough to
+ be most prefered ones
+
+
+ OTP-14388 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Basic support for DTLS that been tested together with
+ OpenSSL.
+
+ Test by providing the option {protocol, dtls} to the
+ ssl API functions connect and listen.
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13690 Application(s): compiler, stdlib
+
+ For many releases, it has been legal to override a BIF
+ with a local function having the same name. However,
+ calling a local function with the same name as guard
+ BIF as filter in a list comprehension was not allowed.
+
+
+ OTP-14295 Application(s): stdlib
+ Related Id(s): PR-1372
+
+ A new (default) pseudo-random number generator
+ algorithm Xoroshiro116+ has been implemented in the
+ rand module.
+
+ The old algorithm implementations had a number of flaws
+ so they are all deprecated, but corrected versions of
+ two of them have been added. See the documentation.
+
+
+ OTP-14296 Application(s): debugger, stdlib
+
+ The Erlang shell, qlc:string_to_handle(), and the
+ Debugger (the Evaluator area and Edit variable window
+ of the Bindings area) can parse pids, ports,
+ references, and external funs, as long as they can be
+ created in the running system.
+
+
+ OTP-14531 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The state machine engine gen_statem can now handle
+ generic time-outs (multiple named) as well as absolute
+ time-out time. See the documentation.
+
+ The gen_statem callback Module:init/1 has become
+ mandatory to harmonize with other gen_* modules. This
+ may be an incompatibility for gen_statem callback
+ modules that use gen_statem:enter_loop/4-6.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-13692 Application(s): erts, stdlib
+
+ There are two new guard BIFs 'floor/1' and 'ceil/1'.
+ They both return integers. In the 'math' module, there
+ are two new BIFs with the same names that return
+ floating point values.
+
+
+ OTP-13801 Application(s): stdlib
+
+ Making code_change, terminate and handle_info callbacks
+ optional in the OTP behaviours.
+
+
+ OTP-13830 Application(s): stdlib
+
+ The support for Dets files created with Erlang/OTP R7
+ and earlier is removed.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14001 Application(s): stdlib
+
+ The EXIT signals received from processes using proc_lib
+ now looks like EXIT signals from processes that were
+ spawned using spawn_link. In particular, that means
+ that the stack trace is now included in the EXIT signal
+ so that it can see where the process crashed.
+
+
+ OTP-14035 Application(s): stdlib
+
+ sets:add_element/2 is faster when adding an element
+ that is already present, and sets:del_element/2 is
+ faster when the element to be deleted is not present.
+ This optimization can make certain operations, such as
+ sets:union/2 with many overlapping elements, up to two
+ orders of magnitude faster.
+
+
+ OTP-14037 Application(s): stdlib
+ Related Id(s): PR-1233
+
+ Add information in doc about supervisor shutdown reason
+ when maximum restart frequency is reached.
+
+
+ OTP-14038 Application(s): stdlib
+ Related Id(s): PR-1235
+
+ Added rand:jump/[0|1] functions.
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14066 Application(s): stdlib
+
+ Each assert macro in assert.hrl now has a corresponding
+ version with an extra argument, for adding comments to
+ assertions. These can for example be printed as part of
+ error reports, to clarify the meaning of the check that
+ failed.
+
+
+ OTP-14068 Application(s): stdlib
+
+ error_logger_tty_h and error_logger_file_h now inserts
+ the node information for nonlocal messages before the
+ message itself instead of after, both for readability
+ and so as not to change the line termination property
+ at the end of the message.
+
+
+ OTP-14070 Application(s): stdlib
+ Related Id(s): PR-1214
+
+ The Erlang code linter checks for badly formed type
+ constraints.
+
+
+ OTP-14071 Application(s): compiler, stdlib
+
+ By default, there will now be a warning when export_all
+ is used. The warning can be disabled using
+ nowarn_export_all.
+
+
+ OTP-14089 Application(s): stdlib
+
+ When a gen_server process crashes, the stacktrace for
+ the client will be printed to facilitate debugging.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+
+ OTP-14102 Application(s): stdlib
+
+ take/2 has been added to dict, orddict, and gb_trees.
+ take_any/2 has been added to gb_trees.
+
+
+ OTP-14123 Application(s): stdlib
+
+ Extend gen_event API to handle options as well.
+
+
+ OTP-14168 Application(s): stdlib
+ Related Id(s): PR-1289
+
+ Advice on how to tune the supervisor restart frequency
+ (intensity and period) is added to System Documentation
+ - Design Principles - Supervisor Behaviour.
+
+
+ OTP-14183 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ Replace gen_fsm with gen_statem
+
+
+ OTP-14190 Application(s): stdlib
+
+ The shell functions c/1 and c/2 have been extended so
+ that if the argument is a module name instead of a file
+ name, it automatically locates the .beam file and the
+ corresponding source file, and then recompiles the
+ module using the same compiler options (plus any
+ options passed to c/2). If compilation fails, the old
+ beam file is preserved. Also adds c(Mod, Opts, Filter),
+ where the Filter argument allows you to remove old
+ compiler options before the new options are added.
+
+ New utility functions file_find/2/3 and
+ find_source/1/2/3 have been added to filelib.
+
+
+ OTP-14226 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ erl_tar in previous versions of OTP only supports the
+ USTAR format. That limited path names to at most 255
+ bytes, and did not support Unicode characters in names
+ in a portable way.
+
+ erl_tar now has support for reading tar archives in the
+ formats currently in common use, such as v7, STAR,
+ USTAR, PAX, and GNU tar's extensions to the STAR/USTAR
+ format. When writing tar archives, erl_tar can now
+ write them in the PAX format if necessary (for example,
+ to support very long filenames or filenames with
+ Unicode characters). If possible, erl_tar will still
+ write tar archives in the USTAR for maximum
+ portability.
+
+
+ OTP-14245 Application(s): stdlib
+
+ base64:mime_decode/1 has been optimized so that it is
+ now almost as fast asbase64:decode/1; it used be
+ noticably slower.
+
+
+ OTP-14278 Application(s): stdlib
+
+ erl_tar will now strip any leading '/' from pathnames
+ when extracting files from a tar archive and write a
+ message to the error logger. There is also new check
+ for directory traversal attacks; if a relative path
+ points above the current working directory the
+ extraction will be aborted.
+
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ OTP-14317 Application(s): crypto, stdlib
+ Related Id(s): PR-1372
+
+ The Crypto application now supports generation of
+ cryptographically strong random numbers (floats < 1.0
+ and integer arbitrary ranges) as a plugin to the 'rand'
+ module.
+
+
+ OTP-14319 Application(s): stdlib
+ Related Id(s): PR-1076
+
+ *** HIGHLIGHT ***
+
+ Add new function ets:select_replace/2 which performs
+ atomic "compare-and-swap" operations for ETS objects
+ using match specifications.
+
+
+ OTP-14323 Application(s): stdlib
+
+ The Erlang code linter checks for bad dialyzer
+ attributes.
+
+
+ OTP-14328 Application(s): stdlib
+ Related Id(s): PR-1382
+
+ Two new functions has been implemented in the rand
+ module; normal/2 and normal_s/3, that both produce
+ normal distribution (pseudo) random numbers with mean
+ value and variance according to arguments.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14347 Application(s): erts, stdlib
+ Related Id(s): PR-1412
+
+ Added function re:version/0 which returns information
+ about the OTP internal PCRE version used for
+ implementation of the re module.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.10 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14339 Application(s): tools
+ Related Id(s): ERL-395
+
+ In some situations, make:all() and friends did not
+ detect changes in include files located in the current
+ directory. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14253 Application(s): tools
+
+ The make module now accepts the {emake,Emake} option.
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14289 Application(s): wx
+
+ Fix a livelock that could be caused by wx:batch/1.
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.14 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14377 Application(s): xmerl
+ Related Id(s): PR-1369
+
+ Improves accumulator fun in xmerl_scan so that only one
+ #xmlText record is returned for strings which have
+ character references.
+
+ (Thanks to Jimmy Zöger)
+
+
diff --git a/release-notes/OTP-20.0-rc2.README.txt b/release-notes/OTP-20.0-rc2.README.txt
new file mode 100644
index 0000000..a69556e
--- /dev/null
+++ b/release-notes/OTP-20.0-rc2.README.txt
@@ -0,0 +1,2799 @@
+---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-13820 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13900 Application(s): crypto
+
+ The crypto application now supports OpenSSL 1.1.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+
+ OTP-14152 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics/1 with arguments inspecting scheduler
+ and run queue states have been changed due to the dirty
+ scheduler support. Code using this functionality may
+ have to be rewritten taking these incompatibilities
+ into consideration. Examples of such uses are calls to
+ erlang:statistics(scheduler_wall_time),
+ statistics(total_run_queue_lengths),
+ statistics(total_active_tasks), etc.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14183 Application(s): stdlib
+
+ gen_fsm is deprecated and is replaced by gen_statem,
+ however for backwards compatibility reasons gen_fsm may
+ continue to exist as an undocumented feature for quite
+ some time.
+
+
+ OTP-14197 Application(s): ssl
+
+ TLS client processes will by default call
+ public_key:pkix_verify_hostname/2 to verify the
+ hostname of the connection with the server certifcates
+ specified hostname during certificate path validation.
+ The user may explicitly disables it. Also if the
+ hostname can not be derived from the first argument to
+ connnect or is not supplied by the server name
+ indication option, the check will not be performed.
+
+
+ OTP-14205 Application(s): erts
+
+ All uses of the magic binary kludge has been replaced
+ by uses of erlang references.
+
+ A magic binary was presented as an empty binary, but
+ actually referred other data internally in the Erlang
+ VM. Since they were presented as empty binaries,
+ different magic binaries compared as equal, and also
+ lost their internal data when passed out of an erlang
+ node.
+
+ The new usage of references has not got any of these
+ strange semantic issues, and the usage of these
+ references has been optimized to give the same
+ performance benefits as well as memory usage benefits
+ as magic binaries had.
+
+ A couple of examples of previous uses of magic binaries
+ are match specifications and NIF resources.
+
+
+ OTP-14219 Application(s): asn1
+
+ The new 'maps' option changes the representation of the
+ types SEQUENCE and SET to be maps (instead of records).
+
+
+ OTP-14226 Application(s): stdlib
+
+ erl_tar in previous versions of OTP only supports the
+ USTAR format. That limited path names to at most 255
+ bytes, and did not support Unicode characters in names
+ in a portable way.
+
+ erl_tar now has support for reading tar archives in the
+ formats currently in common use, such as v7, STAR,
+ USTAR, PAX, and GNU tar's extensions to the STAR/USTAR
+ format. When writing tar archives, erl_tar can now
+ write them in the PAX format if necessary (for example,
+ to support very long filenames or filenames with
+ Unicode characters). If possible, erl_tar will still
+ write tar archives in the USTAR for maximum
+ portability.
+
+
+ OTP-14291 Application(s): ssl
+
+ Extend connection_information/[1,2] . The values
+ session_id, master_secret, client_random and
+ server_random can no be accessed by
+ connection_information/2. Note only session_id will be
+ added to connection_information/1. The rational is that
+ values concerning the connection security should have
+ to be explicitly requested.
+
+
+ OTP-14319 Application(s): stdlib
+ Related Id(s): PR-1076
+
+ Add new function ets:select_replace/2 which performs
+ atomic "compare-and-swap" operations for ETS objects
+ using match specifications.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14356 Application(s): erts
+
+ Various improvements of timer management internally in
+ the VM. These improvements both reduced memory
+ consumption of timer wheels as well as reduce the
+ amount of work that has to be performed in order to
+ handle timers.
+
+
+ OTP-14388 Application(s): ssl
+
+ Basic support for DTLS that been tested together with
+ OpenSSL.
+
+ Test by providing the option {protocol, dtls} to the
+ ssl API functions connect and listen.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** HIGHLIGHT ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-12872 Application(s): ssh
+
+ The internal handling of SSH options is re-written.
+
+ Previously there were no checks if a client option was
+ given to a daemon or vice versa. This is corrected now.
+ If your code has e.g. a client-only option in a call to
+ start a daemon, the call will fail.
+
+
+ OTP-13703 Application(s): otp
+
+ The 'gs' application has been removed.
+
+
+ OTP-13820 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13827 Application(s): erts
+
+ Remove deprecated erlang:hash/2.
+
+
+ OTP-13844 Application(s): erts
+ Related Id(s): OTP-13833
+
+ The previously used purge strategy has been removed.
+ The optional purge strategy introduced in ERTS version
+ 8.1 is now the only strategy available.
+
+ The new purge strategy is slightly incompatible with
+ the old strategy. Previously processes holding funs
+ that referred to the module being purged either failed
+ a soft purge, or was killed during a hard purge. The
+ new strategy completely ignores funs. If funs referring
+ to the code being purged exist, and are used after a
+ purge, an exception will be raised upon usage. That is,
+ the behavior will be exactly the same as the case when
+ a fun is received by a process after the purge.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13873 Application(s): crypto
+
+ Removed functions deprecated in crypto-3.0 first
+ released in OTP-R16B01
+
+
+ OTP-13908 Application(s): erts
+
+ The NIF library reload feature is not supported
+ anymore. It has been marked as deprecated since OTP
+ R15B. This means that you are only allowed to do one
+ successful call to erlang:load_nif/2 for each module
+ instance. A second call to erlang:load_nif/2 will
+ return {error, {reload, _}} even if the NIF library
+ imlements the reload callback.
+
+ Runtime upgrade of a NIF library is still supported by
+ using the Erlang module upgrade mechanics with a
+ current and an old module instance existing at the same
+ time with their corresponding NIF libraries.
+
+
+ OTP-14039 Application(s): mnesia
+
+ Removed the wrapping of select continuations in
+ extension plugin handling. This might require the user
+ to rewrite user backend plugin if used.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+
+ OTP-14110 Application(s): ssh
+
+ Modernization of key exchange algorithms. See
+ draft-ietf-curdle-ssh-kex-sha2 for a discussion.
+
+ Removed an outdated weak algorithm and added stronger
+ replacements to keep interoperability with other modern
+ ssh clients and servers. The default ordering of the
+ algorithms is also adjusted.
+
+ Retired: The nowadays unsecure key-exchange
+ diffie-hellman-group1-sha1 is not enabled by default,
+ but can be enabled with the option
+ preferred-algorithms.
+
+ Added: The new stronger key-exchange
+ diffie-hellman-group16-sha512,
+ diffie-hellman-group18-sha512 and
+ diffie-hellman-group14-sha256 are added and enabled by
+ default.
+
+ The questionable [RFC 6194] sha1-based algorithms
+ diffie-hellman-group-exchange-sha1 and
+ diffie-hellman-group14-sha1 are however still kept
+ enabled by default for compatibility with ancient
+ clients and servers that lack modern key-exchange
+ alternatives. When the draft-ietf-curdle-ssh-kex-sha2
+ becomes an rfc, those sha1-based algorithms and
+ diffie-hellman-group1-sha1 will be deprecated by IETF.
+ They might then be removed from the default list in
+ Erlang/OTP.
+
+
+ OTP-14146 Application(s): asn1
+
+ The deprecated module asn1rt has been removed. The
+ deprecated functions asn1ct:encode/3 and
+ asn1ct:decode/3 have been removed. The undocumented
+ function asn1ct:encode/2 has been removed.
+
+
+ OTP-14152 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics/1 with arguments inspecting scheduler
+ and run queue states have been changed due to the dirty
+ scheduler support. Code using this functionality may
+ have to be rewritten taking these incompatibilities
+ into consideration. Examples of such uses are calls to
+ erlang:statistics(scheduler_wall_time),
+ statistics(total_run_queue_lengths),
+ statistics(total_active_tasks), etc.
+
+
+ OTP-14171 Application(s): crypto
+
+ Raised minimum requeriment for OpenSSL version to
+ OpenSSL-0.9.8.c although we recommend a much higher
+ version, that is a version that is still maintained
+ officially by the OpenSSL project. Note that using such
+ an old version may restrict the crypto algorithms
+ supported.
+
+
+ OTP-14263 Application(s): ssh
+
+ Removed the option public_key_alg which was deprecated
+ in 18.2. Use pref_public_key_algs instead.
+
+
+ OTP-14264 Application(s): ssh
+
+ The SSH application is refactored regarding daemon
+ starting. The resolution of contradicting Host argument
+ and ip option were not described. There were also
+ strange corner cases when the 'any' value was used in
+ Host argument or ip option. This is (hopefully)
+ resolved now, but it may cause incompatibilities for
+ code using both Host and the ip option. The value
+ 'loopback' has been added for a correct way of naming
+ those addresses.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preperations for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14531 Application(s): stdlib
+
+ The state machine engine gen_statem can now handle
+ generic time-outs (multiple named) as well as absolute
+ time-out time. See the documentation.
+
+ The gen_statem callback Module:init/1 has become
+ mandatory to harmonize with other gen_* modules. This
+ may be an incompatibility for gen_statem callback
+ modules that use gen_statem:enter_loop/4-6.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13961 Application(s): asn1
+
+ The error tuple returned from the encode and decode
+ functions will now include the stack backtrace to make
+ it easier to understand what went wrong.
+
+
+ OTP-14146 Application(s): asn1
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated module asn1rt has been removed. The
+ deprecated functions asn1ct:encode/3 and
+ asn1ct:decode/3 have been removed. The undocumented
+ function asn1ct:encode/2 has been removed.
+
+
+ OTP-14219 Application(s): asn1
+
+ *** HIGHLIGHT ***
+
+ The new 'maps' option changes the representation of the
+ types SEQUENCE and SET to be maps (instead of records).
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14332 Application(s): common_test
+ Related Id(s): seq13299
+
+ Errors in the documentation for user HTML stylesheets
+ have been corrected.
+
+
+ OTP-14400 Application(s): common_test, snmp, stdlib
+
+ Internal code change: Calls to catch followed by a call
+ to erlang:get_stacktrace/0 has been rewritten to use
+ try instead of catch to make the code future-proof.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13806 Application(s): common_test
+
+ The ct_slave modules now handle nodenames in the same
+ way as nodenames passed to -sname. That means
+ ct_slave:start('[email protected]'). will now work.
+
+
+ OTP-14179 Application(s): common_test
+
+ Added the new option, keep_logs. If setting the value
+ for this option to an integer, N, common_test will
+ remove all ct_run.* directories in the current log
+ directory, except the N newest.
+
+
+ OTP-14284 Application(s): common_test
+
+ The existing ct_netconfc:open/1,2 opens an SSH
+ connection with one SSH channel realizing one Netconf
+ session. To allow testing of multiple sessions over the
+ same SSH connection, the following functions are added
+ to ct_netconfc:
+
+ * connect/1,2 - establish an SSH connection *
+ disconnect/1 - close the given SSH connection *
+ session/1,2,3 - open an ssh channel on the given
+ connection and send 'hello' to start a Netconf session
+
+
+ OTP-14415 Application(s): common_test
+ Related Id(s): seq13315
+
+ The function ct_ssh:shell/2,3 is added.
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13690 Application(s): compiler, stdlib
+
+ For many releases, it has been legal to override a BIF
+ with a local function having the same name. However,
+ calling a local function with the same name as guard
+ BIF as filter in a list comprehension was not allowed.
+
+
+ OTP-14408 Application(s): compiler
+ Related Id(s): ERL-417
+
+ compile:forms/2 would not return the module name as
+ documented when one of the options 'from_core',
+ 'from_asm', or 'from_beam' was given. Also, the
+ compiler would crash if one of those options was
+ combined with 'native'.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12148 Application(s): compiler, erts
+
+ Optimized test for tuples with an atom as first
+ element.
+
+
+ OTP-13794 Application(s): compiler
+
+ Compilation of modules with huge literal binary strings
+ is now much faster.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13856 Application(s): compiler
+
+ The undocumented and unsupported module sys_pre_expand
+ has been removed. As a partical replacement for the
+ functionality, there is a new function
+ erl_internal:add_predefined_functions/1 and
+ erl_expand_records will now add a module prefix to
+ calls to BIFs and imported functions.
+
+
+ OTP-13924 Application(s): compiler
+
+ The internal compiler passes now start all generated
+ variables with "@" to avoid any conflicts with
+ variables in languages such as Elixir or LFE.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14042 Application(s): compiler
+
+ Code generation for complicated guards have been
+ improved.
+
+
+ OTP-14058 Application(s): compiler
+
+ The compiler has new warnings for repeated identical
+ map keys.
+
+ A map expression such as,
+
+ #{'a' => 1, 'b' => 2, 'a' => 3}.
+
+ will produce a warning for the repeated key 'a'.
+
+
+ OTP-14071 Application(s): compiler, stdlib
+
+ By default, there will now be a warning when export_all
+ is used. The warning can be disabled using
+ nowarn_export_all.
+
+
+ OTP-14072 Application(s): compiler
+
+ Optimize maps pattern matching by only examining the
+ common keys in each clause first instead of all keys.
+ This will reduce the number of lookups of each key in
+ maps pattern matching.
+
+
+ OTP-14087 Application(s): compiler
+
+ There is a new 'deterministc' option to omit 'source'
+ and 'options' tuples in the BEAM file.
+
+
+ OTP-14125 Application(s): compiler, dialyzer
+ Related Id(s): ERL-308
+
+ Analyzing modules with binary construction with huge
+ strings is now much faster. The compiler also compiles
+ such modules slightly faster.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14221 Application(s): compiler
+
+ compile:file/2 now accepts the option extra_chunks to
+ include extra chunks in the BEAM file.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ OTP-14401 Application(s): compiler
+
+ In a future release, erlang:get_stacktrace/0 will
+ probably only work when called from within a 'try'
+ expression (otherwise it will return [].
+
+ To help prepare for that change, the compiler will now
+ by default warn if 'get_stacktrace/0' is used in a way
+ that will not work in the future. Note that the warning
+ will not be issued if 'get_stacktrace/0' is used in a
+ function that uses neither 'catch' nor 'try' (because
+ that could be a legal use if the function is called
+ from within a 'try'.
+
+
+ ---------------------------------------------------------------------
+ --- cosProperty-1.2.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14006 Application(s): cosProperty, orber
+
+ Fix dialyzer warnings in Orber and CosProperty.
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14247 Application(s): crypto
+
+ LibreSSL can now be used by the modernized crypto app.
+
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ OTP-14435 Application(s): crypto
+ Related Id(s): OTP-14313, PR-1393, PR-1462
+
+ Fix a bug in aes cfb128 function introduced by the bug
+ fix in GitHub pull request #1393.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13779 Application(s): crypto
+ Related Id(s): ERL-82, PR-1138
+
+ Add basic support for CMAC
+
+
+ OTP-13873 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed functions deprecated in crypto-3.0 first
+ released in OTP-R16B01
+
+
+ OTP-13900 Application(s): crypto
+
+ *** HIGHLIGHT ***
+
+ The crypto application now supports OpenSSL 1.1.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ *** HIGHLIGHT ***
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14092 Application(s): crypto
+ Related Id(s): PR-1291
+
+ Crypto chacha20-poly1305 as in RFC 7539 enabled for
+ OpenSSL >= 1.1.
+
+ Thanks to mururu.
+
+
+ OTP-14140 Application(s): crypto
+ Related Id(s): ERL-165, PR-1299
+
+ RSA key generation added to crypto:generate_key/2.
+ Thanks to wiml.
+
+ An interface is also added to
+ public_key:generate_key/1.
+
+
+ OTP-14171 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Raised minimum requeriment for OpenSSL version to
+ OpenSSL-0.9.8.c although we recommend a much higher
+ version, that is a version that is still maintained
+ officially by the OpenSSL project. Note that using such
+ an old version may restrict the crypto algorithms
+ supported.
+
+
+ OTP-14274 Application(s): crypto
+
+ Deprecate crypto:rand_uniform/2 as it is not
+ cryptographically strong
+
+
+ OTP-14317 Application(s): crypto, stdlib
+ Related Id(s): PR-1372
+
+ The Crypto application now supports generation of
+ cryptographically strong random numbers (floats < 1.0
+ and integer arbitrary ranges) as a plugin to the 'rand'
+ module.
+
+
+ OTP-14436 Application(s): crypto
+ Related Id(s): PR-1396
+
+ This replaces the hard coded test values for AES, CMAC
+ and GCM ciphers with the full validation set from
+ NIST's CAVP program.
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14296 Application(s): debugger, stdlib
+
+ The Erlang shell, qlc:string_to_handle(), and the
+ Debugger (the Evaluator area and Edit variable window
+ of the Bindings area) can parse pids, ports,
+ references, and external funs, as long as they can be
+ created in the running system.
+
+
+ OTP-14318 Application(s): debugger
+
+ Fix editing of simple binary values in the Bindings
+ area of the Debugger's Attach Process Window.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14423 Application(s): dialyzer
+ Related Id(s): OTP-14323
+
+ The check of bad type variables in type declarations
+ was mistakingly removed in Erlang/OTP 18, and is now
+ re-introduced.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14125 Application(s): compiler, dialyzer
+ Related Id(s): ERL-308
+
+ Analyzing modules with binary construction with huge
+ strings is now much faster. The compiler also compiles
+ such modules slightly faster.
+
+
+ OTP-14127 Application(s): dialyzer
+
+ The peak memory consumption is reduced.
+
+
+ OTP-14336 Application(s): dialyzer, otp
+
+ TypEr has been removed as separate application and is
+ now a part of the Dialyzer application. Documentation
+ for TypEr has been added in the Dialyzer application.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14277 Application(s): edoc
+
+ To support stable builds, edoc no longer includes time
+ stamps in the footer for generated files.
+
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14333 Application(s): erl_docgen
+ Related Id(s): ERL-393
+
+ Sort index of C functions alphabetically in the
+ sidebar.
+
+
+ OTP-14431 Application(s): erl_docgen
+
+ The right side index of functions now handle functions
+ with same name but different arity.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14371 Application(s): erl_docgen
+ Related Id(s): PR-1215
+
+ Improvements in the OTP documentation style.
+
+ (Thanks to Mariano Guerra)
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14310 Application(s): erl_interface, kernel
+
+ Fix bug where gethostname would incorrectly fail with
+ enametoolong on Linux.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format. The old latin1 format can still be decoded but
+ is never generated by term_to_binary or sent on a
+ distribution channel. The new utf8 format for atoms was
+ introduced in OTP R16. An OTP 20 node can therefore not
+ connect to nodes older than R16.
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13968 Application(s): erts
+
+ Fix various bugs regarding loading, upgrade and purge
+ of HiPE compiled code:
+
+ -- The native code memory for a purged module was never
+ deallocated.
+
+ -- Wrong functions could in some cases be called after
+ a module upgrade.
+
+ -- erlang:check_process_code did not check for
+ recursive calls made from native code.
+
+
+ OTP-14238 Application(s): erts, hipe
+
+ Hipe optional LLVM backend does require LLVM version
+ 3.9 or later as older versions forced strong
+ dependencies on erts internals structures.
+
+
+ OTP-14255 Application(s): erts
+ Related Id(s): OTP-14400, OTP-14401
+
+ When an exception such as 'throw(HugeTerm)' was caught,
+ HugeTerm term would be kept in the process until the
+ next exception occurred, potentially increasing the
+ heap size for the process. That has been corrected.
+
+
+ OTP-14303 Application(s): erts
+
+ Slogans in crash dumps have been extended to print more
+ complex terms.
+
+
+ OTP-14304 Application(s): erts
+
+ Fixed bug when using enif_inspect_binary in combination
+ with enif_copy. In some circumstances the inspected
+ binary could be realloced by the enif_copy call when it
+ shouldn't have been.
+
+
+ OTP-14305 Application(s): erts
+
+ The address family local (AF_UNIX / AF_LOCAL) now does
+ not ensure zero termination of Linux Abstract Addresses
+ so they can use all bytes.
+
+
+ OTP-14307 Application(s): erts
+ Related Id(s): PR-1379
+
+ Use -fno-PIE for Gentoo Hardened and others that don't
+ accept linker flag -no-pie.
+
+
+ OTP-14314 Application(s): erts
+ Related Id(s): ERL-369, PR-1394
+
+ Disable hipe for ppc64le architecture (little endian)
+ as it is not, and has never been, supported. It was
+ earlier equated with ppc64 (big endian) which lead to
+ broken build without --disable-hipe.
+
+
+ OTP-14324 Application(s): erts
+
+ Fix 'epmd -kill' to return a failure exit status code
+ if epmd was not killed because of some error.
+
+
+ OTP-14335 Application(s): erts
+
+ Fixed the following dirty scheduler related bugs:
+
+ -- the +SDPcpu command line argument could cause the
+ amount of dirty CPU schedulers to be set to zero
+
+ -- erlang:system_flag(multi_scheduling, _) failed when
+ only one normal scheduler was used together with dirty
+ scheduler support
+
+
+ OTP-14352 Application(s): erts
+
+ Fix erlexec to handle mismatch in sysconf and proc fs
+ when figuring out the cpu topology. This behaviour has
+ been seen when using docker together with
+ --cpuset-cpus.
+
+
+ OTP-14360 Application(s): erts
+ Related Id(s): ERL-401, PR-1417
+
+ Fixed memory segment cache used for multiblock
+ carriers. Huge (> 2GB) memory segments could cause a VM
+ crash. Creation of such huge memory segments used for
+ multiblock carriers is however very uncommon.
+
+
+ OTP-14390 Application(s): erts, kernel
+
+ Fix bug causing code:is_module_native to falsely return
+ true when local call trace is enabled for the module.
+
+
+ OTP-14411 Application(s): erts
+
+ Fix emulator crash when receive tracing on a
+ trace_delivered message.
+
+
+ OTP-14433 Application(s): erts
+
+ escript did not handle paths with spaces correct.
+
+
+ OTP-14437 Application(s): erts
+ Related Id(s): ERL-360
+
+ Fix erroneous lock check assertion when wx is run on
+ MacOS X.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11695 Application(s): erts
+
+ Added erlang:garbage_collect/2 that takes an option
+ list as the last argument that can be used to control
+ whether a minor or a major garbage collection is to be
+ done. Doing a minor collection only collects terms that
+ have recently died, but is cheaper than a mjor
+ collection.
+
+
+ OTP-12148 Application(s): compiler, erts
+
+ Optimized test for tuples with an atom as first
+ element.
+
+
+ OTP-13529 Application(s): erts
+
+ Erlang literals are no longer copied during process to
+ process messaging.
+
+
+ OTP-13684 Application(s): erts
+
+ Add support in the erl_nif API for asynchronous message
+ notifications when sockets or other file descriptors
+ are ready to accept read or write operations. The
+ following functions have been added:
+
+ -- enif_select
+
+ -- enif_monitor_process
+
+ -- enif_demonitor_process
+
+ -- enif_compare_monitors
+
+ -- enif_open_resource_type_x
+
+
+ OTP-13692 Application(s): erts, stdlib
+
+ There are two new guard BIFs 'floor/1' and 'ceil/1'.
+ They both return integers. In the 'math' module, there
+ are two new BIFs with the same names that return
+ floating point values.
+
+
+ OTP-13827 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove deprecated erlang:hash/2.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13842 Application(s): erts
+
+ Added support in zlib for extraction of the inflation
+ dictionary.
+
+
+ OTP-13844 Application(s): erts
+ Related Id(s): OTP-13833
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The previously used purge strategy has been removed.
+ The optional purge strategy introduced in ERTS version
+ 8.1 is now the only strategy available.
+
+ The new purge strategy is slightly incompatible with
+ the old strategy. Previously processes holding funs
+ that referred to the module being purged either failed
+ a soft purge, or was killed during a hard purge. The
+ new strategy completely ignores funs. If funs referring
+ to the code being purged exist, and are used after a
+ purge, an exception will be raised upon usage. That is,
+ the behavior will be exactly the same as the case when
+ a fun is received by a process after the purge.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13860 Application(s): erts
+
+ Dirty schedulers are now enabled by default when the
+ runtime system is built with SMP support.
+
+
+ OTP-13903 Application(s): erts
+
+ Improved ETS lookup/insert/delete speed for large set,
+ bag and duplicate_bag by a significant reduction of the
+ hash load factor. This speed improvement comes at the
+ expense of less than one word per table entry. Tables
+ with less than 256 entries are not affected at all.
+
+
+ OTP-13908 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The NIF library reload feature is not supported
+ anymore. It has been marked as deprecated since OTP
+ R15B. This means that you are only allowed to do one
+ successful call to erlang:load_nif/2 for each module
+ instance. A second call to erlang:load_nif/2 will
+ return {error, {reload, _}} even if the NIF library
+ imlements the reload callback.
+
+ Runtime upgrade of a NIF library is still supported by
+ using the Erlang module upgrade mechanics with a
+ current and an old module instance existing at the same
+ time with their corresponding NIF libraries.
+
+
+ OTP-13976 Application(s): erts
+
+ Add erlang:system_info(atom_count) and
+ erlang:system_info(atom_limit) to provide a way to
+ retrieve the current and maximum number of atoms.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14002 Application(s): erts
+
+ erlang:load_nif/2 returns new error type notsup when
+ called for a HiPE compiled module, which is not
+ supported.
+
+
+ OTP-14069 Application(s): erts
+
+ Add driver and nif lock instrumentation to lcnt
+
+
+ OTP-14149 Application(s): erts
+
+ Reduce memory pressure by converting sub-binaries to
+ heap-binaries when possible. This is done during
+ garbage collection.
+
+
+ OTP-14152 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics/1 with arguments inspecting scheduler
+ and run queue states have been changed due to the dirty
+ scheduler support. Code using this functionality may
+ have to be rewritten taking these incompatibilities
+ into consideration. Examples of such uses are calls to
+ erlang:statistics(scheduler_wall_time),
+ statistics(total_run_queue_lengths),
+ statistics(total_active_tasks), etc.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14186 Application(s): erts, kernel
+
+ Introduce an event manager in Erlang to handle OS
+ signals. A subset of OS signals may be subscribed to
+ and those are described in the Kernel application.
+
+
+ OTP-14201 Application(s): erts
+ Related Id(s): PR-1293
+
+ The escript program now handles symbolic links to
+ escripts.
+
+ This is useful for standalone systems with escripts
+ residing on a bin directory not included in the
+ execution path (as it may cause their erl program(s) to
+ override the desired one). Instead the escripts can be
+ referred to via symbolic links from a bin directory in
+ the path.
+
+
+ OTP-14205 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ All uses of the magic binary kludge has been replaced
+ by uses of erlang references.
+
+ A magic binary was presented as an empty binary, but
+ actually referred other data internally in the Erlang
+ VM. Since they were presented as empty binaries,
+ different magic binaries compared as equal, and also
+ lost their internal data when passed out of an erlang
+ node.
+
+ The new usage of references has not got any of these
+ strange semantic issues, and the usage of these
+ references has been optimized to give the same
+ performance benefits as well as memory usage benefits
+ as magic binaries had.
+
+ A couple of examples of previous uses of magic binaries
+ are match specifications and NIF resources.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preperations for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14330 Application(s): erts, hipe
+ Related Id(s): PR-1397
+
+ Allow HiPE to run on VM built with --enable-m32-build.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format. The old latin1 format can still be decoded but
+ is never generated by term_to_binary or sent on a
+ distribution channel. The new utf8 format for atoms was
+ introduced in OTP R16. An OTP 20 node can therefore not
+ connect to nodes older than R16.
+
+
+ OTP-14347 Application(s): erts, stdlib
+ Related Id(s): PR-1412
+
+ Added function re:version/0 which returns information
+ about the OTP internal PCRE version used for
+ implementation of the re module.
+
+
+ OTP-14348 Application(s): erts
+
+ Added new debug bif erlang:list_to_port/1.
+
+
+ OTP-14356 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Various improvements of timer management internally in
+ the VM. These improvements both reduced memory
+ consumption of timer wheels as well as reduce the
+ amount of work that has to be performed in order to
+ handle timers.
+
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ OTP-14380 Application(s): erts
+
+ Added the following erl command line arguments with
+ which you can set suggested stack for dirty schedulers:
+
+ -- +sssdcpu -- for dirty CPU schedulers
+
+ -- +sssdio -- for dirty IO schedulers
+
+ The default suggested stack size for dirty schedulers
+ is 40 kilo words.
+
+
+ OTP-14381 Application(s): erts
+
+ Changed erts startup program name, argv 0, to use the
+ environment variable ESCRIPT_NAME so that erlc,
+ dialyzer, typer, ct_run, or the escript name can be
+ seen with external programs, such as ps and htop
+ (depending on options), on unix.
+
+
+ OTP-14384 Application(s): erts
+ Related Id(s): OTP-14201
+
+ Improvements of escript documentation.
+
+
+ OTP-14385 Application(s): erts
+ Related Id(s): PR-1413
+
+ Add function enif_hash for NIFs to calculate hash
+ values of arbitrary terms.
+
+
+ OTP-14407 Application(s): erts, otp
+
+ './configure --enable-lock-counter' will enabling
+ building of an additional emulator that has support for
+ lock counting. (The option previously existed, but
+ would turn on lock counting in the default emulator
+ being built.) To start the lock-counting emulator, use
+ 'erl -emu_type lcnt'.
+
+ On Windows, erl recognized the undocumented option
+ -debug for starting a debug-compiled emulator. That
+ option has been removed. Use 'erl -emu_type debug'
+ instead.
+
+
+ OTP-14425 Application(s): erts, kernel
+
+ Warnings have been added to the relevant documentation
+ about not using un-secure distributed nodes in exposed
+ environments.
+
+
+ OTP-14434 Application(s): erts
+
+ Improvement of the documentation of the environment
+ variable ERL_CRASH_DUMP_SECONDS as well as the default
+ behavior when it is not set.
+
+
+ OTP-14438 Application(s): erts
+
+ Enabled off-heap message queue for some system
+ processes that might receive large amounts of messages.
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14287 Application(s): eunit
+
+ The surefire reports from eunit will no longer have
+ names with embedded double quotes.
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.16 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13862 Application(s): hipe
+ Related Id(s): PR-1154
+
+ Fix hipe compiler flags o0 and o1 that have previously
+ been ignored by mistake.
+
+
+ OTP-13983 Application(s): hipe
+
+ Fix LLVM backend to not convert all remote calls to own
+ module, like ?MODULE:foo(), into local calls.
+
+
+ OTP-14238 Application(s): erts, hipe
+
+ Hipe optional LLVM backend does require LLVM version
+ 3.9 or later as older versions forced strong
+ dependencies on erts internals structures.
+
+
+ OTP-14302 Application(s): hipe
+ Related Id(s): ERL-376, PR-1386
+
+ Fix a bug that has been seen causing failed loading of
+ hipe compiled modules on NetBSD due to unaligned data
+ pointers.
+
+
+ OTP-14306 Application(s): hipe
+ Related Id(s): ERL-278, PR-1392
+
+ Fix miscompilation bug in hipe that could cause wrong
+ function clause to be called from non-tail calls, where
+ the return value is unused, if the right function
+ clause is only reachable from those non-tail calls.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13810 Application(s): hipe
+ Related Id(s): PR-1124
+
+ Improve hipe compilation time for large functions.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13879 Application(s): hipe
+
+ Speed up hipe compile time register allocation for
+ larger function.
+
+
+ OTP-14261 Application(s): hipe
+ Related Id(s): PR-1360
+
+ Various code generation improvements.
+
+
+ OTP-14293 Application(s): hipe
+ Related Id(s): PR-1380
+
+ Improve hipe compiler to generate code with better CPU
+ register utilization at runtime by the use of 'Live
+ Range Splitting' techniques.
+
+
+ OTP-14330 Application(s): erts, hipe
+ Related Id(s): PR-1397
+
+ Allow HiPE to run on VM built with --enable-m32-build.
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14387 Application(s): diameter, inets, megaco
+
+ Typos have been fixed.
+
+
+ OTP-14394 Application(s): inets
+
+ httpd_util:rfc1123_date/1 gracefully handle invalid DST
+ dates by returning the original time in the expected
+ rfc1123 format.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14404 Application(s): inets
+
+ Add unicode binary support to http_uri functions
+
+
+ OTP-14429 Application(s): inets
+
+ httpc - Change timeout handling so the redirects casuse
+ a new timer to be set. This means that a simple
+ redirected request could return after 2*timeout
+ milliseconds.
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format. The old latin1 format can still be decoded but
+ is never generated by term_to_binary or sent on a
+ distribution channel. The new utf8 format for atoms was
+ introduced in OTP R16. An OTP 20 node can therefore not
+ connect to nodes older than R16.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14310 Application(s): erl_interface, kernel
+
+ Fix bug where gethostname would incorrectly fail with
+ enametoolong on Linux.
+
+
+ OTP-14390 Application(s): erts, kernel
+
+ Fix bug causing code:is_module_native to falsely return
+ true when local call trace is enabled for the module.
+
+
+ OTP-14426 Application(s): kernel
+
+ Add early reject of invalid node names from distributed
+ nodes.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13805 Application(s): kernel
+
+ Since Unicode is now allowed in atoms an extra check is
+ needed for node names, which are restricted to Latin-1.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13909 Application(s): kernel
+
+ file:write_file(Name, Data, [raw]) would turn Data into
+ a single binary before writing. This meant it could not
+ take advantage of the writev() system call if it was
+ given a list of binaries and told to write with raw
+ mode.
+
+
+ OTP-14057 Application(s): kernel
+ Related Id(s): PR-1245
+
+ The performance of the disk_log has been somewhat
+ improved in some corner cases (big items), and the
+ documentation has been clarified.
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14186 Application(s): erts, kernel
+
+ Introduce an event manager in Erlang to handle OS
+ signals. A subset of OS signals may be subscribed to
+ and those are described in the Kernel application.
+
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ OTP-14409 Application(s): kernel
+ Related Id(s): PR-1420
+
+ Added option to store shell_history on disk so that the
+ history can be reused between sessions.
+
+
+ OTP-14417 Application(s): kernel, stdlib
+
+ The size of crash reports created by gen_server,
+ gen_statem and proc_lib is limited with aid of the
+ Kernel application variable error_logger_format_depth.
+ The purpose is to limit the size of the error_logger
+ process when processes with huge message queues or
+ states crash.
+
+ The new function error_logger:get_format_depth/0 can be
+ used to retrieve the value of the Kernel application
+ variable error_logger_format_depth.
+
+
+ OTP-14419 Application(s): kernel
+
+ One of the ETS tables used by the global module is
+ created with {read_concurrency, true} in order to
+ reduce contention.
+
+
+ OTP-14425 Application(s): erts, kernel
+
+ Warnings have been added to the relevant documentation
+ about not using un-secure distributed nodes in exposed
+ environments.
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14387 Application(s): diameter, inets, megaco
+
+ Typos have been fixed.
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14039 Application(s): mnesia
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the wrapping of select continuations in
+ extension plugin handling. This might require the user
+ to rewrite user backend plugin if used.
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14393 Application(s): observer
+
+ etop had a hardcoded timeout value of 1 second when
+ waiting for data from a remote node. When this expired,
+ which could happen for instance if there were very many
+ processes on the remote node, etop would exit with
+ reason connection_lost. To overcome this problem, the
+ timeout is now changed to be the same as the update
+ interval, which is configurable.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14137 Application(s): observer
+
+ Show dirty-scheduler threads in performance monitor
+ graph and add a column with maximum allocated memory in
+ the Memory Allocators table.
+
+
+ OTP-14270 Application(s): observer
+
+ Keep table and port selection after refresh of tables.
+ Store settings before shutdown and restore when
+ starting application.
+
+
+ OTP-14345 Application(s): observer
+ Related Id(s): ERL-399
+
+ When observing a node older than OTP-19.0, a pop-up
+ will be displayed when trying to access port
+ information. Earlier, observer would crash in this
+ situation.
+
+
+ ---------------------------------------------------------------------
+ --- orber-3.8.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14006 Application(s): cosProperty, orber
+
+ Fix dialyzer warnings in Orber and CosProperty.
+
+
+ OTP-14432 Application(s): orber
+
+ Disable the SSL verify hostname for some of the orber
+ tests.
+
+
+ ---------------------------------------------------------------------
+ --- otp-20.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-13652 Application(s): otp
+
+ The myths in the Efficiency Guide have been updated.
+
+
+ OTP-13703 Application(s): otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The 'gs' application has been removed.
+
+
+ OTP-14163 Application(s): otp
+
+ Application percept is moved to a separate repository,
+ https://github.com/erlang/percept, and therefore
+ removed from the OTP repository.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preperations for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14336 Application(s): dialyzer, otp
+
+ TypEr has been removed as separate application and is
+ now a part of the Dialyzer application. Documentation
+ for TypEr has been added in the Dialyzer application.
+
+
+ OTP-14407 Application(s): erts, otp
+
+ './configure --enable-lock-counter' will enabling
+ building of an additional emulator that has support for
+ lock counting. (The option previously existed, but
+ would turn on lock counting in the default emulator
+ being built.) To start the lock-counting emulator, use
+ 'erl -emu_type lcnt'.
+
+ On Windows, erl recognized the undocumented option
+ -debug for starting a debug-compiled emulator. That
+ option has been removed. Use 'erl -emu_type debug'
+ instead.
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.5 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14276 Application(s): parsetools
+ Related Id(s): PR-1357
+
+ Minor documentation fixes
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.4.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14258 Application(s): public_key
+
+ Bug for public_key:generate_key({namedCurve,OID})
+ fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14111 Application(s): public_key
+
+ Modernized internal representation used for crl
+ validation by use of maps.
+
+
+ OTP-14294 Application(s): public_key
+
+ Support EC key in pkix_sign/2
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14422 Application(s): reltool
+ Related Id(s): OTP-13830
+
+ The User's Guide examples are updated after removal of
+ support for Dets files created with Erlang/OTP R7 and
+ earlier.
+
+ The examples are not correct, and will be updated
+ before the release of Erlang/OTP 20.0.
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14029 Application(s): sasl
+
+ Documented default values for the 'mod' and
+ 'start_phases' fields in .app files were not allowed as
+ actual values in a .app file. This is now corrected.
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14400 Application(s): common_test, snmp, stdlib
+
+ Internal code change: Calls to catch followed by a call
+ to erlang:get_stacktrace/0 has been rewritten to use
+ try instead of catch to make the code future-proof.
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.5 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-12872 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The internal handling of SSH options is re-written.
+
+ Previously there were no checks if a client option was
+ given to a daemon or vice versa. This is corrected now.
+ If your code has e.g. a client-only option in a call to
+ start a daemon, the call will fail.
+
+
+ OTP-14110 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Modernization of key exchange algorithms. See
+ draft-ietf-curdle-ssh-kex-sha2 for a discussion.
+
+ Removed an outdated weak algorithm and added stronger
+ replacements to keep interoperability with other modern
+ ssh clients and servers. The default ordering of the
+ algorithms is also adjusted.
+
+ Retired: The nowadays unsecure key-exchange
+ diffie-hellman-group1-sha1 is not enabled by default,
+ but can be enabled with the option
+ preferred-algorithms.
+
+ Added: The new stronger key-exchange
+ diffie-hellman-group16-sha512,
+ diffie-hellman-group18-sha512 and
+ diffie-hellman-group14-sha256 are added and enabled by
+ default.
+
+ The questionable [RFC 6194] sha1-based algorithms
+ diffie-hellman-group-exchange-sha1 and
+ diffie-hellman-group14-sha1 are however still kept
+ enabled by default for compatibility with ancient
+ clients and servers that lack modern key-exchange
+ alternatives. When the draft-ietf-curdle-ssh-kex-sha2
+ becomes an rfc, those sha1-based algorithms and
+ diffie-hellman-group1-sha1 will be deprecated by IETF.
+ They might then be removed from the default list in
+ Erlang/OTP.
+
+
+ OTP-14117 Application(s): ssh
+
+ Modernized internal representation of sftp by use of
+ maps.
+
+
+ OTP-14193 Application(s): ssh
+
+ The Extension Negotiation Mechanism and the extension
+ server-sig-algs in draft-ietf-curdle-ssh-ext-info-05
+ are implemented.
+
+ The related draft-ietf-curdle-rsa-sha2-05 is
+ implemented and introduces the signature algorithms
+ rsa-sha2-256 and rsa-sha2-512.
+
+
+ OTP-14243 Application(s): ssh
+
+ The functions ssh:connect, ssh:shell and
+ ssh:start_channel now accept an IP-tuple as Host
+ destination argument.
+
+
+ OTP-14259 Application(s): ssh
+
+ The function ssh:daemon_info/1 now returns Host and
+ Profile as well as the Port info in the property list.
+
+
+ OTP-14263 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the option public_key_alg which was deprecated
+ in 18.2. Use pref_public_key_algs instead.
+
+
+ OTP-14264 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The SSH application is refactored regarding daemon
+ starting. The resolution of contradicting Host argument
+ and ip option were not described. There were also
+ strange corner cases when the 'any' value was used in
+ Host argument or ip option. This is (hopefully)
+ resolved now, but it may cause incompatibilities for
+ code using both Host and the ip option. The value
+ 'loopback' has been added for a correct way of naming
+ those addresses.
+
+
+ OTP-14267 Application(s): ssh
+ Related Id(s): OTP-14266
+
+ The supervisor code is refactored. The naming of
+ listening IP-Port-Profile triples are slightly changed
+ to improve consistency in strange corner cases as
+ resolved by OTP-14264
+
+
+ OTP-14312 Application(s): ssh
+
+ The idle_time option can now be used in daemons.
+
+
+ OTP-14361 Application(s): ssh
+
+ Added test cases for IETF-CURDLE Extension Negotiation
+ (ext-info)
+
+
+ OTP-14362 Application(s): ssh
+ Related Id(s): OTP-14361
+
+ Testcases for IETF-CURDLE extension server-sig-algs
+ including rsa-sha2-*
+
+
+ OTP-14399 Application(s): ssh
+
+ The option auth_methods can now also be used in clients
+ to select which authentication options that are used
+ and in which order.
+
+
+ OTP-14410 Application(s): ssh
+
+ Checks that a ECDSA public key (ecdsa-sha2-nistp*)
+ stored in a file has the correct size.
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14421 Application(s): ssl
+
+ ECDH-ECDSA key exchange supported, was accidently
+ dismissed in earlier versions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13820 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ *** HIGHLIGHT ***
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14076 Application(s): ssl
+
+ Implemented DTLS cookie generation, requiered by spec,
+ instead of using hardcode value.
+
+
+ OTP-14077 Application(s): ssl
+
+ Implement sliding window replay protection of DTLS
+ records.
+
+
+ OTP-14197 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ TLS client processes will by default call
+ public_key:pkix_verify_hostname/2 to verify the
+ hostname of the connection with the server certifcates
+ specified hostname during certificate path validation.
+ The user may explicitly disables it. Also if the
+ hostname can not be derived from the first argument to
+ connnect or is not supplied by the server name
+ indication option, the check will not be performed.
+
+
+ OTP-14291 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Extend connection_information/[1,2] . The values
+ session_id, master_secret, client_random and
+ server_random can no be accessed by
+ connection_information/2. Note only session_id will be
+ added to connection_information/1. The rational is that
+ values concerning the connection security should have
+ to be explicitly requested.
+
+
+ OTP-14382 Application(s): ssl
+
+ Chacha cipher suites are currently not tested enough to
+ be most prefered ones
+
+
+ OTP-14388 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Basic support for DTLS that been tested together with
+ OpenSSL.
+
+ Test by providing the option {protocol, dtls} to the
+ ssl API functions connect and listen.
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13690 Application(s): compiler, stdlib
+
+ For many releases, it has been legal to override a BIF
+ with a local function having the same name. However,
+ calling a local function with the same name as guard
+ BIF as filter in a list comprehension was not allowed.
+
+
+ OTP-14295 Application(s): stdlib
+ Related Id(s): PR-1372
+
+ A new (default) pseudo-random number generator
+ algorithm Xoroshiro116+ has been implemented in the
+ rand module.
+
+ The old algorithm implementations had a number of flaws
+ so they are all deprecated, but corrected versions of
+ two of them have been added. See the documentation.
+
+
+ OTP-14296 Application(s): debugger, stdlib
+
+ The Erlang shell, qlc:string_to_handle(), and the
+ Debugger (the Evaluator area and Edit variable window
+ of the Bindings area) can parse pids, ports,
+ references, and external funs, as long as they can be
+ created in the running system.
+
+
+ OTP-14400 Application(s): common_test, snmp, stdlib
+
+ Internal code change: Calls to catch followed by a call
+ to erlang:get_stacktrace/0 has been rewritten to use
+ try instead of catch to make the code future-proof.
+
+
+ OTP-14531 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The state machine engine gen_statem can now handle
+ generic time-outs (multiple named) as well as absolute
+ time-out time. See the documentation.
+
+ The gen_statem callback Module:init/1 has become
+ mandatory to harmonize with other gen_* modules. This
+ may be an incompatibility for gen_statem callback
+ modules that use gen_statem:enter_loop/4-6.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-13692 Application(s): erts, stdlib
+
+ There are two new guard BIFs 'floor/1' and 'ceil/1'.
+ They both return integers. In the 'math' module, there
+ are two new BIFs with the same names that return
+ floating point values.
+
+
+ OTP-13801 Application(s): stdlib
+
+ Making code_change, terminate and handle_info callbacks
+ optional in the OTP behaviours.
+
+
+ OTP-13830 Application(s): stdlib
+
+ The support for Dets files created with Erlang/OTP R7
+ and earlier is removed.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14001 Application(s): stdlib
+
+ The EXIT signals received from processes using proc_lib
+ now looks like EXIT signals from processes that were
+ spawned using spawn_link. In particular, that means
+ that the stack trace is now included in the EXIT signal
+ so that it can see where the process crashed.
+
+
+ OTP-14035 Application(s): stdlib
+
+ sets:add_element/2 is faster when adding an element
+ that is already present, and sets:del_element/2 is
+ faster when the element to be deleted is not present.
+ This optimization can make certain operations, such as
+ sets:union/2 with many overlapping elements, up to two
+ orders of magnitude faster.
+
+
+ OTP-14037 Application(s): stdlib
+ Related Id(s): PR-1233
+
+ Add information in doc about supervisor shutdown reason
+ when maximum restart frequency is reached.
+
+
+ OTP-14038 Application(s): stdlib
+ Related Id(s): PR-1235
+
+ Added rand:jump/[0|1] functions.
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14066 Application(s): stdlib
+
+ Each assert macro in assert.hrl now has a corresponding
+ version with an extra argument, for adding comments to
+ assertions. These can for example be printed as part of
+ error reports, to clarify the meaning of the check that
+ failed.
+
+
+ OTP-14068 Application(s): stdlib
+
+ error_logger_tty_h and error_logger_file_h now inserts
+ the node information for nonlocal messages before the
+ message itself instead of after, both for readability
+ and so as not to change the line termination property
+ at the end of the message.
+
+
+ OTP-14070 Application(s): stdlib
+ Related Id(s): PR-1214
+
+ The Erlang code linter checks for badly formed type
+ constraints.
+
+
+ OTP-14071 Application(s): compiler, stdlib
+
+ By default, there will now be a warning when export_all
+ is used. The warning can be disabled using
+ nowarn_export_all.
+
+
+ OTP-14089 Application(s): stdlib
+
+ When a gen_server process crashes, the stacktrace for
+ the client will be printed to facilitate debugging.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+
+ OTP-14102 Application(s): stdlib
+
+ take/2 has been added to dict, orddict, and gb_trees.
+ take_any/2 has been added to gb_trees.
+
+
+ OTP-14123 Application(s): stdlib
+
+ Extend gen_event API to handle options as well.
+
+
+ OTP-14168 Application(s): stdlib
+ Related Id(s): PR-1289
+
+ Advice on how to tune the supervisor restart frequency
+ (intensity and period) is added to System Documentation
+ - Design Principles - Supervisor Behaviour.
+
+
+ OTP-14183 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ gen_fsm is deprecated and is replaced by gen_statem,
+ however for backwards compatibility reasons gen_fsm may
+ continue to exist as an undocumented feature for quite
+ some time.
+
+
+ OTP-14190 Application(s): stdlib
+
+ The shell functions c/1 and c/2 have been extended so
+ that if the argument is a module name instead of a file
+ name, it automatically locates the .beam file and the
+ corresponding source file, and then recompiles the
+ module using the same compiler options (plus any
+ options passed to c/2). If compilation fails, the old
+ beam file is preserved. Also adds c(Mod, Opts, Filter),
+ where the Filter argument allows you to remove old
+ compiler options before the new options are added.
+
+ New utility functions file_find/2/3 and
+ find_source/1/2/3 have been added to filelib.
+
+
+ OTP-14226 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ erl_tar in previous versions of OTP only supports the
+ USTAR format. That limited path names to at most 255
+ bytes, and did not support Unicode characters in names
+ in a portable way.
+
+ erl_tar now has support for reading tar archives in the
+ formats currently in common use, such as v7, STAR,
+ USTAR, PAX, and GNU tar's extensions to the STAR/USTAR
+ format. When writing tar archives, erl_tar can now
+ write them in the PAX format if necessary (for example,
+ to support very long filenames or filenames with
+ Unicode characters). If possible, erl_tar will still
+ write tar archives in the USTAR for maximum
+ portability.
+
+
+ OTP-14245 Application(s): stdlib
+
+ base64:mime_decode/1 has been optimized so that it is
+ now almost as fast asbase64:decode/1; it used be
+ noticably slower.
+
+
+ OTP-14278 Application(s): stdlib
+
+ erl_tar will now strip any leading '/' from pathnames
+ when extracting files from a tar archive and write a
+ message to the error logger. There is also new check
+ for directory traversal attacks; if a relative path
+ points above the current working directory the
+ extraction will be aborted.
+
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ OTP-14317 Application(s): crypto, stdlib
+ Related Id(s): PR-1372
+
+ The Crypto application now supports generation of
+ cryptographically strong random numbers (floats < 1.0
+ and integer arbitrary ranges) as a plugin to the 'rand'
+ module.
+
+
+ OTP-14319 Application(s): stdlib
+ Related Id(s): PR-1076
+
+ *** HIGHLIGHT ***
+
+ Add new function ets:select_replace/2 which performs
+ atomic "compare-and-swap" operations for ETS objects
+ using match specifications.
+
+
+ OTP-14323 Application(s): stdlib
+
+ The Erlang code linter checks for bad dialyzer
+ attributes. It also checks for bad type variables in
+ type declarations.
+
+
+ OTP-14328 Application(s): stdlib
+ Related Id(s): PR-1382
+
+ Two new functions has been implemented in the rand
+ module; normal/2 and normal_s/3, that both produce
+ normal distribution (pseudo) random numbers with mean
+ value and variance according to arguments.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14347 Application(s): erts, stdlib
+ Related Id(s): PR-1412
+
+ Added function re:version/0 which returns information
+ about the OTP internal PCRE version used for
+ implementation of the re module.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ OTP-14405 Application(s): stdlib
+
+ Add option hibernate_after to gen_server, gen_statem
+ and gen_event. Also added to the deprecated gen_fsm
+ behaviour.
+
+
+ OTP-14417 Application(s): kernel, stdlib
+
+ The size of crash reports created by gen_server,
+ gen_statem and proc_lib is limited with aid of the
+ Kernel application variable error_logger_format_depth.
+ The purpose is to limit the size of the error_logger
+ process when processes with huge message queues or
+ states crash.
+
+ The new function error_logger:get_format_depth/0 can be
+ used to retrieve the value of the Kernel application
+ variable error_logger_format_depth.
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): debugger, edoc, parsetools, stdlib,
+ syntax_tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.10 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14339 Application(s): tools
+ Related Id(s): ERL-395
+
+ In some situations, make:all() and friends did not
+ detect changes in include files located in the current
+ directory. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14253 Application(s): tools
+
+ The make module now accepts the {emake,Emake} option.
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14289 Application(s): wx
+
+ Fix a livelock that could be caused by wx:batch/1.
+
+
diff --git a/release-notes/OTP-20.0.1.README.txt b/release-notes/OTP-20.0.1.README.txt
new file mode 100644
index 0000000..670ca0f
--- /dev/null
+++ b/release-notes/OTP-20.0.1.README.txt
@@ -0,0 +1,169 @@
+Patch Package: OTP 20.0.1
+Git Tag: OTP-20.0.1
+Date: 2017-07-03
+Trouble Report Id: OTP-13939, OTP-14479, OTP-14481, OTP-14482,
+ OTP-14484, OTP-14487, OTP-14489
+Seq num: ERIERL-40, ERL-193, ERL-438
+System: OTP
+Release: 20
+Application: common_test-1.15.1, erts-9.0.1,
+ runtime_tools-1.12.1, stdlib-3.4.1,
+ tools-2.10.1
+Predecessor: OTP 20.0
+
+ Check out the git tag OTP-20.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.15.1 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14489 Application(s): common_test, stdlib, tools
+ Related Id(s): ERL-438
+
+ In OTP-20.0, the behavior of c, make, and ct_make was
+ changed so that in some cases the beam files by default
+ would be written to the directory where the source
+ files were found. This is now changed back to the old
+ behavior so beam files are by default written to
+ current directory.
+
+
+ Full runtime dependencies of common_test-1.15.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.0.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13939 Application(s): erts, kernel
+ Related Id(s): ERL-193
+
+ Fixed a bug in gen_tcp:send where it never returned
+ when repeatedly called on a remotely closed TCP socket.
+
+
+ OTP-14481 Application(s): erts
+
+ Fixed segfault that could happen during cleanup of
+ aborted erlang:port_command/3 calls. A port_command is
+ aborted if the port is closed at the same time as the
+ port_command was issued. This bug was introduced in
+ erts-8.0.
+
+
+ OTP-14484 Application(s): erts
+
+ Fixed implementation of statistics(wall_clock) and
+ statistics(runtime) so that values do not unnecessarily
+ wrap due to the emulator. Note that the values returned
+ by statistics(runtime) may still wrap due to
+ limitations in the underlying functionality provided by
+ the operating system.
+
+
+ Full runtime dependencies of erts-9.0.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.12.1 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14479 Application(s): runtime_tools
+
+ A faulty encoding comment was added when saving trace
+ patterns to file. This is now corrected.
+
+
+ Full runtime dependencies of runtime_tools-1.12.1: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.4.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14482 Application(s): stdlib
+ Related Id(s): PR-1488
+
+ A bug in proc_lib:format() introduced in Erlang/OTP
+ 20.0 is corrected.
+
+
+ OTP-14487 Application(s): stdlib
+ Related Id(s): ERIERL-40
+
+ Fix string:len/1 to be compatible with previous
+ versions.
+
+
+ OTP-14489 Application(s): common_test, stdlib, tools
+ Related Id(s): ERL-438
+
+ In OTP-20.0, the behavior of c, make, and ct_make was
+ changed so that in some cases the beam files by default
+ would be written to the directory where the source
+ files were found. This is now changed back to the old
+ behavior so beam files are by default written to
+ current directory.
+
+
+ Full runtime dependencies of stdlib-3.4.1: compiler-5.0, crypto-3.3,
+ erts-9.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.10.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-2.10.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14489 Application(s): common_test, stdlib, tools
+ Related Id(s): ERL-438
+
+ In OTP-20.0, the behavior of c, make, and ct_make was
+ changed so that in some cases the beam files by default
+ would be written to the directory where the source
+ files were found. This is now changed back to the old
+ behavior so beam files are by default written to
+ current directory.
+
+
+ Full runtime dependencies of tools-2.10.1: compiler-5.0, erts-7.0,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.0.2.README.txt b/release-notes/OTP-20.0.2.README.txt
new file mode 100644
index 0000000..9be272d
--- /dev/null
+++ b/release-notes/OTP-20.0.2.README.txt
@@ -0,0 +1,96 @@
+Patch Package: OTP 20.0.2
+Git Tag: OTP-20.0.2
+Date: 2017-07-27
+Trouble Report Id: OTP-14494, OTP-14498, OTP-14509, OTP-14514,
+ OTP-14519
+Seq num: ERIERL-49
+System: OTP
+Release: 20
+Application: asn1-5.0.1, erts-9.0.2, kernel-5.3.1
+Predecessor: OTP 20.0.1
+
+ Check out the git tag OTP-20.0.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14519 Application(s): asn1
+ Related Id(s): ERIERL-49
+
+ Fixed compilation error of generated code caused by a
+ missing quotation of function names as part of an
+ external call for encoding.
+
+
+ Full runtime dependencies of asn1-5.0.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.0.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14494 Application(s): erts
+
+ Added missing release notes for OTP-14491 ("performance
+ bug in pre-allocators") which was included in
+ erts-9.0.1 (OTP-20.0.1).
+
+
+ OTP-14509 Application(s): erts
+
+ Fixed a bug that prevented TCP sockets from being
+ closed properly on send timeouts.
+
+
+ OTP-14514 Application(s): erts
+
+ Fixed bug in operator bxor causing erroneuos result
+ when one operand is a big *negative* integer with the
+ lowest N*W bits as zero and the other operand not
+ larger than N*W bits. N is an integer of 1 or larger
+ and W is 32 or 64 depending on word size.
+
+
+ Full runtime dependencies of erts-9.0.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.3.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-5.3.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14498 Application(s): kernel
+
+ The documentation for the 'quiet' option in
+ disk_log:open/1 had an incorrect default value.
+
+
+ Full runtime dependencies of kernel-5.3.1: erts-9.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.0.3.README.txt b/release-notes/OTP-20.0.3.README.txt
new file mode 100644
index 0000000..5650b9d
--- /dev/null
+++ b/release-notes/OTP-20.0.3.README.txt
@@ -0,0 +1,104 @@
+Patch Package: OTP 20.0.3
+Git Tag: OTP-20.0.3
+Date: 2017-08-24
+Trouble Report Id: OTP-13011, OTP-14522, OTP-14524, OTP-14541
+Seq num: ERIERL-48, ERIERL-60
+System: OTP
+Release: 20
+Application: asn1-5.0.2, compiler-7.1.1, erts-9.0.3,
+ ssh-4.5.1
+Predecessor: OTP 20.0.2
+
+ Check out the git tag OTP-20.0.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13011 Application(s): asn1
+ Related Id(s): ERIERL-60
+
+ Default values now work in extension for PER, so if you
+ give the atom asn1_DEFAULT instead of a value it will
+ become the default value.
+
+
+ Full runtime dependencies of asn1-5.0.2: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.1.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14522 Application(s): compiler
+ Related Id(s): ERIERL-48
+
+ Fail labels on guard BIFs weren't taken into account
+ during an optimization pass, and a bug in the
+ validation pass sometimes prevented this from being
+ noticed when a fault occurred.
+
+
+ Full runtime dependencies of compiler-7.1.1: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.0.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14524 Application(s): erts
+
+ Binary append operations did not check for overflow,
+ resulting in nonsensical results when huge binaries
+ were appended.
+
+
+ Full runtime dependencies of erts-9.0.3: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.5.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.5.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14541 Application(s): ssh
+ Related Id(s): EIRERL-63
+
+ All unknown options are sent to the transport handler
+ regardless of type.
+
+
+ Full runtime dependencies of ssh-4.5.1: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.0.4.README.txt b/release-notes/OTP-20.0.4.README.txt
new file mode 100644
index 0000000..1fd8cbf
--- /dev/null
+++ b/release-notes/OTP-20.0.4.README.txt
@@ -0,0 +1,77 @@
+Patch Package: OTP 20.0.4
+Git Tag: OTP-20.0.4
+Date: 2017-08-25
+Trouble Report Id: OTP-14548, OTP-14554, OTP-14558
+Seq num: ERIERL-53, ERL-468
+System: OTP
+Release: 20
+Application: dialyzer-3.2.1, erts-9.0.4
+Predecessor: OTP 20.0.3
+
+ Check out the git tag OTP-20.0.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-3.2.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14558 Application(s): dialyzer
+ Related Id(s): ERIERL-53
+
+ Fix a bug where merging PLT:s could lose info. The bug
+ was introduced in Erlang/OTP 20.0.
+
+
+ Full runtime dependencies of dialyzer-3.2.1: compiler-7.0, erts-8.0,
+ hipe-3.15.4, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.0.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14548 Application(s): erts
+ Related Id(s): ERL-468, OTP-11997
+
+ A timer internal bit-field used for storing scheduler
+ id was too small. As a result, VM internal timer data
+ structures could become inconsistent when using 1024
+ schedulers on the system. Note that systems with less
+ than 1024 schedulers are not effected by this bug.
+
+ This bug was introduced in ERTS version 7.0 (OTP 18.0).
+
+
+ OTP-14554 Application(s): erts
+ Related Id(s): ERL-468, OTP-14356
+
+ Automatic cleanup of a BIF timer, when the owner
+ process terminated, could race with the timeout of the
+ timer. This could cause the VM internal data structures
+ to become inconsistent which very likely caused a VM
+ crash.
+
+ This bug was introduced in ERTS version 9.0 (OTP 20.0).
+
+
+ Full runtime dependencies of erts-9.0.4: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.0.5.README.txt b/release-notes/OTP-20.0.5.README.txt
new file mode 100644
index 0000000..b946207
--- /dev/null
+++ b/release-notes/OTP-20.0.5.README.txt
@@ -0,0 +1,76 @@
+Patch Package: OTP 20.0.5
+Git Tag: OTP-20.0.5
+Date: 2017-09-14
+Trouble Report Id: OTP-14450, OTP-14573, OTP-14590
+Seq num: ERL-474
+System: OTP
+Release: 20
+Application: erts-9.0.5, inets-6.4.1
+Predecessor: OTP 20.0.4
+
+ Check out the git tag OTP-20.0.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-9.0.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.0.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14590 Application(s): erts
+ Related Id(s): ERL-474
+
+ Fixed bug in binary_to_term and binary_to_atom that
+ could cause VM crash. Typically happens when the last
+ character of an UTF8 string is in the range 128 to 255,
+ but truncated to only one byte. Bug exists in
+ binary_to_term since ERTS version 5.10.2 (OTP_R16B01)
+ and binary_to_atom since ERTS version 9.0 (OTP-20.0).
+
+
+ Full runtime dependencies of erts-9.0.5: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.4.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.4.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14573 Application(s): inets
+
+ http_uri aligned to follow RFC 3986 and not convert "+"
+ to space when decoding URIs.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14450 Application(s): inets
+
+ Added new option max_client_body_chunk to httpd server
+ to allow chunked delivery of PUT and POST data to
+ mod_esi callback. Note, new mod_esi callback
+ implementation is required.
+
+ Also correct value provided by server_name environment
+ variable
+
+
+ Full runtime dependencies of inets-6.4.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.0.README.txt b/release-notes/OTP-20.0.README.txt
new file mode 100644
index 0000000..282b230
--- /dev/null
+++ b/release-notes/OTP-20.0.README.txt
@@ -0,0 +1,3308 @@
+Patch Package: OTP 20.0
+Git Tag: OTP-20.0
+Date: 2017-06-21
+Trouble Report Id: OTP-10289, OTP-11695, OTP-12148, OTP-12872,
+ OTP-13006, OTP-13529, OTP-13684, OTP-13690,
+ OTP-13692, OTP-13779, OTP-13794, OTP-13801,
+ OTP-13805, OTP-13806, OTP-13810, OTP-13820,
+ OTP-13827, OTP-13830, OTP-13831, OTP-13842,
+ OTP-13844, OTP-13856, OTP-13860, OTP-13862,
+ OTP-13873, OTP-13879, OTP-13900, OTP-13903,
+ OTP-13908, OTP-13909, OTP-13921, OTP-13924,
+ OTP-13961, OTP-13968, OTP-13976, OTP-13983,
+ OTP-14000, OTP-14001, OTP-14002, OTP-14006,
+ OTP-14029, OTP-14035, OTP-14037, OTP-14038,
+ OTP-14039, OTP-14042, OTP-14057, OTP-14058,
+ OTP-14059, OTP-14066, OTP-14068, OTP-14069,
+ OTP-14070, OTP-14071, OTP-14072, OTP-14076,
+ OTP-14077, OTP-14087, OTP-14089, OTP-14092,
+ OTP-14094, OTP-14102, OTP-14110, OTP-14111,
+ OTP-14117, OTP-14123, OTP-14125, OTP-14127,
+ OTP-14137, OTP-14140, OTP-14146, OTP-14149,
+ OTP-14152, OTP-14168, OTP-14171, OTP-14178,
+ OTP-14179, OTP-14183, OTP-14186, OTP-14190,
+ OTP-14193, OTP-14197, OTP-14201, OTP-14205,
+ OTP-14216, OTP-14218, OTP-14219, OTP-14221,
+ OTP-14226, OTP-14238, OTP-14243, OTP-14245,
+ OTP-14247, OTP-14253, OTP-14255, OTP-14258,
+ OTP-14259, OTP-14261, OTP-14263, OTP-14264,
+ OTP-14267, OTP-14270, OTP-14272, OTP-14274,
+ OTP-14276, OTP-14277, OTP-14278, OTP-14284,
+ OTP-14285, OTP-14287, OTP-14289, OTP-14291,
+ OTP-14293, OTP-14294, OTP-14295, OTP-14296,
+ OTP-14302, OTP-14303, OTP-14304, OTP-14305,
+ OTP-14306, OTP-14307, OTP-14310, OTP-14312,
+ OTP-14314, OTP-14316, OTP-14317, OTP-14318,
+ OTP-14319, OTP-14323, OTP-14324, OTP-14328,
+ OTP-14330, OTP-14331, OTP-14332, OTP-14333,
+ OTP-14335, OTP-14336, OTP-14337, OTP-14338,
+ OTP-14339, OTP-14343, OTP-14345, OTP-14347,
+ OTP-14348, OTP-14352, OTP-14356, OTP-14357,
+ OTP-14360, OTP-14361, OTP-14362, OTP-14369,
+ OTP-14371, OTP-14377, OTP-14380, OTP-14381,
+ OTP-14382, OTP-14384, OTP-14385, OTP-14387,
+ OTP-14388, OTP-14390, OTP-14393, OTP-14394,
+ OTP-14399, OTP-14400, OTP-14401, OTP-14404,
+ OTP-14405, OTP-14407, OTP-14408, OTP-14409,
+ OTP-14410, OTP-14411, OTP-14415, OTP-14417,
+ OTP-14419, OTP-14421, OTP-14422, OTP-14423,
+ OTP-14424, OTP-14425, OTP-14426, OTP-14429,
+ OTP-14431, OTP-14433, OTP-14434, OTP-14435,
+ OTP-14436, OTP-14437, OTP-14438, OTP-14441,
+ OTP-14442, OTP-14443, OTP-14447, OTP-14453,
+ OTP-14454, OTP-14455, OTP-14531
+Seq num: ERIERL-20, ERIERL-22, ERIERL-29, ERL-165,
+ ERL-208, ERL-278, ERL-308, ERL-332, ERL-360,
+ ERL-369, ERL-376, ERL-393, ERL-395, ERL-399,
+ ERL-401, ERL-417, ERL-429, ERL-430, ERL-82,
+ seq13299, seq13315
+System: OTP
+Release: 20
+Application: asn1-5.0, common_test-1.15, compiler-7.1,
+ cosProperty-1.2.2, crypto-4.0,
+ debugger-4.2.2, dialyzer-3.2, diameter-2.0,
+ edoc-0.9, erl_docgen-0.7, erl_interface-3.10,
+ erts-9.0, eunit-2.3.3, hipe-3.16, inets-6.4,
+ jinterface-1.8, kernel-5.3, megaco-3.18.2,
+ mnesia-4.15, observer-2.4, orber-3.8.3,
+ parsetools-2.1.5, public_key-1.4.1,
+ reltool-0.7.4, runtime_tools-1.12,
+ sasl-3.0.4, snmp-5.2.6, ssh-4.5, ssl-8.2,
+ stdlib-3.4, syntax_tools-2.1.2, tools-2.10,
+ wx-1.8.1, xmerl-1.3.15
+Predecessor: OTP
+
+ Check out the git tag OTP-20.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-13820 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13900 Application(s): crypto
+
+ The crypto application now supports OpenSSL 1.1.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+ The number of tables stored at one Erlang node *used*
+ to be limited. This is no longer the case (except by
+ memory usage). The previous default limit was about
+ 1400 tables and could be increased by setting the
+ environment variable ERL_MAX_ETS_TABLES before starting
+ the Erlang runtime system. This hard limit has been
+ removed, but it is currently useful to set the
+ ERL_MAX_ETS_TABLES anyway. It should be set to an
+ approximate of the maximum amount of tables used. This
+ since an internal table for named tables is sized using
+ this value. If large amounts of named tables are used
+ and ERL_MAX_ETS_TABLES hasn't been increased, the
+ performance of named table lookup will degrade.
+
+
+ OTP-14110 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Modernization of key exchange algorithms. See
+ draft-ietf-curdle-ssh-kex-sha2 for a discussion.
+
+ Removed an outdated weak algorithm and added stronger
+ replacements to keep interoperability with other modern
+ ssh clients and servers. The default ordering of the
+ algorithms is also adjusted.
+
+ Retired: The nowadays unsecure key-exchange
+ diffie-hellman-group1-sha1 is not enabled by default,
+ but can be enabled with the option
+ preferred-algorithms.
+
+ Added: The new stronger key-exchange
+ diffie-hellman-group16-sha512,
+ diffie-hellman-group18-sha512 and
+ diffie-hellman-group14-sha256 are added and enabled by
+ default.
+
+ The questionable [RFC 6194] sha1-based algorithms
+ diffie-hellman-group-exchange-sha1 and
+ diffie-hellman-group14-sha1 are however still kept
+ enabled by default for compatibility with ancient
+ clients and servers that lack modern key-exchange
+ alternatives. When the draft-ietf-curdle-ssh-kex-sha2
+ becomes an rfc, those sha1-based algorithms and
+ diffie-hellman-group1-sha1 will be deprecated by IETF.
+ They might then be removed from the default list in
+ Erlang/OTP.
+
+
+ OTP-14152 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics/1 with arguments inspecting scheduler
+ and run queue states have been changed due to the dirty
+ scheduler support. Code using this functionality may
+ have to be rewritten taking these incompatibilities
+ into consideration. Examples of such uses are calls to
+ erlang:statistics(scheduler_wall_time),
+ statistics(total_run_queue_lengths),
+ statistics(total_active_tasks), etc.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14183 Application(s): stdlib
+
+ gen_fsm is deprecated and is replaced by gen_statem,
+ however for backwards compatibility reasons gen_fsm may
+ continue to exist as an undocumented feature for quite
+ some time.
+
+
+ OTP-14193 Application(s): ssh
+
+ The Extension Negotiation Mechanism and the extension
+ server-sig-algs in draft-ietf-curdle-ssh-ext-info-05
+ are implemented.
+
+ The related draft-ietf-curdle-rsa-sha2-05 is
+ implemented and introduces the signature algorithms
+ rsa-sha2-256 and rsa-sha2-512.
+
+
+ OTP-14197 Application(s): ssl
+
+ TLS client processes will by default call
+ public_key:pkix_verify_hostname/2 to verify the
+ hostname of the connection with the server certificates
+ specified hostname during certificate path validation.
+ The user may explicitly disables it. Also if the
+ hostname can not be derived from the first argument to
+ connect or is not supplied by the server name
+ indication option, the check will not be performed.
+
+
+ OTP-14205 Application(s): erts
+
+ All uses of the magic binary kludge has been replaced
+ by uses of erlang references.
+
+ A magic binary was presented as an empty binary, but
+ actually referred other data internally in the Erlang
+ VM. Since they were presented as empty binaries,
+ different magic binaries compared as equal, and also
+ lost their internal data when passed out of an erlang
+ node.
+
+ The new usage of references has not got any of these
+ strange semantic issues, and the usage of these
+ references has been optimized to give the same
+ performance benefits as well as memory usage benefits
+ as magic binaries had.
+
+ A couple of examples of previous uses of magic binaries
+ are match specifications and NIF resources.
+
+
+ OTP-14219 Application(s): asn1
+
+ The new 'maps' option changes the representation of the
+ types SEQUENCE and SET to be maps (instead of records).
+
+
+ OTP-14226 Application(s): stdlib
+
+ erl_tar in previous versions of OTP only supports the
+ USTAR format. That limited path names to at most 255
+ bytes, and did not support Unicode characters in names
+ in a portable way.
+
+ erl_tar now has support for reading tar archives in the
+ formats currently in common use, such as v7, STAR,
+ USTAR, PAX, and GNU tar's extensions to the STAR/USTAR
+ format. When writing tar archives, erl_tar can now
+ write them in the PAX format if necessary (for example,
+ to support very long filenames or filenames with
+ Unicode characters). If possible, erl_tar will still
+ write tar archives in the USTAR for maximum
+ portability.
+
+
+ OTP-14291 Application(s): ssl
+
+ Extend connection_information/[1,2] . The values
+ session_id, master_secret, client_random and
+ server_random can no be accessed by
+ connection_information/2. Note only session_id will be
+ added to connection_information/1. The rational is that
+ values concerning the connection security should have
+ to be explicitly requested.
+
+
+ OTP-14319 Application(s): stdlib
+ Related Id(s): PR-1076
+
+ Add new function ets:select_replace/2 which performs
+ atomic "compare-and-swap" operations for ETS objects
+ using match specifications.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14356 Application(s): erts
+
+ Various improvements of timer management internally in
+ the VM. These improvements both reduced memory
+ consumption of timer wheels as well as reduce the
+ amount of work that has to be performed in order to
+ handle timers.
+
+
+ OTP-14388 Application(s): ssl
+
+ Basic support for DTLS that been tested together with
+ OpenSSL.
+
+ Test by providing the option {protocol, dtls} to the
+ ssl API functions connect and listen.
+
+
+ OTP-14407 Application(s): erts, otp
+
+ './configure --enable-lock-counter' will enabling
+ building of an additional emulator that has support for
+ lock counting. (The option previously existed, but
+ would turn on lock counting in the default emulator
+ being built.) To start the lock-counting emulator, use
+ 'erl -emu_type lcnt'.
+
+ On Windows, erl recognized the undocumented option
+ -debug for starting a debug-compiled emulator. That
+ option has been removed. Use 'erl -emu_type debug'
+ instead.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** HIGHLIGHT ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-12872 Application(s): ssh
+
+ The internal handling of SSH options is re-written.
+
+ Previously there were no checks if a client option was
+ given to a daemon or vice versa. This is corrected now.
+ If your code has e.g. a client-only option in a call to
+ start a daemon, the call will fail.
+
+
+ OTP-13006 Application(s): kernel
+ Related Id(s): ERIERL-20, ERL-429
+
+ Function inet:ntoa/1 has been fixed to return lowercase
+ letters according to RFC 5935 that has been approved
+ after this function was written. Previously uppercase
+ letters were returned so this may be a backwards
+ incompatible change depending on how the returned
+ address string is used.
+
+ Function inet:parse_address/1 has been fixed to accept
+ %-suffixes on scoped addresses. The addresses does not
+ work yet, but gives no parse errors.
+
+
+ OTP-13820 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13827 Application(s): erts
+
+ Remove deprecated erlang:hash/2.
+
+
+ OTP-13844 Application(s): erts
+ Related Id(s): OTP-13833
+
+ The previously used purge strategy has been removed.
+ The optional purge strategy introduced in ERTS version
+ 8.1 is now the only strategy available.
+
+ The new purge strategy is slightly incompatible with
+ the old strategy. Previously processes holding funs
+ that referred to the module being purged either failed
+ a soft purge, or was killed during a hard purge. The
+ new strategy completely ignores funs. If funs referring
+ to the code being purged exist, and are used after a
+ purge, an exception will be raised upon usage. That is,
+ the behavior will be exactly the same as the case when
+ a fun is received by a process after the purge.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13873 Application(s): crypto
+
+ Removed functions deprecated in crypto-3.0 first
+ released in OTP-R16B01
+
+
+ OTP-13908 Application(s): erts
+
+ The NIF library reload feature is not supported
+ anymore. It has been marked as deprecated since OTP
+ R15B. This means that you are only allowed to do one
+ successful call to erlang:load_nif/2 for each module
+ instance. A second call to erlang:load_nif/2 will
+ return {error, {reload, _}} even if the NIF library
+ implements the reload callback.
+
+ Runtime upgrade of a NIF library is still supported by
+ using the Erlang module upgrade mechanics with a
+ current and an old module instance existing at the same
+ time with their corresponding NIF libraries.
+
+
+ OTP-14039 Application(s): mnesia
+
+ Removed the wrapping of select continuations in
+ extension plugin handling. This might require the user
+ to rewrite user backend plugin if used.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+ The number of tables stored at one Erlang node *used*
+ to be limited. This is no longer the case (except by
+ memory usage). The previous default limit was about
+ 1400 tables and could be increased by setting the
+ environment variable ERL_MAX_ETS_TABLES before starting
+ the Erlang runtime system. This hard limit has been
+ removed, but it is currently useful to set the
+ ERL_MAX_ETS_TABLES anyway. It should be set to an
+ approximate of the maximum amount of tables used. This
+ since an internal table for named tables is sized using
+ this value. If large amounts of named tables are used
+ and ERL_MAX_ETS_TABLES hasn't been increased, the
+ performance of named table lookup will degrade.
+
+
+ OTP-14110 Application(s): ssh
+
+ *** HIGHLIGHT ***
+
+ Modernization of key exchange algorithms. See
+ draft-ietf-curdle-ssh-kex-sha2 for a discussion.
+
+ Removed an outdated weak algorithm and added stronger
+ replacements to keep interoperability with other modern
+ ssh clients and servers. The default ordering of the
+ algorithms is also adjusted.
+
+ Retired: The nowadays unsecure key-exchange
+ diffie-hellman-group1-sha1 is not enabled by default,
+ but can be enabled with the option
+ preferred-algorithms.
+
+ Added: The new stronger key-exchange
+ diffie-hellman-group16-sha512,
+ diffie-hellman-group18-sha512 and
+ diffie-hellman-group14-sha256 are added and enabled by
+ default.
+
+ The questionable [RFC 6194] sha1-based algorithms
+ diffie-hellman-group-exchange-sha1 and
+ diffie-hellman-group14-sha1 are however still kept
+ enabled by default for compatibility with ancient
+ clients and servers that lack modern key-exchange
+ alternatives. When the draft-ietf-curdle-ssh-kex-sha2
+ becomes an rfc, those sha1-based algorithms and
+ diffie-hellman-group1-sha1 will be deprecated by IETF.
+ They might then be removed from the default list in
+ Erlang/OTP.
+
+
+ OTP-14146 Application(s): asn1
+
+ The deprecated module asn1rt has been removed. The
+ deprecated functions asn1ct:encode/3 and
+ asn1ct:decode/3 have been removed. The undocumented
+ function asn1ct:encode/2 has been removed.
+
+
+ OTP-14152 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics/1 with arguments inspecting scheduler
+ and run queue states have been changed due to the dirty
+ scheduler support. Code using this functionality may
+ have to be rewritten taking these incompatibilities
+ into consideration. Examples of such uses are calls to
+ erlang:statistics(scheduler_wall_time),
+ statistics(total_run_queue_lengths),
+ statistics(total_active_tasks), etc.
+
+
+ OTP-14171 Application(s): crypto
+
+ Raised minimum requirement for OpenSSL version to
+ OpenSSL-0.9.8.c although we recommend a much higher
+ version, that is a version that is still maintained
+ officially by the OpenSSL project. Note that using such
+ an old version may restrict the crypto algorithms
+ supported.
+
+
+ OTP-14263 Application(s): ssh
+
+ Removed the option public_key_alg which was deprecated
+ in 18.2. Use pref_public_key_algs instead.
+
+
+ OTP-14264 Application(s): ssh
+
+ The SSH application is refactored regarding daemon
+ starting. The resolution of contradicting Host argument
+ and ip option were not described. There were also
+ strange corner cases when the 'any' value was used in
+ Host argument or ip option. This is (hopefully)
+ resolved now, but it may cause incompatibilities for
+ code using both Host and the ip option. The value
+ 'loopback' has been added for a correct way of naming
+ those addresses.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preparation for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14343 Application(s): diameter
+
+ Improve performance of message encode/decode and
+ related handling.
+
+ Dictionaries using @custom_types or @codecs will need
+ to adapt the corresponding functions to accept an
+ additional argument that is now passed through
+ encode/decode, which was required to remove various
+ process dictionary-based workarounds that have been
+ used to solve problems in the past.
+
+
+ OTP-14531 Application(s): stdlib
+
+ The state machine engine gen_statem can now handle
+ generic time-outs (multiple named) as well as absolute
+ time-out time. See the documentation.
+
+ The gen_statem callback Module:init/1 has become
+ mandatory to harmonize with other gen_* modules. This
+ may be an incompatibility for gen_statem callback
+ modules that use gen_statem:enter_loop/4-6.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13961 Application(s): asn1
+
+ The error tuple returned from the encode and decode
+ functions will now include the stack backtrace to make
+ it easier to understand what went wrong.
+
+
+ OTP-14146 Application(s): asn1
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated module asn1rt has been removed. The
+ deprecated functions asn1ct:encode/3 and
+ asn1ct:decode/3 have been removed. The undocumented
+ function asn1ct:encode/2 has been removed.
+
+
+ OTP-14219 Application(s): asn1
+
+ *** HIGHLIGHT ***
+
+ The new 'maps' option changes the representation of the
+ types SEQUENCE and SET to be maps (instead of records).
+
+
+ Full runtime dependencies of asn1-5.0: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14332 Application(s): common_test
+ Related Id(s): seq13299
+
+ Errors in the documentation for user HTML stylesheets
+ have been corrected.
+
+
+ OTP-14400 Application(s): common_test, snmp, stdlib
+
+ Internal code change: Calls to catch followed by a call
+ to erlang:get_stacktrace/0 has been rewritten to use
+ try instead of catch to make the code future-proof.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13806 Application(s): common_test
+
+ The ct_slave modules now handle nodenames in the same
+ way as nodenames passed to -sname. That means
+ ct_slave:start('[email protected]'). will now work.
+
+
+ OTP-14179 Application(s): common_test
+
+ Added the new option, keep_logs. If setting the value
+ for this option to an integer, N, common_test will
+ remove all ct_run.* directories in the current log
+ directory, except the N newest.
+
+
+ OTP-14284 Application(s): common_test
+
+ The existing ct_netconfc:open/1,2 opens an SSH
+ connection with one SSH channel realizing one Netconf
+ session. To allow testing of multiple sessions over the
+ same SSH connection, the following functions are added
+ to ct_netconfc:
+
+ * connect/1,2 - establish an SSH connection *
+ disconnect/1 - close the given SSH connection *
+ session/1,2,3 - open an ssh channel on the given
+ connection and send 'hello' to start a Netconf session
+
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ OTP-14415 Application(s): common_test
+ Related Id(s): seq13315
+
+ The function ct_ssh:shell/2,3 is added.
+
+
+ Full runtime dependencies of common_test-1.15: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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-2.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13690 Application(s): compiler, stdlib
+
+ For many releases, it has been legal to override a BIF
+ with a local function having the same name. However,
+ calling a local function with the same name as guard
+ BIF as filter in a list comprehension was not allowed.
+
+
+ OTP-14408 Application(s): compiler
+ Related Id(s): ERL-417
+
+ compile:forms/2 would not return the module name as
+ documented when one of the options 'from_core',
+ 'from_asm', or 'from_beam' was given. Also, the
+ compiler would crash if one of those options was
+ combined with 'native'.
+
+
+ --- Improvements and New Features ---
+
+ OTP-12148 Application(s): compiler, erts
+
+ Optimized test for tuples with an atom as first
+ element.
+
+
+ OTP-13794 Application(s): compiler
+
+ Compilation of modules with huge literal binary strings
+ is now much faster.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13856 Application(s): compiler
+
+ The undocumented and unsupported module sys_pre_expand
+ has been removed. As a partial replacement for the
+ functionality, there is a new function
+ erl_internal:add_predefined_functions/1 and
+ erl_expand_records will now add a module prefix to
+ calls to BIFs and imported functions.
+
+
+ OTP-13924 Application(s): compiler
+
+ The internal compiler passes now start all generated
+ variables with "@" to avoid any conflicts with
+ variables in languages such as Elixir or LFE.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14042 Application(s): compiler
+
+ Code generation for complicated guards have been
+ improved.
+
+
+ OTP-14058 Application(s): compiler
+
+ The compiler has new warnings for repeated identical
+ map keys.
+
+ A map expression such as,
+
+ #{'a' => 1, 'b' => 2, 'a' => 3}.
+
+ will produce a warning for the repeated key 'a'.
+
+
+ OTP-14071 Application(s): compiler, stdlib
+
+ By default, there will now be a warning when export_all
+ is used. The warning can be disabled using
+ nowarn_export_all.
+
+
+ OTP-14072 Application(s): compiler
+
+ Optimize maps pattern matching by only examining the
+ common keys in each clause first instead of all keys.
+ This will reduce the number of lookups of each key in
+ maps pattern matching.
+
+
+ OTP-14087 Application(s): compiler
+
+ There is a new 'deterministic' option to omit 'source'
+ and 'options' tuples in the BEAM file.
+
+
+ OTP-14125 Application(s): compiler, dialyzer
+ Related Id(s): ERL-308
+
+ Analyzing modules with binary construction with huge
+ strings is now much faster. The compiler also compiles
+ such modules slightly faster.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14221 Application(s): compiler
+
+ compile:file/2 now accepts the option extra_chunks to
+ include extra chunks in the BEAM file.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ OTP-14401 Application(s): compiler
+
+ In a future release, erlang:get_stacktrace/0 will
+ probably only work when called from within a 'try'
+ expression (otherwise it will return [].
+
+ To help prepare for that change, the compiler will now
+ by default warn if 'get_stacktrace/0' is used in a way
+ that will not work in the future. Note that the warning
+ will not be issued if 'get_stacktrace/0' is used in a
+ function that uses neither 'catch' nor 'try' (because
+ that could be a legal use if the function is called
+ from within a 'try'.
+
+
+ Full runtime dependencies of compiler-7.1: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosProperty-1.2.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14006 Application(s): cosProperty, orber
+
+ Fix dialyzer warnings in Orber and CosProperty.
+
+
+ Full runtime dependencies of cosProperty-1.2.2: erts-7.0, kernel-3.0,
+ mnesia-4.12, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14247 Application(s): crypto
+
+ LibreSSL can now be used by the modernized crypto app.
+
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ OTP-14435 Application(s): crypto
+ Related Id(s): OTP-14313, PR-1393, PR-1462
+
+ Fix a bug in aes cfb128 function introduced by the bug
+ fix in GitHub pull request #1393.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13779 Application(s): crypto
+ Related Id(s): ERL-82, PR-1138
+
+ Add basic support for CMAC
+
+
+ OTP-13873 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed functions deprecated in crypto-3.0 first
+ released in OTP-R16B01
+
+
+ OTP-13900 Application(s): crypto
+
+ *** HIGHLIGHT ***
+
+ The crypto application now supports OpenSSL 1.1.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ *** HIGHLIGHT ***
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14092 Application(s): crypto
+ Related Id(s): PR-1291
+
+ Crypto chacha20-poly1305 as in RFC 7539 enabled for
+ OpenSSL >= 1.1.
+
+ Thanks to mururu.
+
+
+ OTP-14140 Application(s): crypto
+ Related Id(s): ERL-165, PR-1299
+
+ RSA key generation added to crypto:generate_key/2.
+ Thanks to wiml.
+
+ An interface is also added to
+ public_key:generate_key/1.
+
+
+ OTP-14171 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Raised minimum requirement for OpenSSL version to
+ OpenSSL-0.9.8.c although we recommend a much higher
+ version, that is a version that is still maintained
+ officially by the OpenSSL project. Note that using such
+ an old version may restrict the crypto algorithms
+ supported.
+
+
+ OTP-14274 Application(s): crypto
+
+ Deprecate crypto:rand_uniform/2 as it is not
+ cryptographically strong
+
+
+ OTP-14317 Application(s): crypto, stdlib
+ Related Id(s): PR-1372
+
+ The Crypto application now supports generation of
+ cryptographically strong random numbers (floats < 1.0
+ and integer arbitrary ranges) as a plugin to the 'rand'
+ module.
+
+
+ OTP-14436 Application(s): crypto
+ Related Id(s): PR-1396
+
+ This replaces the hard coded test values for AES, CMAC
+ and GCM ciphers with the full validation set from
+ NIST's CAVP program.
+
+
+ Full runtime dependencies of crypto-4.0: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14296 Application(s): debugger, stdlib
+
+ The Erlang shell, qlc:string_to_handle(), and the
+ Debugger (the Evaluator area and Edit variable window
+ of the Bindings area) can parse pids, ports,
+ references, and external funs, as long as they can be
+ created in the running system.
+
+
+ OTP-14318 Application(s): debugger
+
+ Fix editing of simple binary values in the Bindings
+ area of the Debugger's Attach Process Window.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ Full runtime dependencies of debugger-4.2.2: compiler-5.0, erts-6.0,
+ kernel-3.0, stdlib-2.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14423 Application(s): dialyzer
+ Related Id(s): OTP-14323
+
+ The check of bad type variables in type declarations
+ was mistakingly removed in Erlang/OTP 18, and is now
+ re-introduced.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14125 Application(s): compiler, dialyzer
+ Related Id(s): ERL-308
+
+ Analyzing modules with binary construction with huge
+ strings is now much faster. The compiler also compiles
+ such modules slightly faster.
+
+
+ OTP-14127 Application(s): dialyzer
+
+ The peak memory consumption is reduced.
+
+
+ OTP-14218 Application(s): dialyzer
+ Related Id(s): OTP-14127
+
+ Warnings about unknown types are now also generated for
+ types not used by any function specification.
+
+
+ OTP-14336 Application(s): dialyzer, otp
+
+ TypEr has been removed as separate application and is
+ now a part of the Dialyzer application. Documentation
+ for TypEr has been added in the Dialyzer application.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ Full runtime dependencies of dialyzer-3.2: compiler-7.0, erts-8.0,
+ hipe-3.15.4, kernel-5.0, stdlib-3.0, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14338 Application(s): diameter
+
+ Let candidate peers be passed to diameter:call/4
+
+ With call option peer, to allow a request to be sent to
+ a peer that hasn't advertised support for the
+ application in question.
+
+ RFC 6733 2.4 requires a node to send the application
+ identifiers of all locally supported applications at
+ capabilities exchange, but not all nodes respect this
+ for the common application, and diameter itself will
+ send D[WP][RA] without the common application having
+ been explicitly advertised. Regarding the common
+ application as implicit renders Result-Code 5010
+ (DIAMETER_NO_COMMON_APPLICATION) meaningless however,
+ so allow any request to be sent as long as there is a
+ configured dictionary to support it.
+
+
+ OTP-14343 Application(s): diameter
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improve performance of message encode/decode and
+ related handling.
+
+ Dictionaries using @custom_types or @codecs will need
+ to adapt the corresponding functions to accept an
+ additional argument that is now passed through
+ encode/decode, which was required to remove various
+ process dictionary-based workarounds that have been
+ used to solve problems in the past.
+
+
+ OTP-14455 Application(s): diameter
+ Related Id(s): ERL-332
+
+ Add transport options to avoid deadlock and allow for
+ load regulation.
+
+ Both diameter_tcp and diameter_sctp now accept two new
+ configuration options: sender and message_cb. The
+ former causes outgoing sends to take place in a
+ dedicated process, to avoid the possibility of deadlock
+ when both the transport process and its peer block in
+ send. The latter allows a callback to control the
+ reading of messages on the socket, to allow for
+ backpressure towards peers when the rate of incoming
+ traffic is greater than can otherwise be handled.
+
+ Neither of these options are yet documented, but are
+ unlikely to change unless problems are discovered. The
+ sender option is not the default since it should
+ probably always be used in combination with message_cb,
+ to prevent incoming requests from being read at a
+ higher rate than a peer allows outgoing answers to be
+ sent.
+
+
+ Full runtime dependencies of diameter-2.0: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14277 Application(s): edoc
+
+ To support stable builds, edoc no longer includes time
+ stamps in the footer for generated files.
+
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ Full runtime dependencies of edoc-0.9: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14333 Application(s): erl_docgen
+ Related Id(s): ERL-393
+
+ Sort index of C functions alphabetically in the
+ sidebar.
+
+
+ OTP-14431 Application(s): erl_docgen
+
+ The right side index of functions now handle functions
+ with same name but different arity.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14371 Application(s): erl_docgen
+ Related Id(s): PR-1215
+
+ Improvements in the OTP documentation style.
+
+ (Thanks to Mariano Guerra)
+
+
+ Full runtime dependencies of erl_docgen-0.7: edoc-0.7.13, erts-6.0,
+ stdlib-2.5, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14310 Application(s): erl_interface, kernel
+
+ Fix bug where gethostname would incorrectly fail with
+ enametoolong on Linux.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format in the distribution between erlang nodes,
+ erl_interface, and jinterface. The new utf8 format for
+ atoms was introduced in OTP R16. An OTP 20 node can
+ therefore not connect to nodes older than R16.
+
+ Atoms that can be encoded using latin1 are still
+ encoded by term_to_binary() using latin1 encoding. Note
+ that all atoms will by default be encoded using utf8 in
+ a future Erlang/OTP release. For more information see
+ the documentation of erlang:term_to_binary/2.
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13968 Application(s): erts
+
+ Fix various bugs regarding loading, upgrade and purge
+ of HiPE compiled code:
+
+ -- The native code memory for a purged module was never
+ deallocated.
+
+ -- Wrong functions could in some cases be called after
+ a module upgrade.
+
+ -- erlang:check_process_code did not check for
+ recursive calls made from native code.
+
+
+ OTP-14238 Application(s): erts, hipe
+
+ Hipe optional LLVM backend does require LLVM version
+ 3.9 or later as older versions forced strong
+ dependencies on erts internals structures.
+
+
+ OTP-14255 Application(s): erts
+ Related Id(s): OTP-14400, OTP-14401
+
+ When an exception such as 'throw(HugeTerm)' was caught,
+ HugeTerm term would be kept in the process until the
+ next exception occurred, potentially increasing the
+ heap size for the process. That has been corrected.
+
+
+ OTP-14303 Application(s): erts
+
+ Slogans in crash dumps have been extended to print more
+ complex terms.
+
+
+ OTP-14304 Application(s): erts
+
+ Fixed bug when using enif_inspect_binary in combination
+ with enif_copy. In some circumstances the inspected
+ binary could be reallocated by the enif_copy call when
+ it shouldn't have been.
+
+
+ OTP-14305 Application(s): erts
+
+ The address family local (AF_UNIX / AF_LOCAL) now does
+ not ensure zero termination of Linux Abstract Addresses
+ so they can use all bytes.
+
+
+ OTP-14307 Application(s): erts
+ Related Id(s): PR-1379
+
+ Use -fno-PIE for Gentoo Hardened and others that don't
+ accept linker flag -no-pie.
+
+
+ OTP-14314 Application(s): erts
+ Related Id(s): ERL-369, PR-1394
+
+ Disable hipe for ppc64le architecture (little endian)
+ as it is not, and has never been, supported. It was
+ earlier equated with ppc64 (big endian) which lead to
+ broken build without --disable-hipe.
+
+
+ OTP-14324 Application(s): erts
+
+ Fix 'epmd -kill' to return a failure exit status code
+ if epmd was not killed because of some error.
+
+
+ OTP-14335 Application(s): erts
+
+ Fixed the following dirty scheduler related bugs:
+
+ -- the +SDPcpu command line argument could cause the
+ amount of dirty CPU schedulers to be set to zero
+
+ -- erlang:system_flag(multi_scheduling, _) failed when
+ only one normal scheduler was used together with dirty
+ scheduler support
+
+
+ OTP-14352 Application(s): erts
+
+ Fix erlexec to handle mismatch in sysconf and proc fs
+ when figuring out the cpu topology. This behaviour has
+ been seen when using docker together with
+ --cpuset-cpus.
+
+
+ OTP-14360 Application(s): erts
+ Related Id(s): ERL-401, PR-1417
+
+ Fixed memory segment cache used for multiblock
+ carriers. Huge (> 2GB) memory segments could cause a VM
+ crash. Creation of such huge memory segments used for
+ multiblock carriers is however very uncommon.
+
+
+ OTP-14390 Application(s): erts, kernel
+
+ Fix bug causing code:is_module_native to falsely return
+ true when local call trace is enabled for the module.
+
+
+ OTP-14411 Application(s): erts
+
+ Fix emulator crash when receive tracing on a
+ trace_delivered message.
+
+
+ OTP-14424 Application(s): erts
+
+ Fix file:sendfile error handling on SunOS when a
+ connection is closed during transmission.
+
+
+ OTP-14433 Application(s): erts
+
+ escript did not handle paths with spaces correct.
+
+
+ OTP-14437 Application(s): erts
+ Related Id(s): ERL-360
+
+ Fix erroneous lock check assertion when wx is run on
+ MacOS X.
+
+
+ OTP-14441 Application(s): erts
+ Related Id(s): ERL-430
+
+ Active-mode TCP sockets are now cleaned up properly on
+ send/shutdown errors.
+
+
+ OTP-14447 Application(s): erts
+
+ Fix compilation of hipe_mkliterals when the LIBS
+ configure variable had to be set.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11695 Application(s): erts
+
+ Added erlang:garbage_collect/2 that takes an option
+ list as the last argument that can be used to control
+ whether a minor or a major garbage collection is to be
+ done. Doing a minor collection only collects terms that
+ have recently died, but is cheaper than a major
+ collection.
+
+
+ OTP-12148 Application(s): compiler, erts
+
+ Optimized test for tuples with an atom as first
+ element.
+
+
+ OTP-13529 Application(s): erts
+
+ Erlang literals are no longer copied during process to
+ process messaging.
+
+
+ OTP-13684 Application(s): erts
+
+ Add support in the erl_nif API for asynchronous message
+ notifications when sockets or other file descriptors
+ are ready to accept read or write operations. The
+ following functions have been added:
+
+ -- enif_select
+
+ -- enif_monitor_process
+
+ -- enif_demonitor_process
+
+ -- enif_compare_monitors
+
+ -- enif_open_resource_type_x
+
+
+ OTP-13692 Application(s): erts, stdlib
+
+ There are two new guard BIFs 'floor/1' and 'ceil/1'.
+ They both return integers. In the 'math' module, there
+ are two new BIFs with the same names that return
+ floating point values.
+
+
+ OTP-13827 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove deprecated erlang:hash/2.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13842 Application(s): erts
+
+ Added support in zlib for extraction of the inflation
+ dictionary.
+
+
+ OTP-13844 Application(s): erts
+ Related Id(s): OTP-13833
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The previously used purge strategy has been removed.
+ The optional purge strategy introduced in ERTS version
+ 8.1 is now the only strategy available.
+
+ The new purge strategy is slightly incompatible with
+ the old strategy. Previously processes holding funs
+ that referred to the module being purged either failed
+ a soft purge, or was killed during a hard purge. The
+ new strategy completely ignores funs. If funs referring
+ to the code being purged exist, and are used after a
+ purge, an exception will be raised upon usage. That is,
+ the behavior will be exactly the same as the case when
+ a fun is received by a process after the purge.
+
+ For more information see the documentation of
+ erlang:check_process_code/3.
+
+
+ OTP-13860 Application(s): erts
+
+ Dirty schedulers are now enabled by default when the
+ runtime system is built with SMP support.
+
+
+ OTP-13903 Application(s): erts
+
+ Improved ETS lookup/insert/delete speed for large set,
+ bag and duplicate_bag by a significant reduction of the
+ hash load factor. This speed improvement comes at the
+ expense of less than one word per table entry. Tables
+ with less than 256 entries are not affected at all.
+
+
+ OTP-13908 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The NIF library reload feature is not supported
+ anymore. It has been marked as deprecated since OTP
+ R15B. This means that you are only allowed to do one
+ successful call to erlang:load_nif/2 for each module
+ instance. A second call to erlang:load_nif/2 will
+ return {error, {reload, _}} even if the NIF library
+ implements the reload callback.
+
+ Runtime upgrade of a NIF library is still supported by
+ using the Erlang module upgrade mechanics with a
+ current and an old module instance existing at the same
+ time with their corresponding NIF libraries.
+
+
+ OTP-13976 Application(s): erts
+
+ Add erlang:system_info(atom_count) and
+ erlang:system_info(atom_limit) to provide a way to
+ retrieve the current and maximum number of atoms.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14002 Application(s): erts
+
+ erlang:load_nif/2 returns new error type notsup when
+ called for a HiPE compiled module, which is not
+ supported.
+
+
+ OTP-14069 Application(s): erts
+
+ Add driver and nif lock instrumentation to lcnt
+
+
+ OTP-14149 Application(s): erts
+
+ Reduce memory pressure by converting sub-binaries to
+ heap-binaries when possible. This is done during
+ garbage collection.
+
+
+ OTP-14152 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dirty schedulers are now enabled and supported on
+ Erlang runtime systems with SMP support.
+
+ Besides support for dirty NIFs also support for dirty
+ BIFs and dirty garbage collection have been introduced.
+ All garbage collections that potentially will take a
+ long time to complete are now performed on dirty
+ schedulers if enabled.
+
+ erlang:statistics/1 with arguments inspecting scheduler
+ and run queue states have been changed due to the dirty
+ scheduler support. Code using this functionality may
+ have to be rewritten taking these incompatibilities
+ into consideration. Examples of such uses are calls to
+ erlang:statistics(scheduler_wall_time),
+ statistics(total_run_queue_lengths),
+ statistics(total_active_tasks), etc.
+
+
+ OTP-14178 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Atoms may now contain arbitrary Unicode characters.
+
+
+ OTP-14186 Application(s): erts, kernel
+
+ Introduce an event manager in Erlang to handle OS
+ signals. A subset of OS signals may be subscribed to
+ and those are described in the Kernel application.
+
+
+ OTP-14201 Application(s): erts
+ Related Id(s): PR-1293
+
+ The escript program now handles symbolic links to
+ escripts.
+
+ This is useful for standalone systems with escripts
+ residing on a bin directory not included in the
+ execution path (as it may cause their erl program(s) to
+ override the desired one). Instead the escripts can be
+ referred to via symbolic links from a bin directory in
+ the path.
+
+
+ OTP-14205 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ All uses of the magic binary kludge has been replaced
+ by uses of erlang references.
+
+ A magic binary was presented as an empty binary, but
+ actually referred other data internally in the Erlang
+ VM. Since they were presented as empty binaries,
+ different magic binaries compared as equal, and also
+ lost their internal data when passed out of an erlang
+ node.
+
+ The new usage of references has not got any of these
+ strange semantic issues, and the usage of these
+ references has been optimized to give the same
+ performance benefits as well as memory usage benefits
+ as magic binaries had.
+
+ A couple of examples of previous uses of magic binaries
+ are match specifications and NIF resources.
+
+
+ OTP-14272 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been deprecated and are
+ scheduled for removal in OTP-21.
+
+ In preparation for this, the threaded non-smp emulator
+ is no longer built by default and has to be enabled
+ using the --enable-plain-emulator to configure.
+
+
+ OTP-14330 Application(s): erts, hipe
+ Related Id(s): PR-1397
+
+ Allow HiPE to run on VM built with --enable-m32-build.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format in the distribution between erlang nodes,
+ erl_interface, and jinterface. The new utf8 format for
+ atoms was introduced in OTP R16. An OTP 20 node can
+ therefore not connect to nodes older than R16.
+
+ Atoms that can be encoded using latin1 are still
+ encoded by term_to_binary() using latin1 encoding. Note
+ that all atoms will by default be encoded using utf8 in
+ a future Erlang/OTP release. For more information see
+ the documentation of erlang:term_to_binary/2.
+
+
+ OTP-14347 Application(s): erts, stdlib
+ Related Id(s): PR-1412
+
+ Added function re:version/0 which returns information
+ about the OTP internal PCRE version used for
+ implementation of the re module.
+
+
+ OTP-14348 Application(s): erts
+
+ Added new debug bif erlang:list_to_port/1.
+
+
+ OTP-14356 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Various improvements of timer management internally in
+ the VM. These improvements both reduced memory
+ consumption of timer wheels as well as reduce the
+ amount of work that has to be performed in order to
+ handle timers.
+
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ OTP-14380 Application(s): erts
+
+ Added the following erl command line arguments with
+ which you can set suggested stack for dirty schedulers:
+
+ -- +sssdcpu -- for dirty CPU schedulers
+
+ -- +sssdio -- for dirty IO schedulers
+
+ The default suggested stack size for dirty schedulers
+ is 40 kilo words.
+
+
+ OTP-14381 Application(s): erts
+
+ Changed erts startup program name, argv 0, to use the
+ environment variable ESCRIPT_NAME so that erlc,
+ dialyzer, typer, ct_run, or the escript name can be
+ seen with external programs, such as ps and htop
+ (depending on options), on unix.
+
+
+ OTP-14384 Application(s): erts
+ Related Id(s): OTP-14201
+
+ Improvements of escript documentation.
+
+
+ OTP-14385 Application(s): erts
+ Related Id(s): PR-1413
+
+ Add function enif_hash for NIFs to calculate hash
+ values of arbitrary terms.
+
+
+ OTP-14407 Application(s): erts, otp
+
+ *** HIGHLIGHT ***
+
+ './configure --enable-lock-counter' will enabling
+ building of an additional emulator that has support for
+ lock counting. (The option previously existed, but
+ would turn on lock counting in the default emulator
+ being built.) To start the lock-counting emulator, use
+ 'erl -emu_type lcnt'.
+
+ On Windows, erl recognized the undocumented option
+ -debug for starting a debug-compiled emulator. That
+ option has been removed. Use 'erl -emu_type debug'
+ instead.
+
+
+ OTP-14425 Application(s): erts, kernel
+
+ Warnings have been added to the relevant documentation
+ about not using un-secure distributed nodes in exposed
+ environments.
+
+
+ OTP-14434 Application(s): erts
+
+ Improvement of the documentation of the environment
+ variable ERL_CRASH_DUMP_SECONDS as well as the default
+ behavior when it is not set.
+
+
+ OTP-14438 Application(s): erts
+
+ Enabled off-heap message queue for some system
+ processes that might receive large amounts of messages.
+
+
+ OTP-14442 Application(s): erts
+ Related Id(s): ERIERL-22
+
+ ETS lock indexes have been replaced with the table name
+ in LCNT results.
+
+
+ OTP-14453 Application(s): erts
+ Related Id(s): PR-1400
+
+ Introduced the new functions enif_whereis_pid() and
+ enif_whereis_port().
+
+
+ Full runtime dependencies of erts-9.0: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14287 Application(s): eunit
+
+ The surefire reports from eunit will no longer have
+ names with embedded double quotes.
+
+
+ Full runtime dependencies of eunit-2.3.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.16 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13862 Application(s): hipe
+ Related Id(s): PR-1154
+
+ Fix hipe compiler flags o0 and o1 that have previously
+ been ignored by mistake.
+
+
+ OTP-13983 Application(s): hipe
+
+ Fix LLVM backend to not convert all remote calls to own
+ module, like ?MODULE:foo(), into local calls.
+
+
+ OTP-14238 Application(s): erts, hipe
+
+ Hipe optional LLVM backend does require LLVM version
+ 3.9 or later as older versions forced strong
+ dependencies on erts internals structures.
+
+
+ OTP-14302 Application(s): hipe
+ Related Id(s): ERL-376, PR-1386
+
+ Fix a bug that has been seen causing failed loading of
+ hipe compiled modules on NetBSD due to unaligned data
+ pointers.
+
+
+ OTP-14306 Application(s): hipe
+ Related Id(s): ERL-278, PR-1392
+
+ Fix miscompilation bug in hipe that could cause wrong
+ function clause to be called from non-tail calls, where
+ the return value is unused, if the right function
+ clause is only reachable from those non-tail calls.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13810 Application(s): hipe
+ Related Id(s): PR-1124
+
+ Improve hipe compilation time for large functions.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13879 Application(s): hipe
+
+ Speed up hipe compile time register allocation for
+ larger function.
+
+
+ OTP-14261 Application(s): hipe
+ Related Id(s): PR-1360
+
+ Various code generation improvements.
+
+
+ OTP-14293 Application(s): hipe
+ Related Id(s): PR-1380
+
+ Improve hipe compiler to generate code with better CPU
+ register utilization at runtime by the use of 'Live
+ Range Splitting' techniques.
+
+
+ OTP-14330 Application(s): erts, hipe
+ Related Id(s): PR-1397
+
+ Allow HiPE to run on VM built with --enable-m32-build.
+
+
+ Full runtime dependencies of hipe-3.16: compiler-5.0, erts-9.0,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14394 Application(s): inets
+
+ httpd_util:rfc1123_date/1 gracefully handle invalid DST
+ dates by returning the original time in the expected
+ rfc1123 format.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14404 Application(s): inets
+
+ Add unicode binary support to http_uri functions
+
+
+ OTP-14429 Application(s): inets
+
+ httpc - Change timeout handling so the redirects cause
+ a new timer to be set. This means that a simple
+ redirected request could return after 2*timeout
+ milliseconds.
+
+
+ Full runtime dependencies of inets-6.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14337 Application(s): erl_interface, erts, jinterface
+
+ Remove generation of atoms in old latin1 external
+ format in the distribution between erlang nodes,
+ erl_interface, and jinterface. The new utf8 format for
+ atoms was introduced in OTP R16. An OTP 20 node can
+ therefore not connect to nodes older than R16.
+
+ Atoms that can be encoded using latin1 are still
+ encoded by term_to_binary() using latin1 encoding. Note
+ that all atoms will by default be encoded using utf8 in
+ a future Erlang/OTP release. For more information see
+ the documentation of erlang:term_to_binary/2.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13006 Application(s): kernel
+ Related Id(s): ERIERL-20, ERL-429
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Function inet:ntoa/1 has been fixed to return lowercase
+ letters according to RFC 5935 that has been approved
+ after this function was written. Previously uppercase
+ letters were returned so this may be a backwards
+ incompatible change depending on how the returned
+ address string is used.
+
+ Function inet:parse_address/1 has been fixed to accept
+ %-suffixes on scoped addresses. The addresses does not
+ work yet, but gives no parse errors.
+
+
+ OTP-14310 Application(s): erl_interface, kernel
+
+ Fix bug where gethostname would incorrectly fail with
+ enametoolong on Linux.
+
+
+ OTP-14390 Application(s): erts, kernel
+
+ Fix bug causing code:is_module_native to falsely return
+ true when local call trace is enabled for the module.
+
+
+ OTP-14426 Application(s): kernel
+
+ Add early reject of invalid node names from distributed
+ nodes.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13805 Application(s): kernel
+
+ Since Unicode is now allowed in atoms an extra check is
+ needed for node names, which are restricted to Latin-1.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-13909 Application(s): kernel
+
+ file:write_file(Name, Data, [raw]) would turn Data into
+ a single binary before writing. This meant it could not
+ take advantage of the writev() system call if it was
+ given a list of binaries and told to write with raw
+ mode.
+
+
+ OTP-14057 Application(s): kernel
+ Related Id(s): PR-1245
+
+ The performance of the disk_log has been somewhat
+ improved in some corner cases (big items), and the
+ documentation has been clarified.
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14186 Application(s): erts, kernel
+
+ Introduce an event manager in Erlang to handle OS
+ signals. A subset of OS signals may be subscribed to
+ and those are described in the Kernel application.
+
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ OTP-14409 Application(s): kernel
+ Related Id(s): PR-1420
+
+ Added option to store shell_history on disk so that the
+ history can be reused between sessions.
+
+
+ OTP-14417 Application(s): kernel, stdlib
+
+ The size of crash reports created by gen_server,
+ gen_statem and proc_lib is limited with aid of the
+ Kernel application variable error_logger_format_depth.
+ The purpose is to limit the size of the messages sent
+ to the error_logger process when processes with huge
+ message queues or states crash.
+
+ The crash report generated by proc_lib includes the new
+ tag message_queue_len. The neighbour report also
+ includes the new tag current_stacktrace. Finally, the
+ neighbour report no longer includes the tags messages
+ and dictionary.
+
+ The new function error_logger:get_format_depth/0 can be
+ used to retrieve the value of the Kernel application
+ variable error_logger_format_depth.
+
+
+ OTP-14419 Application(s): kernel
+
+ One of the ETS tables used by the global module is
+ created with {read_concurrency, true} in order to
+ reduce contention.
+
+
+ OTP-14425 Application(s): erts, kernel
+
+ Warnings have been added to the relevant documentation
+ about not using un-secure distributed nodes in exposed
+ environments.
+
+
+ Full runtime dependencies of kernel-5.3: erts-9.0, sasl-3.0,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14387 Application(s): megaco
+
+ Typos have been fixed.
+
+
+ Full runtime dependencies of megaco-3.18.2: 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.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14039 Application(s): mnesia
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the wrapping of select continuations in
+ extension plugin handling. This might require the user
+ to rewrite user backend plugin if used.
+
+
+ Full runtime dependencies of mnesia-4.15: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14393 Application(s): observer
+
+ etop had a hardcoded timeout value of 1 second when
+ waiting for data from a remote node. When this expired,
+ which could happen for instance if there were very many
+ processes on the remote node, etop would exit with
+ reason connection_lost. To overcome this problem, the
+ timeout is now changed to be the same as the update
+ interval, which is configurable.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14137 Application(s): observer
+
+ Show dirty-scheduler threads in performance monitor
+ graph and add a column with maximum allocated memory in
+ the Memory Allocators table.
+
+
+ OTP-14270 Application(s): observer
+
+ Keep table and port selection after refresh of tables.
+ Store settings before shutdown and restore when
+ starting application.
+
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ OTP-14345 Application(s): observer
+ Related Id(s): ERL-399
+
+ When observing a node older than OTP-19.0, a pop-up
+ will be displayed when trying to access port
+ information. Earlier, observer would crash in this
+ situation.
+
+
+ Full runtime dependencies of observer-2.4: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- orber-3.8.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14006 Application(s): cosProperty, orber
+
+ Fix dialyzer warnings in Orber and CosProperty.
+
+
+ Full runtime dependencies of orber-3.8.3: erts-7.0, inets-5.10,
+ kernel-3.0, mnesia-4.12, ssl-5.3.4, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.5 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14276 Application(s): parsetools
+ Related Id(s): PR-1357
+
+ Minor documentation fixes
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ Full runtime dependencies of parsetools-2.1.5: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.4.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14258 Application(s): public_key
+
+ Bug for public_key:generate_key({namedCurve,OID})
+ fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14111 Application(s): public_key
+
+ Modernized internal representation used for crl
+ validation by use of maps.
+
+
+ OTP-14294 Application(s): public_key
+
+ Support EC key in pkix_sign/2
+
+
+ Full runtime dependencies of public_key-1.4.1: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14422 Application(s): reltool
+ Related Id(s): OTP-13830
+
+ The User's Guide examples are updated after removal of
+ support for Dets files created with Erlang/OTP R7 and
+ earlier.
+
+
+ Full runtime dependencies of reltool-0.7.4: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14316 Application(s): asn1, crypto, runtime_tools
+ Related Id(s): PR-1390
+
+ Add compile option -compile(no_native) in modules with
+ on_load directive which is not yet supported by HiPE.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ OTP-14357 Application(s): erts, kernel, runtime_tools
+ Related Id(s): PR-1326
+
+ Sockets can now be bound to device (SO_BINDTODEVICE) on
+ platforms where it is supported.
+
+ This has been implemented e.g to support VRF-Lite under
+ Linux; see
+
+ VRF , and GitHub pull request #1326.
+
+
+ Full runtime dependencies of runtime_tools-1.12: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14029 Application(s): sasl
+
+ Documented default values for the 'mod' and
+ 'start_phases' fields in .app files were not allowed as
+ actual values in a .app file. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ Full runtime dependencies of sasl-3.0.4: erts-8.1, kernel-5.0,
+ stdlib-3.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14400 Application(s): common_test, snmp, stdlib
+
+ Internal code change: Calls to catch followed by a call
+ to erlang:get_stacktrace/0 has been rewritten to use
+ try instead of catch to make the code future-proof.
+
+
+ Full runtime dependencies of snmp-5.2.6: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.5 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-12872 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The internal handling of SSH options is re-written.
+
+ Previously there were no checks if a client option was
+ given to a daemon or vice versa. This is corrected now.
+ If your code has e.g. a client-only option in a call to
+ start a daemon, the call will fail.
+
+
+ OTP-14110 Application(s): ssh
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Modernization of key exchange algorithms. See
+ draft-ietf-curdle-ssh-kex-sha2 for a discussion.
+
+ Removed an outdated weak algorithm and added stronger
+ replacements to keep interoperability with other modern
+ ssh clients and servers. The default ordering of the
+ algorithms is also adjusted.
+
+ Retired: The nowadays unsecure key-exchange
+ diffie-hellman-group1-sha1 is not enabled by default,
+ but can be enabled with the option
+ preferred-algorithms.
+
+ Added: The new stronger key-exchange
+ diffie-hellman-group16-sha512,
+ diffie-hellman-group18-sha512 and
+ diffie-hellman-group14-sha256 are added and enabled by
+ default.
+
+ The questionable [RFC 6194] sha1-based algorithms
+ diffie-hellman-group-exchange-sha1 and
+ diffie-hellman-group14-sha1 are however still kept
+ enabled by default for compatibility with ancient
+ clients and servers that lack modern key-exchange
+ alternatives. When the draft-ietf-curdle-ssh-kex-sha2
+ becomes an rfc, those sha1-based algorithms and
+ diffie-hellman-group1-sha1 will be deprecated by IETF.
+ They might then be removed from the default list in
+ Erlang/OTP.
+
+
+ OTP-14117 Application(s): ssh
+
+ Modernized internal representation of sftp by use of
+ maps.
+
+
+ OTP-14193 Application(s): ssh
+
+ *** HIGHLIGHT ***
+
+ The Extension Negotiation Mechanism and the extension
+ server-sig-algs in draft-ietf-curdle-ssh-ext-info-05
+ are implemented.
+
+ The related draft-ietf-curdle-rsa-sha2-05 is
+ implemented and introduces the signature algorithms
+ rsa-sha2-256 and rsa-sha2-512.
+
+
+ OTP-14216 Application(s): ssh
+
+ The 'timeout' and 'connect_timeout' handling in
+ ssh_sftp:start_channel documentation is clarified.
+
+
+ OTP-14243 Application(s): ssh
+
+ The functions ssh:connect, ssh:shell and
+ ssh:start_channel now accept an IP-tuple as Host
+ destination argument.
+
+
+ OTP-14259 Application(s): ssh
+
+ The function ssh:daemon_info/1 now returns Host and
+ Profile as well as the Port info in the property list.
+
+
+ OTP-14263 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the option public_key_alg which was deprecated
+ in 18.2. Use pref_public_key_algs instead.
+
+
+ OTP-14264 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The SSH application is refactored regarding daemon
+ starting. The resolution of contradicting Host argument
+ and ip option were not described. There were also
+ strange corner cases when the 'any' value was used in
+ Host argument or ip option. This is (hopefully)
+ resolved now, but it may cause incompatibilities for
+ code using both Host and the ip option. The value
+ 'loopback' has been added for a correct way of naming
+ those addresses.
+
+
+ OTP-14267 Application(s): ssh
+ Related Id(s): OTP-14266
+
+ The supervisor code is refactored. The naming of
+ listening IP-Port-Profile triples are slightly changed
+ to improve consistency in strange corner cases as
+ resolved by OTP-14264
+
+
+ OTP-14312 Application(s): ssh
+
+ The idle_time option can now be used in daemons.
+
+
+ OTP-14361 Application(s): ssh
+
+ Added test cases for IETF-CURDLE Extension Negotiation
+ (ext-info)
+
+
+ OTP-14362 Application(s): ssh
+ Related Id(s): OTP-14361
+
+ Testcases for IETF-CURDLE extension server-sig-algs
+ including rsa-sha2-*
+
+
+ OTP-14399 Application(s): ssh
+
+ The option auth_methods can now also be used in clients
+ to select which authentication options that are used
+ and in which order.
+
+
+ OTP-14410 Application(s): ssh
+
+ Checks that a ECDSA public key (ecdsa-sha2-nistp*)
+ stored in a file has the correct size.
+
+
+ Full runtime dependencies of ssh-4.5: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14421 Application(s): ssl
+
+ ECDH-ECDSA key exchange supported, was accidently
+ dismissed in earlier versions.
+
+
+ OTP-14443 Application(s): ssl
+
+ Correct close semantics for active once connections.
+ This was a timing dependent bug the resulted in the
+ close message not always reaching the ssl user process.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13820 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ TLS-1.2 clients will now always send hello messages on
+ its own format, as opposed to earlier versions that
+ will send the hello on the lowest supported version,
+ this is a change supported by the latest RFC.
+
+ This will make interoperability with some newer servers
+ smoother. Potentially, but unlikely, this could cause a
+ problem with older servers if they do not adhere to the
+ RFC and ignore unknown extensions.
+
+
+ OTP-13921 Application(s): crypto, ssl
+ Related Id(s): PR-1180
+
+ *** HIGHLIGHT ***
+
+ Allow Erlang/OTP to use OpenSSL in FIPS-140 mode, in
+ order to satisfy specific security requirements (mostly
+ by different parts of the US federal government).
+
+ See the new crypto users guide "FIPS mode" chapter
+ about building and using the FIPS support which is
+ disabled by default.
+
+ (Thanks to dszoboszlay and legoscia)
+
+
+ OTP-14076 Application(s): ssl
+
+ Implemented DTLS cookie generation, required by spec,
+ instead of using a hardcoded value.
+
+
+ OTP-14077 Application(s): ssl
+
+ Implement sliding window replay protection of DTLS
+ records.
+
+
+ OTP-14197 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ TLS client processes will by default call
+ public_key:pkix_verify_hostname/2 to verify the
+ hostname of the connection with the server certificates
+ specified hostname during certificate path validation.
+ The user may explicitly disables it. Also if the
+ hostname can not be derived from the first argument to
+ connect or is not supplied by the server name
+ indication option, the check will not be performed.
+
+
+ OTP-14291 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Extend connection_information/[1,2] . The values
+ session_id, master_secret, client_random and
+ server_random can no be accessed by
+ connection_information/2. Note only session_id will be
+ added to connection_information/1. The rational is that
+ values concerning the connection security should have
+ to be explicitly requested.
+
+
+ OTP-14382 Application(s): ssl
+
+ Chacha cipher suites are currently not tested enough to
+ be most preferred ones
+
+
+ OTP-14388 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Basic support for DTLS that been tested together with
+ OpenSSL.
+
+ Test by providing the option {protocol, dtls} to the
+ ssl API functions connect and listen.
+
+
+ Full runtime dependencies of ssl-8.2: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.2, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13690 Application(s): compiler, stdlib
+
+ For many releases, it has been legal to override a BIF
+ with a local function having the same name. However,
+ calling a local function with the same name as guard
+ BIF as filter in a list comprehension was not allowed.
+
+
+ OTP-14295 Application(s): stdlib
+ Related Id(s): PR-1372
+
+ A new (default) pseudo-random number generator
+ algorithm Xoroshiro116+ has been implemented in the
+ rand module.
+
+ The old algorithm implementations had a number of flaws
+ so they are all deprecated, but corrected versions of
+ two of them have been added. See the documentation.
+
+
+ OTP-14296 Application(s): debugger, stdlib
+
+ The Erlang shell, qlc:string_to_handle(), and the
+ Debugger (the Evaluator area and Edit variable window
+ of the Bindings area) can parse pids, ports,
+ references, and external funs, as long as they can be
+ created in the running system.
+
+
+ OTP-14400 Application(s): common_test, snmp, stdlib
+
+ Internal code change: Calls to catch followed by a call
+ to erlang:get_stacktrace/0 has been rewritten to use
+ try instead of catch to make the code future-proof.
+
+
+ OTP-14454 Application(s): stdlib
+ Related Id(s): ERIERL-29
+
+ The ms_transform module, used by ets:fun2ms/1 and
+ dbg:fun2ms/1, evaluates constant arithmetic
+ expressions. This is necessary since the Erlang
+ compiler, which normally evaluates constant
+ expressions, does not recognize the format generated by
+ ms_transform.
+
+
+ OTP-14531 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The state machine engine gen_statem can now handle
+ generic time-outs (multiple named) as well as absolute
+ time-out time. See the documentation.
+
+ The gen_statem callback Module:init/1 has become
+ mandatory to harmonize with other gen_* modules. This
+ may be an incompatibility for gen_statem callback
+ modules that use gen_statem:enter_loop/4-6.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10289 Application(s): stdlib
+ Related Id(s): OTP-10309
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improved unicode support for strings. Added
+ normalization functions in the unicode module. Extended
+ the string module API with new functions with improved
+ unicode handling and that works on grapheme clusters.
+ The new functions operates on the unicode:chardata()
+ type, thus they also accept UTF-8 binaries as input.
+
+ The old string API have been marked as obsolete. The
+ return values have been changed for some error cases.
+
+
+ OTP-13692 Application(s): erts, stdlib
+
+ There are two new guard BIFs 'floor/1' and 'ceil/1'.
+ They both return integers. In the 'math' module, there
+ are two new BIFs with the same names that return
+ floating point values.
+
+
+ OTP-13801 Application(s): stdlib
+
+ Making code_change, terminate and handle_info callbacks
+ optional in the OTP behaviours.
+
+
+ OTP-13830 Application(s): stdlib
+
+ The support for Dets files created with Erlang/OTP R7
+ and earlier is removed.
+
+
+ OTP-13831 Application(s): compiler, erts, hipe, kernel, percept,
+ stdlib
+ Related Id(s): OTP-13735
+
+ Replaced usage of deprecated symbolic time unit
+ representations.
+
+
+ OTP-14000 Application(s): compiler, erts, stdlib
+
+ The function fmod/2 has been added to the math module.
+
+
+ OTP-14001 Application(s): stdlib
+
+ The EXIT signals received from processes using proc_lib
+ now looks like EXIT signals from processes that were
+ spawned using spawn_link. In particular, that means
+ that the stack trace is now included in the EXIT signal
+ so that it can see where the process crashed.
+
+
+ OTP-14035 Application(s): stdlib
+
+ sets:add_element/2 is faster when adding an element
+ that is already present, and sets:del_element/2 is
+ faster when the element to be deleted is not present.
+ This optimization can make certain operations, such as
+ sets:union/2 with many overlapping elements, up to two
+ orders of magnitude faster.
+
+
+ OTP-14037 Application(s): stdlib
+ Related Id(s): PR-1233
+
+ Add information in doc about supervisor shutdown reason
+ when maximum restart frequency is reached.
+
+
+ OTP-14038 Application(s): stdlib
+ Related Id(s): PR-1235
+
+ Added rand:jump/[0|1] functions.
+
+
+ OTP-14059 Application(s): kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Functions for detecting changed code has been added.
+ code:modified_modules/0 returns all currently loaded
+ modules that have changed on disk. code:module_status/1
+ returns the status for a module. In the shell and in c
+ module, mm/0 is short for code:modified_modules/0, and
+ lm/0 reloads all currently loaded modules that have
+ changed on disk.
+
+
+ OTP-14066 Application(s): stdlib
+
+ Each assert macro in assert.hrl now has a corresponding
+ version with an extra argument, for adding comments to
+ assertions. These can for example be printed as part of
+ error reports, to clarify the meaning of the check that
+ failed.
+
+
+ OTP-14068 Application(s): stdlib
+
+ error_logger_tty_h and error_logger_file_h now inserts
+ the node information for nonlocal messages before the
+ message itself instead of after, both for readability
+ and so as not to change the line termination property
+ at the end of the message.
+
+
+ OTP-14070 Application(s): stdlib
+ Related Id(s): PR-1214
+
+ The Erlang code linter checks for badly formed type
+ constraints.
+
+
+ OTP-14071 Application(s): compiler, stdlib
+
+ By default, there will now be a warning when export_all
+ is used. The warning can be disabled using
+ nowarn_export_all.
+
+
+ OTP-14089 Application(s): stdlib
+
+ When a gen_server process crashes, the stacktrace for
+ the client will be printed to facilitate debugging.
+
+
+ OTP-14094 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Optimized ETS operations by changing table identifier
+ type from integer to reference. The reference enables a
+ more direct mapping to the table with less potential
+ lock contention and makes especially creation and
+ deletion of tables scale much better.
+
+ The change of the opaque type for the ETS table
+ identifiers may cause failure in code that make faulty
+ assumptions about this opaque type.
+
+ The number of tables stored at one Erlang node *used*
+ to be limited. This is no longer the case (except by
+ memory usage). The previous default limit was about
+ 1400 tables and could be increased by setting the
+ environment variable ERL_MAX_ETS_TABLES before starting
+ the Erlang runtime system. This hard limit has been
+ removed, but it is currently useful to set the
+ ERL_MAX_ETS_TABLES anyway. It should be set to an
+ approximate of the maximum amount of tables used. This
+ since an internal table for named tables is sized using
+ this value. If large amounts of named tables are used
+ and ERL_MAX_ETS_TABLES hasn't been increased, the
+ performance of named table lookup will degrade.
+
+
+ OTP-14102 Application(s): stdlib
+
+ take/2 has been added to dict, orddict, and gb_trees.
+ take_any/2 has been added to gb_trees.
+
+
+ OTP-14123 Application(s): stdlib
+
+ Extend gen_event API to handle options as well.
+
+
+ OTP-14168 Application(s): stdlib
+ Related Id(s): PR-1289
+
+ Advice on how to tune the supervisor restart frequency
+ (intensity and period) is added to System Documentation
+ - Design Principles - Supervisor Behaviour.
+
+
+ OTP-14183 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ gen_fsm is deprecated and is replaced by gen_statem,
+ however for backwards compatibility reasons gen_fsm may
+ continue to exist as an undocumented feature for quite
+ some time.
+
+
+ OTP-14190 Application(s): stdlib
+
+ The shell functions c/1 and c/2 have been extended so
+ that if the argument is a module name instead of a file
+ name, it automatically locates the .beam file and the
+ corresponding source file, and then recompiles the
+ module using the same compiler options (plus any
+ options passed to c/2). If compilation fails, the old
+ beam file is preserved. Also adds c(Mod, Opts, Filter),
+ where the Filter argument allows you to remove old
+ compiler options before the new options are added.
+
+ New utility functions file_find/2/3 and
+ find_source/1/2/3 have been added to filelib.
+
+
+ OTP-14226 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ erl_tar in previous versions of OTP only supports the
+ USTAR format. That limited path names to at most 255
+ bytes, and did not support Unicode characters in names
+ in a portable way.
+
+ erl_tar now has support for reading tar archives in the
+ formats currently in common use, such as v7, STAR,
+ USTAR, PAX, and GNU tar's extensions to the STAR/USTAR
+ format. When writing tar archives, erl_tar can now
+ write them in the PAX format if necessary (for example,
+ to support very long filenames or filenames with
+ Unicode characters). If possible, erl_tar will still
+ write tar archives in the USTAR for maximum
+ portability.
+
+
+ OTP-14245 Application(s): stdlib
+
+ base64:mime_decode/1 has been optimized so that it is
+ now almost as fast asbase64:decode/1; it used be
+ noticeably slower.
+
+
+ OTP-14278 Application(s): stdlib
+
+ erl_tar will now strip any leading '/' from pathnames
+ when extracting files from a tar archive and write a
+ message to the error logger. There is also new check
+ for directory traversal attacks; if a relative path
+ points above the current working directory the
+ extraction will be aborted.
+
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ OTP-14317 Application(s): crypto, stdlib
+ Related Id(s): PR-1372
+
+ The Crypto application now supports generation of
+ cryptographically strong random numbers (floats < 1.0
+ and integer arbitrary ranges) as a plugin to the 'rand'
+ module.
+
+
+ OTP-14319 Application(s): stdlib
+ Related Id(s): PR-1076
+
+ *** HIGHLIGHT ***
+
+ Add new function ets:select_replace/2 which performs
+ atomic "compare-and-swap" operations for ETS objects
+ using match specifications.
+
+
+ OTP-14323 Application(s): stdlib
+
+ The Erlang code linter checks for bad dialyzer
+ attributes. It also checks for bad type variables in
+ type declarations.
+
+
+ OTP-14328 Application(s): stdlib
+ Related Id(s): PR-1382
+
+ Two new functions has been implemented in the rand
+ module; normal/2 and normal_s/3, that both produce
+ normal distribution (pseudo) random numbers with mean
+ value and variance according to arguments.
+
+
+ OTP-14331 Application(s): erts, stdlib
+ Related Id(s): ERL-208
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Upgraded the OTP internal PCRE library from version
+ 8.33 to version 8.40. This library is used for
+ implementation of the re regular expressions module.
+
+ Besides various bug fixes, the new version allows for
+ better stack protection. In order to utilize this
+ feature, the stack size of normal scheduler threads is
+ now by default set to 128 kilo words on all platforms.
+ The stack size of normal scheduler threads can be set
+ upon system start by passing the +sss command line
+ argument to the erl command.
+
+ See http://pcre.org/original/changelog.txt for
+ information about changes made to PCRE between the
+ versions 8.33 and 8.40.
+
+
+ OTP-14347 Application(s): erts, stdlib
+ Related Id(s): PR-1412
+
+ Added function re:version/0 which returns information
+ about the OTP internal PCRE version used for
+ implementation of the re module.
+
+
+ OTP-14369 Application(s): compiler, dialyzer, stdlib
+ Related Id(s): PR-1367
+
+ The format of debug information that is stored in BEAM
+ files (when debug_info is used) has been changed. The
+ purpose of the change is to better support other
+ BEAM-based languages such as Elixir or LFE.
+
+ All tools included in OTP (dialyzer, debugger, cover,
+ and so on) will handle both the new format and the
+ previous format. Tools that retrieve the debug
+ information using beam_lib:chunk(Beam, [abstract_code])
+ will continue to work with both the new and old format.
+ Tools that call beam_lib:chunk(Beam, ["Abst"]) will not
+ work with the new format.
+
+ For more information, see the description of debug_info
+ in the documentation for beam_lib and the description
+ of the {debug_info,{Backend,Data}} option in the
+ documentation for compile.
+
+
+ OTP-14405 Application(s): stdlib
+
+ Add option hibernate_after to gen_server, gen_statem
+ and gen_event. Also added to the deprecated gen_fsm
+ behaviour.
+
+
+ OTP-14417 Application(s): kernel, stdlib
+
+ The size of crash reports created by gen_server,
+ gen_statem and proc_lib is limited with aid of the
+ Kernel application variable error_logger_format_depth.
+ The purpose is to limit the size of the messages sent
+ to the error_logger process when processes with huge
+ message queues or states crash.
+
+ The crash report generated by proc_lib includes the new
+ tag message_queue_len. The neighbour report also
+ includes the new tag current_stacktrace. Finally, the
+ neighbour report no longer includes the tags messages
+ and dictionary.
+
+ The new function error_logger:get_format_depth/0 can be
+ used to retrieve the value of the Kernel application
+ variable error_logger_format_depth.
+
+
+ Full runtime dependencies of stdlib-3.4: compiler-5.0, crypto-3.3,
+ erts-9.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ Full runtime dependencies of syntax_tools-2.1.2: compiler-7.0,
+ erts-8.0, kernel-5.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.10 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14339 Application(s): tools
+ Related Id(s): ERL-395
+
+ In some situations, make:all() and friends did not
+ detect changes in include files located in the current
+ directory. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14253 Application(s): tools
+
+ The make module now accepts the {emake,Emake} option.
+
+
+ OTP-14285 Application(s): common_test, debugger, edoc, observer,
+ parsetools, runtime_tools, sasl, stdlib, syntax_tools,
+ tools
+
+ Miscellaneous updates due to atoms containing arbitrary
+ Unicode characters.
+
+
+ Full runtime dependencies of tools-2.10: compiler-5.0, erts-7.0,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-3.1
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14289 Application(s): wx
+
+ Fix a livelock that could be caused by wx:batch/1.
+
+
+ Full runtime dependencies of wx-1.8.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.15 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14377 Application(s): xmerl
+ Related Id(s): PR-1369
+
+ Improves accumulator fun in xmerl_scan so that only one
+ #xmlText record is returned for strings which have
+ character references.
+
+ (Thanks to Jimmy Zöger)
+
+
+ Full runtime dependencies of xmerl-1.3.15: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.1.README.txt b/release-notes/OTP-20.1.1.README.txt
new file mode 100644
index 0000000..5f4c50d
--- /dev/null
+++ b/release-notes/OTP-20.1.1.README.txt
@@ -0,0 +1,96 @@
+Patch Package: OTP 20.1.1
+Git Tag: OTP-20.1.1
+Date: 2017-10-03
+Trouble Report Id: OTP-14638, OTP-14640, OTP-14645, OTP-14648,
+ OTP-14649
+Seq num: ERL-490
+System: OTP
+Release: 20
+Application: compiler-7.1.3, erts-9.1.1, ssh-4.6.1
+Predecessor: OTP 20.1
+
+ Check out the git tag OTP-20.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.1.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14640 Application(s): compiler
+ Related Id(s): ERL-490
+
+ The compiler could issue an incorrect internal
+ consistency failure diagnostic for some complicated bit
+ syntax maches.
+
+
+ Full runtime dependencies of compiler-7.1.3: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.1.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.1.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14648 Application(s): erts
+
+ The new zlib module returned a data_error when
+ inflating concatenated streams, which was incompatible
+ with the old module's behavior of returning the
+ uncompressed data up to the end of the first stream.
+
+
+ OTP-14649 Application(s): erts
+
+ zlib:gunzip/1 will no longer stop at the end of the
+ first stream when decompressing concatenated gzip
+ files.
+
+
+ Full runtime dependencies of erts-9.1.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.6.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14645 Application(s): ssh
+
+ Fixed broken printout
+
+
+ --- Improvements and New Features ---
+
+ OTP-14638 Application(s): ssh
+
+ Disable aes_gcm ciphers if peer is OpenSSH 6.2 which is
+ known to have trouble with them in some cases.
+
+
+ Full runtime dependencies of ssh-4.6.1: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.2.README.txt b/release-notes/OTP-20.1.2.README.txt
new file mode 100644
index 0000000..d11b4ce
--- /dev/null
+++ b/release-notes/OTP-20.1.2.README.txt
@@ -0,0 +1,62 @@
+Patch Package: OTP 20.1.2
+Git Tag: OTP-20.1.2
+Date: 2017-10-11
+Trouble Report Id: OTP-14661, OTP-14668
+Seq num: ERIERL-80, ERIERL-83
+System: OTP
+Release: 20
+Application: diameter-2.1.1, erts-9.1.2
+Predecessor: OTP 20.1.1
+
+ Check out the git tag OTP-20.1.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.1.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14668 Application(s): diameter
+ Related Id(s): ERIERL-83
+
+ An inadvertently removed monitor in diameter 2.1 caused
+ the ets table diameter_reg to leak entries, and caused
+ service restart and more to fail.
+
+
+ Full runtime dependencies of diameter-2.1.1: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.1.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.1.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14661 Application(s): erts
+ Related Id(s): ERIERL-80
+
+ Fixed bug that could cause a VM crash when a corrupt
+ message is received on distribution channel from other
+ node.
+
+
+ Full runtime dependencies of erts-9.1.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.3.README.txt b/release-notes/OTP-20.1.3.README.txt
new file mode 100644
index 0000000..41a20e8
--- /dev/null
+++ b/release-notes/OTP-20.1.3.README.txt
@@ -0,0 +1,88 @@
+Patch Package: OTP 20.1.3
+Git Tag: OTP-20.1.3
+Date: 2017-10-25
+Trouble Report Id: OTP-13372, OTP-14672, OTP-14684, OTP-14694
+Seq num: ERIERL-73, ERIERL-85, ERL-494
+System: OTP
+Release: 20
+Application: diameter-2.1.2, erts-9.1.3, snmp-5.2.8
+Predecessor: OTP 20.1.2
+
+ Check out the git tag OTP-20.1.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.1.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14684 Application(s): diameter
+ Related Id(s): ERIERL-85
+
+ A fault introduced in diameter 2.1 could cause decode
+ errors to be ignored in AVPs following the header of a
+ Grouped AVP.
+
+
+ Full runtime dependencies of diameter-2.1.2: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.1.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.1.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14672 Application(s): erts
+ Related Id(s): ERL-494
+
+ Added zlib:set_controlling_process/2 to move a
+ zstream() between processes.
+
+
+ OTP-14694 Application(s): erts
+
+ Fix so that schedulers are bound correctly when the
+ first available cpu is not the first detected cpu. e.g.
+ when using "taskset -c X..Y" when X is not equal to 0.
+
+
+ Full runtime dependencies of erts-9.1.3: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.8 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.8 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13372 Application(s): snmp
+ Related Id(s): ERIERL-73
+
+ The recbuf configuration option was not propagated
+ correctly to the socket for the SNMP Manager.
+
+
+ Full runtime dependencies of snmp-5.2.8: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.4.README.txt b/release-notes/OTP-20.1.4.README.txt
new file mode 100644
index 0000000..a14abca
--- /dev/null
+++ b/release-notes/OTP-20.1.4.README.txt
@@ -0,0 +1,54 @@
+Patch Package: OTP 20.1.4
+Git Tag: OTP-20.1.4
+Date: 2017-11-02
+Trouble Report Id: OTP-14656, OTP-14696, OTP-14716
+Seq num:
+System: OTP
+Release: 20
+Application: inets-6.4.3
+Predecessor: OTP 20.1.3
+
+ Check out the git tag OTP-20.1.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.4.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.4.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14656 Application(s): inets
+
+ Fix broken handling of POST requests
+
+ New chunk mechanism of body data in POST requests added
+ in 5d01c70ca399edf28e99dc760506329689fab6ba broke
+ handling of POST body data not using the new mechanism.
+
+
+ OTP-14696 Application(s): inets
+
+ Make sure ints:stop/2 of the service httpd is
+ synchronous
+
+
+ OTP-14716 Application(s): inets
+
+ Honor status code returned by ESI script and modernize
+ "location" header handling.
+
+
+ Full runtime dependencies of inets-6.4.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.5.README.txt b/release-notes/OTP-20.1.5.README.txt
new file mode 100644
index 0000000..6db4f45
--- /dev/null
+++ b/release-notes/OTP-20.1.5.README.txt
@@ -0,0 +1,91 @@
+Patch Package: OTP 20.1.5
+Git Tag: OTP-20.1.5
+Date: 2017-11-10
+Trouble Report Id: OTP-14707, OTP-14730, OTP-14745, OTP-14750,
+ OTP-14751, OTP-14761
+Seq num: ERL-507
+System: OTP
+Release: 20
+Application: erts-9.1.4, inets-6.4.4
+Predecessor: OTP 20.1.4
+
+ Check out the git tag OTP-20.1.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-9.1.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.1.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14707 Application(s): erts
+
+ Microstate accounting sometimes produced incorrect
+ results for dirty schedulers.
+
+
+ OTP-14730 Application(s): erts
+ Related Id(s): ERL-507
+
+ Fixed a regression in zlib:gunzip/1 that prevented it
+ from working when the decompressed size was a perfect
+ multiple of 16384. This regression was introduced in
+ 20.1.1
+
+
+ OTP-14745 Application(s): erts
+
+ Fixed a memory corruption bug in enif_inspect_iovec;
+ writable binaries stayed writable after entering the
+ iovec.
+
+
+ OTP-14750 Application(s): erts
+
+ Fixed a crash in enif_inspect_iovec on encountering
+ empty binaries.
+
+
+ OTP-14751 Application(s): erts
+
+ zlib:deflateParams/3 will no longer return buf_error
+ when called after zlib:deflate/2 with zlib 1.2.11.
+
+
+ Full runtime dependencies of erts-9.1.4: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.4.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.4.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14761 Application(s): inets
+
+ Correct the handling of location headers so that the
+ status code is not hard coded. This should have been
+ fixed by commit
+ 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb but
+ unfortunately was broken during a code refactoring and
+ unnoticed due to a faulty placed test case.
+
+
+ Full runtime dependencies of inets-6.4.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.6.README.txt b/release-notes/OTP-20.1.6.README.txt
new file mode 100644
index 0000000..c250b77
--- /dev/null
+++ b/release-notes/OTP-20.1.6.README.txt
@@ -0,0 +1,80 @@
+Patch Package: OTP 20.1.6
+Git Tag: OTP-20.1.6
+Date: 2017-11-20
+Trouble Report Id: OTP-14763, OTP-14775, OTP-14778, OTP-14781
+Seq num: ERIERL-104, ERIERL-74
+System: OTP
+Release: 20
+Application: erts-9.1.5, ssh-4.6.2
+Predecessor: OTP 20.1.5
+
+ Check out the git tag OTP-20.1.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-9.1.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.1.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14775 Application(s): erts
+
+ Fixed a bug in file closure on Unix; close(2) was
+ retried on EINTR which could cause a different
+ (recently opened) file to be closed as well.
+
+
+ OTP-14781 Application(s): erts
+ Related Id(s): OTP-13047
+
+ A race-condition when tearing down a connection with
+ active node monitors could cause the runtime system to
+ crash.
+
+ This bug was introduced in ERTS version 8.0 (OTP 19.0).
+
+
+ Full runtime dependencies of erts-9.1.5: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.6.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14763 Application(s): ssh
+ Related Id(s): ERIERL-74
+
+ Trailing white space was removed at end of the
+ hello-string. This caused interoperability problems
+ with some other ssh-implementations (e.g OpenSSH 7.3p1
+ on Solaris 11)
+
+
+ OTP-14778 Application(s): ssh
+ Related Id(s): ERIERL-104
+
+ Fixes that tcp connections that was immediately closed
+ (SYN, SYNACK, ACK, RST) by a client could be left in a
+ zombie state.
+
+
+ Full runtime dependencies of ssh-4.6.2: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.7.1.README.txt b/release-notes/OTP-20.1.7.1.README.txt
new file mode 100644
index 0000000..961c52d
--- /dev/null
+++ b/release-notes/OTP-20.1.7.1.README.txt
@@ -0,0 +1,48 @@
+Patch Package: OTP 20.1.7.1
+Git Tag: OTP-20.1.7.1
+Date: 2017-12-13
+Trouble Report Id: OTP-14823
+Seq num:
+System: OTP
+Release: 20
+Application: kernel-5.4.0.1
+Predecessor: OTP 20.1.7
+
+ Check out the git tag OTP-20.1.7.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- kernel-5.4.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.4.0.1 application can *not* be applied
+ independently of other applications on an arbitrary OTP 20
+ installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-9.1 (first satisfied in OTP 20.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-14823 Application(s): kernel
+
+ Add os:cmd/2 that takes an options map as the second
+ argument.
+
+ Add max_size as an option to os:cmd/2 that control the
+ maximum size of the result that os:cmd/2 will return.
+
+
+ Full runtime dependencies of kernel-5.4.0.1: erts-9.1, sasl-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.7.README.txt b/release-notes/OTP-20.1.7.README.txt
new file mode 100644
index 0000000..abbb67a
--- /dev/null
+++ b/release-notes/OTP-20.1.7.README.txt
@@ -0,0 +1,144 @@
+Patch Package: OTP 20.1.7
+Git Tag: OTP-20.1.7
+Date: 2017-11-22
+Trouble Report Id: OTP-14632, OTP-14653, OTP-14655, OTP-14748,
+ OTP-14766
+Seq num:
+System: OTP
+Release: 20
+Application: public_key-1.5.1, ssl-8.2.2
+Predecessor: OTP 20.1.6
+
+ Check out the git tag OTP-20.1.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- public_key-1.5.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.5.1 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14653 Application(s): public_key
+
+ Hostname verification: Add handling of the general name
+ iPAddress in certificate's subject alternative name
+ extension (subjAltName).
+
+
+ OTP-14766 Application(s): public_key
+
+ Correct key handling in pkix_test_data/1 and use a
+ generic example mail address instead of an existing
+ one.
+
+
+ Full runtime dependencies of public_key-1.5.1: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.2.2 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.5 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14632 Application(s): ssl
+
+ TLS sessions must be registered with SNI if provided,
+ so that sessions where client hostname verification
+ would fail can not connect reusing a session created
+ when the server name verification succeeded.
+
+ Thanks to Graham Christensen for reporting this.
+
+
+ OTP-14748 Application(s): ssl
+
+ An erlang TLS server configured with cipher suites
+ using rsa key exchange, may be vulnerable to an
+ Adaptive Chosen Ciphertext attack (AKA Bleichenbacher
+ attack) against RSA, which when exploited, may result
+ in plaintext recovery of encrypted messages and/or a
+ Man-in-the-middle (MiTM) attack, despite the attacker
+ not having gained access to the server’s private key
+ itself. CVE-2017-1000385
+
+ Exploiting this vulnerability to perform plaintext
+ recovery of encrypted messages will, in most practical
+ cases, allow an attacker to read the plaintext only
+ after the session has completed. Only TLS sessions
+ established using RSA key exchange are vulnerable to
+ this attack.
+
+ Exploiting this vulnerability to conduct a MiTM attack
+ requires the attacker to complete the initial attack,
+ which may require thousands of server requests, during
+ the handshake phase of the targeted session within the
+ window of the configured handshake timeout. This attack
+ may be conducted against any TLS session using RSA
+ signatures, but only if cipher suites using RSA key
+ exchange are also enabled on the server. The limited
+ window of opportunity, limitations in bandwidth, and
+ latency make this attack significantly more difficult
+ to execute.
+
+ RSA key exchange is enabled by default although least
+ prioritized if server order is honored. For such a
+ cipher suite to be chosen it must also be supported by
+ the client and probably the only shared cipher suite.
+
+ Captured TLS sessions encrypted with ephemeral cipher
+ suites (DHE or ECDHE) are not at risk for subsequent
+ decryption due to this vulnerability.
+
+ As a workaround if default cipher suite configuration
+ was used you can configure the server to not use
+ vulnerable suites with the ciphers option like this:
+
+ {ciphers, [Suite || Suite <- ssl:cipher_suites(),
+ element(1,Suite) =/= rsa]}
+
+ that is your code will look somethingh like this:
+
+ ssl:listen(Port, [{ciphers, [Suite || Suite <-
+ ssl:cipher_suites(), element(1,S) =/= rsa]} |
+ Options]).
+
+ Thanks to Hanno Böck, Juraj Somorovsky and Craig Young
+ for reporting this vulnerability.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14655 Application(s): ssl
+
+ If no SNI is available and the hostname is an
+ IP-address also check for IP-address match. This check
+ is not as good as a DNS hostname check and certificates
+ using IP-address are not recommended.
+
+ Thanks to Graham Christensen for reporting this.
+
+
+ Full runtime dependencies of ssl-8.2.2: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.5, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.1.README.txt b/release-notes/OTP-20.1.README.txt
new file mode 100644
index 0000000..5d0fca0
--- /dev/null
+++ b/release-notes/OTP-20.1.README.txt
@@ -0,0 +1,1344 @@
+Patch Package: OTP 20.1
+Git Tag: OTP-20.1
+Date: 2017-09-26
+Trouble Report Id: OTP-10889, OTP-10927, OTP-13014, OTP-13170,
+ OTP-13704, OTP-14011, OTP-14078, OTP-14181,
+ OTP-14185, OTP-14236, OTP-14344, OTP-14378,
+ OTP-14386, OTP-14412, OTP-14462, OTP-14463,
+ OTP-14464, OTP-14471, OTP-14486, OTP-14488,
+ OTP-14490, OTP-14495, OTP-14499, OTP-14500,
+ OTP-14504, OTP-14506, OTP-14510, OTP-14511,
+ OTP-14512, OTP-14520, OTP-14521, OTP-14522,
+ OTP-14523, OTP-14526, OTP-14527, OTP-14530,
+ OTP-14534, OTP-14535, OTP-14536, OTP-14538,
+ OTP-14539, OTP-14542, OTP-14544, OTP-14546,
+ OTP-14549, OTP-14550, OTP-14552, OTP-14553,
+ OTP-14555, OTP-14556, OTP-14560, OTP-14568,
+ OTP-14571, OTP-14572, OTP-14574, OTP-14588,
+ OTP-14591, OTP-14596, OTP-14597, OTP-14598,
+ OTP-14600, OTP-14606, OTP-14607, OTP-14608,
+ OTP-14609, OTP-14612, OTP-14614, OTP-14618,
+ OTP-14621, OTP-9869
+Seq num: ERIERL-48, ERL-251, ERL-375, ERL-413,
+ ERL-432, ERL-437, ERL-439, ERL-453, ERL-461,
+ ERL-465, ERL-472, ERL-478, ERL-480, ERL-481,
+ seq13319
+System: OTP
+Release: 20
+Application: asn1-5.0.3, common_test-1.15.2,
+ compiler-7.1.2, crypto-4.1, debugger-4.2.3,
+ dialyzer-3.2.2, diameter-2.1, edoc-0.9.1,
+ erl_docgen-0.7.1, erts-9.1, et-1.6.1,
+ eunit-2.3.4, hipe-3.16.1, inets-6.4.2,
+ kernel-5.4, mnesia-4.15.1, observer-2.5,
+ os_mon-2.4.3, public_key-1.5, reltool-0.7.5,
+ runtime_tools-1.12.2, sasl-3.1, snmp-5.2.7,
+ ssh-4.6, ssl-8.2.1, stdlib-3.4.2,
+ syntax_tools-2.1.3, tools-2.11, wx-1.8.2
+Predecessor: OTP 20.0.5
+
+ Check out the git tag OTP-20.1, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14621 Application(s): public_key
+ Related Id(s): ERL-480, ERL-481
+
+ public_key now handles elliptic curve parameters in a
+ consistent way so that decoded ECDSA keys can be
+ correctly re-encoded.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14495 Application(s): asn1
+ Related Id(s): ERL-437
+
+ Compiling an ASN.1 module using the option {n2n,
+ EnumTypeName} when EnumTypeName contains a hypen like
+ for example Cause-Misc caused syntax errors when
+ compiling the generated Erlang code. This is now
+ corrected.
+
+
+ Full runtime dependencies of asn1-5.0.3: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.15.2 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of common_test-1.15.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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.4, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.1.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14522 Application(s): compiler
+ Related Id(s): ERIERL-48
+
+ Fail labels on guard BIFs weren't taken into account
+ during an optimization pass, and a bug in the
+ validation pass sometimes prevented this from being
+ noticed when a fault occurred.
+
+
+ OTP-14526 Application(s): compiler
+
+ When compiling from Core Erlang, an 'apply' with a
+ nested apply in the function position would be treated
+ as an invalid call. Corrected. (Thanks to Mikael
+ Pettersson for reporting this bug.)
+
+
+ OTP-14591 Application(s): compiler
+
+ Fixed checking of binary matching in the beam_validator
+ module to ensure that potential compiler bugs are found
+ at compile-time instead as emulator crash at run-time.
+
+
+ OTP-14600 Application(s): compiler, stdlib
+ Related Id(s): ERL-478
+
+ There could be false warnings for
+ erlang:get_stacktrace/0 being used outside of a try
+ block when using multiple catch clauses.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14378 Application(s): compiler, stdlib
+
+ The Erlang code linter no longer checks that the
+ functions mentioned in nowarn_deprecated_function
+ options are declared in the module.
+
+
+ Full runtime dependencies of compiler-7.1.2: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14499 Application(s): crypto, erts
+ Related Id(s): ERL-251, ERL-439
+
+ On macOS, crypto would crash if observer had been
+ started before crypto. On the beta for macOS 10.13
+ (High Sierra), crypto would crash. Both of those bugs
+ have been fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13704 Application(s): crypto, public_key
+ Related Id(s): PR838
+
+ Extend crypto:sign, crypto:verify, public_key:sign and
+ public_key:verify with:
+
+ * support for RSASSA-PS padding for signatures and for
+ saltlength setting
+ * X9.31 RSA padding.
+ * sha, sha224, sha256, sha384, and sha512 for dss
+ signatures as mentioned in NIST SP 800-57 Part 1.
+ * ripemd160 to be used for rsa signatures.
+
+ This is a manual merge of half of the pull request 838
+ by potatosalad from Sept 2015.
+
+
+ OTP-14504 Application(s): crypto
+
+ A new tuple in crypto:supports/0 reports supported MAC
+ algorithms.
+
+
+ Full runtime dependencies of crypto-4.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.2.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14464 Application(s): debugger, edoc, et, eunit, observer,
+ tools
+
+ Tools are updated to show Unicode atoms correctly.
+
+
+ Full runtime dependencies of debugger-4.2.3: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-3.2.2 application can *not* be applied
+ independently of other applications on an arbitrary OTP 20
+ installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.16.1 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14572 Application(s): dialyzer, hipe
+ Related Id(s): seq13319
+
+ Fix a bug regarding map types that caused Dialyzer to
+ go into an infinite loop. A consequence of the fix is
+ that compound map keys such as maps and tuples
+ sometimes are handled with less precision than before.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ OTP-14606 Application(s): dialyzer
+ Related Id(s): OTP-14218
+
+ The check for unknown remote types is improved.
+
+
+ Full runtime dependencies of dialyzer-3.2.2: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14011 Application(s): diameter
+
+ React to nodeup/nodedown when sharing peer connections.
+
+ Service configuration share_peers and use_shared_peers
+ did not respond to the coming and going of remote
+ nodes.
+
+
+ OTP-14486 Application(s): diameter
+
+ Fix inappropriate message callbacks.
+
+ An incoming CER or DPR was regarded as discarded,
+ resulting in a corresponding message callback (if
+ configured) in diameter_tcp/sctp.
+
+
+ OTP-14512 Application(s): diameter
+
+ Fix handling of 5009 errors
+ (DIAMETER_AVP_OCCURS_TOO_MANY TIMES).
+
+ RFC 6733 says that the first AVP that exceeds the bound
+ should be reported, but the suggestions in the errors
+ field of a diameter_packet record counted AVPs from the
+ rear of the message, not the front. Additionally,
+ diameter 2.0 in OTP 20.0 broke the counting by
+ accepting one more AVP than the message grammar in
+ question allowed.
+
+
+ OTP-14535 Application(s): diameter
+ Related Id(s): OTP-13006
+
+ Match case insensitively in diameter_tcp/sctp accept
+ tuple.
+
+ Matching of remote addresses when accepting connections
+ in a listening transport was case-sensitive, causing
+ the semantics to change as a consequence of (kernel)
+ OTP-13006.
+
+
+ OTP-14552 Application(s): diameter
+
+ Fix backwards incompatibility of remote send when
+ sharing transports.
+
+ The sending of requests over a transport connection on
+ a remote node running an older version of diameter was
+ broken by diameter 2.0 in OTP 20.0.
+
+
+ OTP-14607 Application(s): diameter
+
+ Fix diameter_packet.avps decode of Grouped AVP errors
+ in Failed-AVP.
+
+ Decode didn't produce a list of diameter_avp records,
+ so information about faulty component AVPs was lost.
+
+
+ OTP-9869 Application(s): diameter
+
+ Fix handling of Proxy-Info in answer messages setting
+ the E-bit.
+
+ RFC 6733 requires that Proxy-Info AVPs in an incoming
+ request be echoed in an outgoing answer. This was not
+ done in answers formulated by diameter; for example, as
+ a result of a handle_request callback having returned
+ an 'answer-message' or protocol_error tuple.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10889 Application(s): diameter
+
+ Let unordered delivery be configured in diameter_sctp.
+
+ With option {unordered, boolean() | pos_integer()},
+ with false the default, and N equivalent to OS =< N,
+ where OS is the number of outbound streams negotiated
+ on the association in question. If configured,
+ unordered sending commences upon reception of a second
+ message, outgoing messages being sent on stream 0
+ before this.
+
+ The default false is for backwards compatibility, but
+ false or 1 should be set to follow RFC 6733's
+ recommendation on the use of unordered sending to avoid
+ head-of-line blocking. There is typically no meaningful
+ order to preserve, since the order in which outgoing
+ messages are received by a transport process isn't
+ known to the sender.
+
+
+ OTP-10927 Application(s): diameter
+
+ Complete/simplify Standards Compliance in User's Guide.
+
+
+ OTP-14511 Application(s): diameter
+ Related Id(s): OTP-14343
+
+ Add service option decode_format.
+
+ To allow incoming messages to be decoded into maps or
+ lists instead of records. Messages can be presented in
+ any of the formats for encode.
+
+ Decode performance has also been improved.
+
+
+ OTP-14521 Application(s): diameter
+
+ Add service option traffic_counters.
+
+ To let message-related counters be disabled, which can
+ be a performance improvement in some usecases.
+
+
+ OTP-14544 Application(s): diameter
+
+ Allow loopback/any as local addresses in
+ diameter_tcp/sctp.
+
+ The atoms were implied by documentation, but not
+ handled in code.
+
+
+ OTP-14546 Application(s): diameter
+
+ Add transport option strict_capx.
+
+ To allow the RFC 6733 requirement that a transport
+ connection be closed if a message is received before
+ capabilities exchange to be relaxed.
+
+
+ OTP-14555 Application(s): diameter
+
+ Be consistent with service/transport configuration.
+
+ For options for which it's meaningful, defaults values
+ for transport options can now be configured on a
+ service. This was previously the case only for an
+ arbitrary subset of options.
+
+
+ OTP-14588 Application(s): diameter
+
+ Add service/transport option avp_dictionaries.
+
+ To provide better support for AVPs that are not defined
+ in the application dictionary: configuring additional
+ dictionaries in an avp_dictionaries tuple allows their
+ AVPs to be encoded/decoded in much the same fashion as
+ application AVPs.
+
+ The motivation is RFC 7683 Diameter Overload, Indicator
+ Conveyance (DOIC), that defines AVPs intended to be
+ piggybacked onto arbitrary messages. A DOIC dictionary
+ has been included in the installation, in module
+ diameter_gen_doic_rfc7683.
+
+
+ OTP-14596 Application(s): diameter
+
+ Decode application AVPs in answers setting the E-bit.
+
+ AVPs defined in the application of the message being
+ sent were previously not decoded, only those in the
+ common application that defines the answer-message
+ grammar.
+
+
+ Full runtime dependencies of diameter-2.1: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.9.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14464 Application(s): debugger, edoc, et, eunit, observer,
+ tools
+
+ Tools are updated to show Unicode atoms correctly.
+
+
+ Full runtime dependencies of edoc-0.9.1: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.7.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.7.1 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of erl_docgen-0.7.1: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14490 Application(s): erts
+ Related Id(s): ERL-432
+
+ Changed erlang:apply/2 to raise a badarg exception if
+ the second argument is not a proper list. Previous
+ behavior was a misleading undef exception.
+
+
+ OTP-14499 Application(s): crypto, erts
+ Related Id(s): ERL-251, ERL-439
+
+ On macOS, crypto would crash if observer had been
+ started before crypto. On the beta for macOS 10.13
+ (High Sierra), crypto would crash. Both of those bugs
+ have been fixed.
+
+
+ OTP-14523 Application(s): erts
+
+ Fixed bug in enif_whereis_pid/port that could cause
+ heap corruption in rare cases.
+
+
+ OTP-14538 Application(s): erts
+
+ Fix so that trace messages generated when in a dirty
+ nif are flushed correctly when the dirty nif is done
+ executing.
+
+
+ OTP-14549 Application(s): erts
+ Related Id(s): PR1536
+
+ Fix escape code handling when using ANSI color codes in
+ the shell.
+
+
+ OTP-14574 Application(s): erts
+
+ Upgraded the ERTS internal PCRE library from version
+ 8.40 to version 8.41. See
+ http://pcre.org/original/changelog.txt for information
+ about changes made to PCRE. This library implements
+ major parts of the re regular expressions module.
+
+
+ OTP-14597 Application(s): erts
+ Related Id(s): ERL-465
+
+ Fixed a bug causing statistics(runtime) to produce
+ negative values and a bug in statistics(wall_clock)
+ causing it to produce values one second too long.
+
+ statistics(runtime) now also use getrusage() as source
+ when available preventing the returned value from
+ wrapping as frequent as before.
+
+
+ OTP-14609 Application(s): erts
+
+ Fixed small memory leak that could occur when sending
+ to a terminating port.
+
+
+ OTP-14612 Application(s): erts
+
+ Fix bug causing VM crash when a module with -on_load
+ directive is loaded while erlang:trace(on_load, ...) is
+ enabled.
+
+
+ OTP-14614 Application(s): erts
+ Related Id(s): ERL-453
+
+ A warning that the compiler may optimize away atoms
+ have been added to the documentation of
+ list_to_existing_atom/1 and binary_to_existing_atom/2.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13170 Application(s): erts, kernel, tools
+
+ Lock counting can now be fully toggled at runtime in
+ the lock counting emulator (-emu_type lcnt). Everything
+ is enabled by default to match the old behavior, but
+ specific categories can be toggled at will with minimal
+ runtime overhead when disabled. Refer to the
+ documentation on lcnt:rt_mask/1 for details.
+
+
+ OTP-14185 Application(s): erts
+
+ The zlib module has been refactored and all its
+ operations will now yield appropriately, allowing them
+ to be used freely in concurrent applications.
+
+ The following functions have been deprecated, but will
+ not produce compiler warnings until OTP 21:
+ zlib:adler32, zlib:crc32, zlib:inflateChunk,
+ zlib:getBufSize, zlib:setBufSize.
+
+ The behavior of throwing an error when a dictionary is
+ required for decompression has also been deprecated.
+ Refer to the documentation on inflateSetDictionary/2
+ for details.
+
+
+ OTP-14412 Application(s): erts, kernel, tools
+
+ lcnt:collect and lcnt:clear will no longer block all
+ other threads in the runtime system.
+
+
+ OTP-14520 Application(s): erts, tools
+
+ Add erlang:iolist_to_iovec/1, which converts an
+ iolist() to an erlang:iovec(), which suitable for use
+ with enif_inspect_iovec.
+
+
+ OTP-14527 Application(s): erts
+
+ When provided with bad arguments, the zlib module will
+ now raise named exceptions instead of just badarg. For
+ example, not_initialized when using zlib:inflate/2 with
+ an uninitialized stream.
+
+
+ OTP-14553 Application(s): erts
+
+ erlang:halt/2 allows any Unicode string as slogan for
+ the crash dump.
+
+
+ OTP-14598 Application(s): erts
+
+ Add new nif API functions for managing an I/O Queue.
+ The added functions are:
+
+ -- enif_ioq_create()
+
+ -- enif_ioq_destroy()
+
+ -- enif_ioq_enq_binary()
+
+ -- enif_ioq_enqv()
+
+ -- enif_ioq_deq()
+
+ -- enif_ioq_peek()
+
+ -- enif_inspect_iovec()
+
+ -- enif_free_iovec()
+
+
+ Full runtime dependencies of erts-9.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The et-1.6.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14464 Application(s): debugger, edoc, et, eunit, observer,
+ tools
+
+ Tools are updated to show Unicode atoms correctly.
+
+
+ Full runtime dependencies of et-1.6.1: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.3.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14464 Application(s): debugger, edoc, et, eunit, observer,
+ tools
+
+ Tools are updated to show Unicode atoms correctly.
+
+
+ Full runtime dependencies of eunit-2.3.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.16.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-3.16.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14572 Application(s): dialyzer, hipe
+ Related Id(s): seq13319
+
+ Fix a bug regarding map types that caused Dialyzer to
+ go into an infinite loop. A consequence of the fix is
+ that compound map keys such as maps and tuples
+ sometimes are handled with less precision than before.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of hipe-3.16.1: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.4.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.4.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14510 Application(s): inets
+
+ Make sure mod_log uses the correct status code
+
+
+ OTP-14530 Application(s): inets
+
+ Correct behaviour of mod_disk_log to proparly handle
+ repair options
+
+
+ Full runtime dependencies of inets-6.4.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.4 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-9.1 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14571 Application(s): kernel
+ Related Id(s): ERL-472
+
+ Processes which did output after switching jobs
+ (Ctrl+G) could be left forever stuck in the io request.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13170 Application(s): erts, kernel, tools
+
+ Lock counting can now be fully toggled at runtime in
+ the lock counting emulator (-emu_type lcnt). Everything
+ is enabled by default to match the old behavior, but
+ specific categories can be toggled at will with minimal
+ runtime overhead when disabled. Refer to the
+ documentation on lcnt:rt_mask/1 for details.
+
+
+ OTP-14412 Application(s): erts, kernel, tools
+
+ lcnt:collect and lcnt:clear will no longer block all
+ other threads in the runtime system.
+
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of kernel-5.4: erts-9.1, sasl-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.15.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.15.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of mnesia-4.15.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14386 Application(s): observer
+
+ The following improvements are done to Crashdump
+ Viewer:
+
+ -- Reading of crash dumps with many binaries is
+ optimized.
+
+ -- A progress bar is shown when the detail view for a
+ process is opened.
+
+ -- The cdv script now sets ERL_CRASH_DUMP_SECONDS=0 to
+ avoid generating a new crash dump from the node running
+ the Crashdump Viewer.
+
+ -- A warning dialog is shown if the node running the
+ Crashdump Viewer could potentially overwrite the crash
+ dump under inspection.
+
+ -- Bugfix: In some situations, Crashdump Viewer could
+ not find the end of the 'Last calls' section in a crash
+ dump, and would erroneously mark the crash dump as
+ truncated. This is now corrected.
+
+ -- Bugfix: In some situations, process info for a
+ specific process would be marked as truncated by
+ Crashdump Viewer, even if the crash dump was truncated
+ in the binary section - and not related to the process
+ in question. This is now corrected.
+
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ OTP-14464 Application(s): debugger, edoc, et, eunit, observer,
+ tools
+
+ Tools are updated to show Unicode atoms correctly.
+
+
+ OTP-14536 Application(s): observer
+
+ Add system statistics and limits to frontpage in
+ observer.
+
+
+ Full runtime dependencies of observer-2.5: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.4.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14560 Application(s): os_mon
+ Related Id(s): ERL-461
+
+ On macOS 10.13 (High Sierra), disksup could not grab
+ information for any disks that used the new APFS file
+ system. That has been corrected.
+
+
+ Full runtime dependencies of os_mon-2.4.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14621 Application(s): public_key
+ Related Id(s): ERL-480, ERL-481
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ public_key now handles elliptic curve parameters in a
+ consistent way so that decoded ECDSA keys can be
+ correctly re-encoded.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13704 Application(s): crypto, public_key
+ Related Id(s): PR838
+
+ Extend crypto:sign, crypto:verify, public_key:sign and
+ public_key:verify with:
+
+ * support for RSASSA-PS padding for signatures and for
+ saltlength setting
+ * X9.31 RSA padding.
+ * sha, sha224, sha256, sha384, and sha512 for dss
+ signatures as mentioned in NIST SP 800-57 Part 1.
+ * ripemd160 to be used for rsa signatures.
+
+ This is a manual merge of half of the pull request 838
+ by potatosalad from Sept 2015.
+
+
+ OTP-14181 Application(s): public_key
+
+ Add API function pkix_test_data/1 for facilitating
+ automated testing. This is useful for applications that
+ preform X509-certifcate path validation of so called
+ certificate chains, such as TLS.
+
+
+ OTP-14236 Application(s): public_key, ssl
+
+ Improved error propagation and reports
+
+
+ OTP-14534 Application(s): public_key
+
+ RSAPrivateKey version is set to 'two-prime' instead of
+ using the underlying enumeration value directly.
+
+
+ OTP-14608 Application(s): public_key
+
+ Deprecated function crypto:rand_uniform/2 is replaced
+ by rand:uniform/1.
+
+
+ Full runtime dependencies of public_key-1.5: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.5 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The reltool-0.7.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14463 Application(s): reltool, sasl
+
+ Files generated by release_handler and reltool, which
+ might contain Unicode characters, are now encoded as
+ UTF-8 and written with format "~tp" or "~ts". If the
+ file is to be read by file:consult/1, an encoding
+ comment is added.
+
+
+ Full runtime dependencies of reltool-0.7.5: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.12.2 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of runtime_tools-1.12.2: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-3.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ OTP-14463 Application(s): reltool, sasl
+
+ Files generated by release_handler and reltool, which
+ might contain Unicode characters, are now encoded as
+ UTF-8 and written with format "~tp" or "~ts". If the
+ file is to be read by file:consult/1, an encoding
+ comment is added.
+
+
+ OTP-14618 Application(s): sasl
+
+ The SASL error logger event handler,
+ sasl_report_file_h, will now by default open its log
+ file with encoding UTF-8. This can be overridden when
+ configuring SASL, see configuration parameter
+ sasl_error_logger in the SASL reference manual.
+
+
+ Full runtime dependencies of sasl-3.1: erts-9.0, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.7 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13014 Application(s): snmp
+ Related Id(s): ERL-375
+
+ A bug in the SNMP MIB compiler has been fixed. An
+ AUGMENTS referring to a table defined later in the MIB
+ did not work.
+
+
+ Full runtime dependencies of snmp-5.2.7: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.6 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14506 Application(s): ssh
+ Related Id(s): PR1503
+
+ Enables the ssh_io module to also accept binary values
+ when reading standard_io instead of getting stuck in
+ the receive clause.
+
+
+ OTP-14550 Application(s): ssh
+ Related Id(s): PR1533
+
+ Previously, the file owner access permission in
+ response to ssh_sftp:read_file_info/2 function was
+ always read_write. With this fix, the actual value of
+ file owner access permission is added to the returning
+ record. That value is calculated from file mode value.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14568 Application(s): ssh
+
+ A new option modify_algorithms is implemented. It
+ enables specifying changes on the default algorithms
+ list. See the reference manual and the SSH User's Guide
+ chapter "Configuring algorithms in SSH".
+
+
+ Full runtime dependencies of ssh-4.6: crypto-3.7.3, erts-6.0,
+ kernel-3.0, public_key-1.4, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.2.1 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.5 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14556 Application(s): ssl
+
+ Max session table works correctly again
+
+
+ --- Improvements and New Features ---
+
+ OTP-14078 Application(s): ssl
+
+ Customize alert handling for DTLS over UDP to mitigate
+ DoS attacks
+
+
+ OTP-14236 Application(s): public_key, ssl
+
+ Improved error propagation and reports
+
+
+ Full runtime dependencies of ssl-8.2.1: crypto-3.3, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.5, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.4.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14488 Application(s): stdlib
+ Related Id(s): PR-1489
+
+ Fix a bug in the Erlang shell where recursively defined
+ records with typed fields could cause a loop.
+
+
+ OTP-14542 Application(s): stdlib
+
+ Make edlin handle grapheme clusters instead of
+ codepoints to improve the handling multi-codepoints
+ characters.
+
+
+ OTP-14600 Application(s): compiler, stdlib
+ Related Id(s): ERL-478
+
+ There could be false warnings for
+ erlang:get_stacktrace/0 being used outside of a try
+ block when using multiple catch clauses.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14378 Application(s): compiler, stdlib
+
+ The Erlang code linter no longer checks that the
+ functions mentioned in nowarn_deprecated_function
+ options are declared in the module.
+
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of stdlib-3.4.2: compiler-5.0, crypto-3.3,
+ erts-9.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.3 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.1.3 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ OTP-14471 Application(s): syntax_tools
+ Related Id(s): ERL-413
+
+ A process trapping exits and calling erl_tidy no longer
+ hangs if an error occurs.
+
+
+ Full runtime dependencies of syntax_tools-2.1.3: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.11 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The tools-2.11 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-9.1 (first satisfied in OTP 20.1)
+ -- kernel-5.4 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14344 Application(s): tools
+
+ The predefined Xref analysis locals_not_used no longer
+ reports unused functions with the -on_load() attribute.
+
+ The new predefined Xref variable OL holds all functions
+ with the -on_load() attribute.
+
+
+ OTP-14500 Application(s): tools
+
+ In fprof when sampling multiple processes and analyzing
+ with totals set to true, the output now sums together
+ all caller and callee entries which concerns the same
+ function. Previous behaviour was to report each
+ contributing entry separately.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13170 Application(s): erts, kernel, tools
+
+ Lock counting can now be fully toggled at runtime in
+ the lock counting emulator (-emu_type lcnt). Everything
+ is enabled by default to match the old behavior, but
+ specific categories can be toggled at will with minimal
+ runtime overhead when disabled. Refer to the
+ documentation on lcnt:rt_mask/1 for details.
+
+
+ OTP-14412 Application(s): erts, kernel, tools
+
+ lcnt:collect and lcnt:clear will no longer block all
+ other threads in the runtime system.
+
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ OTP-14464 Application(s): debugger, edoc, et, eunit, observer,
+ tools
+
+ Tools are updated to show Unicode atoms correctly.
+
+
+ OTP-14520 Application(s): erts, tools
+
+ Add erlang:iolist_to_iovec/1, which converts an
+ iolist() to an erlang:iovec(), which suitable for use
+ with enif_inspect_iovec.
+
+
+ Full runtime dependencies of tools-2.11: compiler-5.0, erts-9.1,
+ kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.8.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14539 Application(s): wx
+
+ Do not deprecate
+ wxGraphicsContext:createLinearGradientBrush/7 and
+ wxGraphicsContext:createRadialGradientBrush/8 which are
+ still available in wxWidgets-3.0.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14462 Application(s): common_test, dialyzer, erl_docgen,
+ hipe, kernel, mnesia, observer, runtime_tools, sasl,
+ stdlib, syntax_tools, tools, wx
+
+ General Unicode improvements.
+
+
+ Full runtime dependencies of wx-1.8.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.2.1.README.txt b/release-notes/OTP-20.2.1.README.txt
new file mode 100644
index 0000000..4ba5dc8
--- /dev/null
+++ b/release-notes/OTP-20.2.1.README.txt
@@ -0,0 +1,47 @@
+Patch Package: OTP 20.2.1
+Git Tag: OTP-20.2.1
+Date: 2017-12-15
+Trouble Report Id: OTP-14827
+Seq num: ERL-531
+System: OTP
+Release: 20
+Application: ssh-4.6.4
+Predecessor: OTP 20.2
+
+ Check out the git tag OTP-20.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.4 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14827 Application(s): ssh
+ Related Id(s): ERL-531
+
+ Fix problem with OpenSSH 7.2 (and later) clients that
+ has used sha1 instead of sha2 for rsa-sha-256/512
+ user's public keys.
+
+
+ Full runtime dependencies of ssh-4.6.4: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.2.2.README.txt b/release-notes/OTP-20.2.2.README.txt
new file mode 100644
index 0000000..59417c4
--- /dev/null
+++ b/release-notes/OTP-20.2.2.README.txt
@@ -0,0 +1,50 @@
+Patch Package: OTP 20.2.2
+Git Tag: OTP-20.2.2
+Date: 2017-12-19
+Trouble Report Id: OTP-14829, OTP-14841
+Seq num: ERIERL-113, ERIERL-84
+System: OTP
+Release: 20
+Application: mnesia-4.15.3
+Predecessor: OTP 20.2.1
+
+ Check out the git tag OTP-20.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.15.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.15.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14829 Application(s): mnesia
+ Related Id(s): ERIERL-84
+
+ Removed a quadratic behavior in startup. This change
+ implies that backend plugins (if used) must be set when
+ the schema is created or via configuration parameters
+ before mnesia is started.
+
+
+ OTP-14841 Application(s): mnesia
+ Related Id(s): ERIERL-113
+
+ Bad timing could crash mnesia after a checkpoint was
+ deactivated and reactivated with the same checkpoint
+ name on different tables.
+
+
+ Full runtime dependencies of mnesia-4.15.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.2.3.README.txt b/release-notes/OTP-20.2.3.README.txt
new file mode 100644
index 0000000..7a98c8d
--- /dev/null
+++ b/release-notes/OTP-20.2.3.README.txt
@@ -0,0 +1,117 @@
+Patch Package: OTP 20.2.3
+Git Tag: OTP-20.2.3
+Date: 2018-02-13
+Trouble Report Id: OTP-14823, OTP-14915, OTP-14916, OTP-14917,
+ OTP-14918
+Seq num: ERIERL-88
+System: OTP
+Release: 20
+Application: erts-9.2.1, kernel-5.4.2,
+ runtime_tools-1.12.4
+Predecessor: OTP 20.2.2
+
+ Check out the git tag OTP-20.2.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-9.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.2.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14915 Application(s): erts
+ Related Id(s): ERIERL-88
+
+ Improve search algorithm of abandoned memory carriers.
+ Instead of limited linear search, each allocator
+ instance maintain a balanced search tree of all its
+ abandoned carriers for faster and more exhaustive
+ search.
+
+
+ OTP-14916 Application(s): erts
+ Related Id(s): ERIERL-88
+
+ New erts_alloc command line options +M_acnl and
+ +M_acfml to limit carrier abandonment.
+
+
+ OTP-14917 Application(s): erts, runtime_tools
+ Related Id(s): ERIERL-88
+
+ New family of erts_alloc strategies: Age Order First
+ Fit. Similar to "address order", but instead the oldest
+ possible carrier is always chosen for allocation.
+
+
+ OTP-14918 Application(s): erts
+ Related Id(s): ERIERL-88
+
+ Add possibility to change allocator options at runtime
+ with system_info(erts_alloc, ...). Only option sbct
+ (single block carrier threshold) is currently supported
+ via this interface.
+
+
+ Full runtime dependencies of erts-9.2.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.4.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-9.1 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14823 Application(s): kernel
+
+ Add os:cmd/2 that takes an options map as the second
+ argument.
+
+ Add max_size as an option to os:cmd/2 that control the
+ maximum size of the result that os:cmd/2 will return.
+
+
+ Full runtime dependencies of kernel-5.4.2: erts-9.1, sasl-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12.4 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.12.4 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-14917 Application(s): erts, runtime_tools
+ Related Id(s): ERIERL-88
+
+ New family of erts_alloc strategies: Age Order First
+ Fit. Similar to "address order", but instead the oldest
+ possible carrier is always chosen for allocation.
+
+
+ Full runtime dependencies of runtime_tools-1.12.4: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.2.4.README.txt b/release-notes/OTP-20.2.4.README.txt
new file mode 100644
index 0000000..f2d559c
--- /dev/null
+++ b/release-notes/OTP-20.2.4.README.txt
@@ -0,0 +1,58 @@
+Patch Package: OTP 20.2.4
+Git Tag: OTP-20.2.4
+Date: 2018-02-22
+Trouble Report Id: OTP-14907, OTP-14930, OTP-14935
+Seq num:
+System: OTP
+Release: 20
+Application: ssh-4.6.5
+Predecessor: OTP 20.2.3
+
+ Check out the git tag OTP-20.2.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.5 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14907 Application(s): ssh
+
+ Adjusted supervisor timeouts
+
+
+ OTP-14930 Application(s): ssh
+
+ Remove ERROR messages for slow process exits
+
+
+ --- Improvements and New Features ---
+
+ OTP-14935 Application(s): ssh
+
+ Add option save_accepted_host to ssh:connection. This
+ option, if set to false, inhibits saving host keys to
+ e.g the file known_hosts.
+
+
+ Full runtime dependencies of ssh-4.6.5: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.2.README.txt b/release-notes/OTP-20.2.README.txt
new file mode 100644
index 0000000..5bb828a
--- /dev/null
+++ b/release-notes/OTP-20.2.README.txt
@@ -0,0 +1,1384 @@
+Patch Package: OTP 20.2
+Git Tag: OTP-20.2
+Date: 2017-12-13
+Trouble Report Id: OTP-13832, OTP-13906, OTP-14281, OTP-14446,
+ OTP-14448, OTP-14475, OTP-14563, OTP-14567,
+ OTP-14570, OTP-14602, OTP-14620, OTP-14639,
+ OTP-14642, OTP-14643, OTP-14657, OTP-14663,
+ OTP-14664, OTP-14670, OTP-14673, OTP-14674,
+ OTP-14676, OTP-14677, OTP-14678, OTP-14679,
+ OTP-14685, OTP-14686, OTP-14688, OTP-14689,
+ OTP-14691, OTP-14693, OTP-14697, OTP-14720,
+ OTP-14727, OTP-14735, OTP-14740, OTP-14742,
+ OTP-14743, OTP-14752, OTP-14755, OTP-14757,
+ OTP-14767, OTP-14773, OTP-14776, OTP-14777,
+ OTP-14779, OTP-14783, OTP-14784, OTP-14786,
+ OTP-14787, OTP-14791, OTP-14794, OTP-14796,
+ OTP-14798, OTP-14801, OTP-14802, OTP-14803,
+ OTP-14804, OTP-14805
+Seq num: ERIERL-103, ERIERL-52, ERL-261, ERL-409,
+ ERL-489, ERL-495, ERL-498, ERL-518
+System: OTP
+Release: 20
+Application: asn1-5.0.4, common_test-1.15.3,
+ compiler-7.1.4, cosEvent-2.2.2,
+ cosEventDomain-1.2.2, cosFileTransfer-1.2.2,
+ cosNotification-1.2.3, cosProperty-1.2.3,
+ cosTime-1.2.3, cosTransactions-1.3.3,
+ crypto-4.2, debugger-4.2.4, dialyzer-3.2.3,
+ diameter-2.1.3, edoc-0.9.2, eldap-1.2.3,
+ erl_docgen-0.7.2, erl_interface-3.10.1,
+ erts-9.2, eunit-2.3.5, hipe-3.17, ic-4.4.3,
+ inets-6.4.5, jinterface-1.8.1, kernel-5.4.1,
+ megaco-3.18.3, mnesia-4.15.2, observer-2.6,
+ odbc-2.12.1, orber-3.8.4, os_mon-2.4.4,
+ otp_mibs-1.1.2, parsetools-2.1.6,
+ public_key-1.5.2, runtime_tools-1.12.3,
+ sasl-3.1.1, snmp-5.2.9, ssh-4.6.3, ssl-8.2.3,
+ stdlib-3.4.3, syntax_tools-2.1.4,
+ tools-2.11.1, wx-1.8.3, xmerl-1.3.16
+Predecessor: OTP 20.1.7
+
+ Check out the git tag OTP-20.2, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14448 Application(s): crypto, ssl
+
+ The crypto API is extended to use private/public keys
+ stored in an Engine for sign/verify or encrypt/decrypt
+ operations.
+
+ The ssl application provides an API to use this new
+ engine concept in TLS.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14786 Application(s): asn1
+ Related Id(s): ERL-518
+
+ There was a issue with BER encoding and the undec_rest
+ option in generated decoders. An exception could be
+ thrown instead of returning an error tuple.
+
+
+ OTP-14787 Application(s): asn1
+ Related Id(s): ERL-518
+
+ The asn1ct:test functions crashed on decoders generated
+ with options no_ok_wrapper, undec_rest.
+
+
+ Full runtime dependencies of asn1-5.0.4: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15.3 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.15.3 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-13832 Application(s): common_test
+
+ A new function, ct:remaining_test_procs/0, returns the
+ identity of test- and group leader processes that are
+ still running at the time of the call.
+
+
+ OTP-14281 Application(s): common_test
+
+ A "latest test result" link is now displayed in the
+ footer of each test index page, which performs a jump
+ to the most recently generated test index. This is
+ useful for making quick comparisons of results between
+ test runs without having to traverse the log file tree.
+
+
+ Full runtime dependencies of common_test-1.15.3: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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.4, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.1.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14773 Application(s): compiler
+ Related Id(s): ERL-498
+
+ The 'deterministic' option was not recognized when
+ given in a -compile() attribute in the source code.
+
+
+ Full runtime dependencies of compiler-7.1.4: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosEvent-2.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosEvent-2.2.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of cosEvent-2.2.2: erts-7.0, kernel-3.0,
+ orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosEventDomain-1.2.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosEventDomain-1.2.2 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of cosEventDomain-1.2.2:
+ cosNotification-1.1.21, erts-7.0, kernel-3.0, orber-3.6.27,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosFileTransfer-1.2.2 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosFileTransfer-1.2.2 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of cosFileTransfer-1.2.2:
+ cosProperty-1.1.17, erts-7.0, inets-5.10, kernel-3.0, orber-3.6.27,
+ ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosNotification-1.2.3 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosNotification-1.2.3 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of cosNotification-1.2.3: cosEvent-2.1.15,
+ cosTime-1.1.14, erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- cosProperty-1.2.3 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosProperty-1.2.3 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of cosProperty-1.2.3: erts-7.0, kernel-3.0,
+ mnesia-4.12, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosTime-1.2.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTime-1.2.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of cosTime-1.2.3: cosEvent-2.1.15,
+ erts-7.0, kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- cosTransactions-1.3.3 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The cosTransactions-1.3.3 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of cosTransactions-1.3.3: erts-7.0,
+ kernel-3.0, orber-3.6.27, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14720 Application(s): crypto
+
+ The compatibility function void HMAC_CTX_free in
+ crypto.c erroneously tried to return a value.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14446 Application(s): crypto
+
+ Rewrite public and private key encode/decode with EVP
+ api. New RSA padding options added. This is a modified
+ half of PR-838.
+
+
+ OTP-14448 Application(s): crypto, ssl
+
+ *** HIGHLIGHT ***
+
+ The crypto API is extended to use private/public keys
+ stored in an Engine for sign/verify or encrypt/decrypt
+ operations.
+
+ The ssl application provides an API to use this new
+ engine concept in TLS.
+
+
+ OTP-14567 Application(s): crypto
+
+ Add support to plug in alternative implementations for
+ some or all of the cryptographic operations supported
+ by the OpenSSL Engine API. When configured
+ appropriately, OpenSSL calls the engine's
+ implementation of these operations instead of its own.
+
+
+ OTP-14639 Application(s): crypto
+
+ Replaced a call of the OpenSSL deprecated function
+ DH_generate_parameters in crypto.c.
+
+
+ OTP-14735 Application(s): crypto
+ Related Id(s): OTP-14448
+
+ Documentation added about how to use keys stored in an
+ Engine.
+
+
+ OTP-14801 Application(s): crypto
+
+ Add engine_ ctrl_cmd_string/3,4 the OpenSSL Engine
+ support in crypto.
+
+
+ Full runtime dependencies of crypto-4.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-4.2.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14802 Application(s): debugger
+
+ Do not quote variables and button names in Debugger
+ windows. The bug was introduced in Erlang/OTP 20.1.
+
+
+ Full runtime dependencies of debugger-4.2.4: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-3.2.3 application can *not* be applied
+ independently of other applications on an arbitrary OTP 20
+ installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.16.1 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14742 Application(s): dialyzer
+
+ The error message returned from Dialyzer when, for
+ example, a modified record field type is not a subtype
+ of the declared type, no longer includes a call stack.
+ The bug was introduced in Erlang/OTP 19.3.
+
+
+ OTP-14743 Application(s): dialyzer
+
+ A bug relating to maps and never returning functions
+ has been fixed.
+
+
+ Full runtime dependencies of dialyzer-3.2.3: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.1.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14805 Application(s): diameter
+
+ Fix documentation typo: peer_down/3 was written where
+ peer_down/3 was intended.
+
+
+ Full runtime dependencies of diameter-2.1.3: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-0.9.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14777 Application(s): edoc
+
+ The map type is correctly denoted as map() in function
+ specifications and types.
+
+
+ Full runtime dependencies of edoc-0.9.2: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of eldap-1.2.3: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.7.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.7.2 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14674 Application(s): erl_docgen
+
+ The style for code, warning and note tags in the pdf
+ have been changed so they look like the html version.
+ The spacing around code blocks have been changed for
+ both html and pdf so it's the same regardless if the
+ user have a newline after the start tag (or before the
+ end tag) or not.
+
+
+ Full runtime dependencies of erl_docgen-0.7.2: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.10.1 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14677 Application(s): erts
+
+ Fix a bug in tracing where the {caller} match spec
+ function would be set to undefined incorrectly when
+ used in conjunction with return_to or return_trace on
+ some functions.
+
+ The functions effected are: erlang:put/2,
+ erlang:erase/1, erlang:process_info/1,2,
+ erlang:nif_load/2, erts_internal:garbage_collection/1
+ and erts_internal:check_process_code/1.
+
+ Because of this bug, the analysis done by fprof could
+ become incorrect when the functions above are the
+ tail-call in a function.
+
+
+ OTP-14678 Application(s): erts
+ Related Id(s): ERL-495
+
+ Fix emulator deadlock that would happen if trap_exit
+ was set to true and a process sends an exit signal to
+ itself using exit(self(), Reason) while receive tracing
+ was enabled for that process.
+
+
+ OTP-14685 Application(s): erts, observer
+ Related Id(s): OTP-14595, OTP-14603, OTP-14611
+
+ Writing of crash dumps is significantly faster.
+
+ Maps are now included in crash dumps.
+
+ Constants terms would only be shown in one process,
+ while other processes referencing the same constant
+ term would show a marker for incomplete heap.
+
+
+ OTP-14691 Application(s): erts
+
+ The fallback home directory for windows has been
+ changed to be the PROFILE directory instead of the
+ WINDOWS directory. The fallback is used when the
+ environment variables HOMEDRIVE and HOMEPATH have not
+ been set.
+
+
+ OTP-14740 Application(s): erts, hipe
+
+ Fix bug for hipe compiled code using <<X/utf32>> binary
+ construction that could cause faulty result or even VM
+ crash.
+
+ On architectures other than x86_64, code need to be
+ recompiled to benefit from this fix.
+
+
+ OTP-14752 Application(s): erts
+
+ Fixed bug in erlang:garbage_collect/2 and
+ erlang:check_process_code/3, when called with option
+ {async,ReqestId}. Could cause VM crash or heap
+ corruption if RequestId was an immediate term (like a
+ pid, atom or small integer). Bug exists since OTP-17.0.
+
+
+ OTP-14779 Application(s): erts
+
+ ERL_NIF_MINOR_VERSION wasn't bumped with the addition
+ of enif_ioq_*.
+
+
+ OTP-14791 Application(s): erts
+
+ Purging of loaded code that contained "fake literals"
+ (for example the magic reference obtained from
+ 'ets:new/2') would crash the runtime system. Corrected.
+
+
+ OTP-14796 Application(s): erts
+
+ Setting the size of the atom table to a number near
+ 2147483647 (using the '+t' option) would cause the
+ emulator to exit with a failure to allocate a huge
+ amount of memory. This has been corrected. Also the
+ usage message for the '+t' option has been corrected to
+ show the correct upper limit 2147483647 instead of 0.
+
+
+ OTP-14803 Application(s): erts
+
+ Fixed a bug that prevented registered process names
+ from being resolved in lcnt results.
+
+
+ OTP-14804 Application(s): erts
+
+ Formatting bugs were fixed in several HiPE debug BIFs.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14686 Application(s): erts, observer
+
+ Binaries and some other data in crash dumps are now
+ encoded in base64 (instead of in hex), which will
+ reduce the size of crash dumps.
+
+ A few bugs in the handling of sub binaries in
+ crashdump_viewer have been fixed.
+
+
+ OTP-14689 Application(s): erts
+
+ Micro optimization for send operations of messages to
+ other nodes. The local ack-message, which is otherwise
+ sent back from TPC/IP port driver to sending client
+ process, is now ignored earlier for distributed send
+ operations.
+
+
+ Full runtime dependencies of erts-9.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.3.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of eunit-2.3.5: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.17 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The hipe-3.17 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-9.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14740 Application(s): erts, hipe
+
+ Fix bug for hipe compiled code using <<X/utf32>> binary
+ construction that could cause faulty result or even VM
+ crash.
+
+ On architectures other than x86_64, code need to be
+ recompiled to benefit from this fix.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14767 Application(s): hipe
+
+ Added documentation about limitations of hipe compared
+ to beam compiled code.
+
+
+ Full runtime dependencies of hipe-3.17: compiler-5.0, erts-9.2,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ic-4.4.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ic-4.4.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of ic-4.4.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.4.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.4.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14679 Application(s): inets
+
+ CGI environment variable CONTENT_LENGTH shall be a
+ string
+
+
+ OTP-14727 Application(s): inets
+
+ In relaxed mode disregard Content-Length header if
+ there is also a Transfer-Encoding header.
+
+
+ OTP-14783 Application(s): inets
+
+ Eliminated race condition, that could cause http
+ request to sporadically fail to complete successfully,
+ when keep-alive connections are used.
+
+
+ Full runtime dependencies of inets-6.4.5: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.8.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.8.1 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.4.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-9.1 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14784 Application(s): kernel
+
+ Refactored an internal API.
+
+
+ Full runtime dependencies of kernel-5.4.1: erts-9.1, sasl-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.18.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of megaco-3.18.3: 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.15.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.15.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14776 Application(s): mnesia
+ Related Id(s): ERIERL-103
+
+ Fix backup error handling, the real failure reason was
+ not returned.
+
+
+ Full runtime dependencies of mnesia-4.15.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.6 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.6 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14642 Application(s): observer
+
+ A bug introduced in OTP-20 would make Crashdump Viewer
+ crash when trying to expand an empty binary. This is
+ now corrected.
+
+
+ OTP-14643 Application(s): observer
+ Related Id(s): ERL-489
+
+ If a match spec in the config file contained more than
+ one clause, observer would earlier crash when trying to
+ display it in the GUI. This is now corrected.
+
+
+ OTP-14685 Application(s): erts, observer
+ Related Id(s): OTP-14595, OTP-14603, OTP-14611
+
+ Writing of crash dumps is significantly faster.
+
+ Maps are now included in crash dumps.
+
+ Constants terms would only be shown in one process,
+ while other processes referencing the same constant
+ term would show a marker for incomplete heap.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14686 Application(s): erts, observer
+
+ Binaries and some other data in crash dumps are now
+ encoded in base64 (instead of in hex), which will
+ reduce the size of crash dumps.
+
+ A few bugs in the handling of sub binaries in
+ crashdump_viewer have been fixed.
+
+
+ OTP-14755 Application(s): observer
+
+ In order to allow future improvements, Crashdump Viewer
+ now checks the version tag of the crashdump to see that
+ it is a known format. If the crashdump version is newer
+ than Crashdump Viewer is prepared to read, then an
+ information dialog is displayed before Crashdump Viewer
+ terminates.
+
+ If an incomplete process heap is discovered in a
+ crashdump, Crashdump Viewer will now display a warning
+ for this, similar to the warning displayed when a
+ crashdump is truncated. Incomplete heaps can occur if
+ for instance the literals are not included, which is
+ the case for all dumps prior to OTP-20.2.
+
+
+ Full runtime dependencies of observer-2.6: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.12.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.12.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of odbc-2.12.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- orber-3.8.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The orber-3.8.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ OTP-14673 Application(s): orber
+
+ Removed the man warnings by using the code tag instead
+ of c tag.
+
+
+ Full runtime dependencies of orber-3.8.4: erts-7.0, inets-5.10,
+ kernel-3.0, mnesia-4.12, ssl-5.3.4, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.4.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of os_mon-2.4.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- otp_mibs-1.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The otp_mibs-1.1.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of otp_mibs-1.1.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.6 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.1.6 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14697 Application(s): parsetools
+
+ Warnings about unused functions in leexinc.hrl are
+ suppressed.
+
+
+ Full runtime dependencies of parsetools-2.1.6: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.5.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.5.2 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14570 Application(s): public_key
+ Related Id(s): ERIERL-52, OTP-14676
+
+ Fixed a bug in public_key:ssh_encode/2 that made it
+ possible to erroneously encode e.g. an RSA key with
+ another type e.g. ECDSA in the resulting binary.
+
+
+ OTP-14620 Application(s): public_key
+
+ Corrected handling of parameterized EC keys in
+ public_key:generate_key/1 so that it will work as
+ expected instead of causing a runtime error in crypto.
+
+
+ Full runtime dependencies of public_key-1.5.2: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12.3 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.12.3 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of runtime_tools-1.12.3: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.1.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-3.1.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13906 Application(s): sasl
+ Related Id(s): ERL-261
+
+ The Report Browser, rb, could earlier not handle
+ reports that were not lists, for example generated by
+ error_logger:info_report({some, tuple}). This term is
+ allowed as input to error_logger, but rb would state
+ that "A report on bad form was encountered". This is
+ now corrected.
+
+
+ Full runtime dependencies of sasl-3.1.1: erts-9.0, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.9 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.9 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of snmp-5.2.9: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.3 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14602 Application(s): ssh
+
+ Passphrase option for ecdsa public keys was missing.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14676 Application(s): ssh
+ Related Id(s): ERIERL-52, OTP-14570
+
+ The host and user public key handling is hardened so
+ that a faulty plugin can't deliver a key of wrong type.
+
+ Better checks in the server of the available hostkey's
+ types at start and at each accept.
+
+ Better checks in the client of the available user
+ public key types at connect.
+
+
+ OTP-14757 Application(s): ssh
+
+ SSH can now fetch the host key from the private keys
+ stored in an Engine. See the crypto application for
+ details about Engines.
+
+
+ Full runtime dependencies of ssh-4.6.3: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.2.3 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14664 Application(s): ssl
+
+ Packet options cannot be supported for unreliable
+ transports, that is, packet option for DTLS over udp
+ will not be supported.
+
+
+ OTP-14794 Application(s): ssl
+
+ Ensure data delivery before close if possible. This fix
+ is related to fix in PR-1479.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14448 Application(s): crypto, ssl
+
+ *** HIGHLIGHT ***
+
+ The crypto API is extended to use private/public keys
+ stored in an Engine for sign/verify or encrypt/decrypt
+ operations.
+
+ The ssl application provides an API to use this new
+ engine concept in TLS.
+
+
+ OTP-14563 Application(s): ssl
+
+ Implemented renegotiation for DTLS
+
+
+ OTP-14657 Application(s): ssl
+
+ A new command line option -ssl_dist_optfile has been
+ added to facilitate specifying the many options needed
+ when using SSL as the distribution protocol.
+
+
+ Full runtime dependencies of ssl-8.2.3: crypto-4.2, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.5, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.4.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14663 Application(s): stdlib
+
+ Make ets:i/1 exit cleaner when ^D is input while
+ browsing a table. Only the old Erlang shell is affected
+ (erl(1) flag -oldshell).
+
+
+ OTP-14693 Application(s): stdlib
+
+ Fixed handling of windows UNC paths in module filename.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14670 Application(s): stdlib
+
+ Improve performance of the new string functionality
+ when handling ASCII characters.
+
+
+ OTP-14798 Application(s): stdlib
+
+ Added a clarification to the documentation of
+ unicode:characters_to_list/2.
+
+
+ Full runtime dependencies of stdlib-3.4.3: compiler-5.0, crypto-3.3,
+ erts-9.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.4 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.1.4 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of syntax_tools-2.1.4: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.11.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The tools-2.11.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-9.1 (first satisfied in OTP 20.1)
+ -- kernel-5.4 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of tools-2.11.1: compiler-5.0, erts-9.1,
+ kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.8.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14688 Application(s): wx
+
+ wx crashes in otp 20.1 if empty binaries was sent down
+ as arguments.
+
+
+ Full runtime dependencies of wx-1.8.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.16 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.16 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14475 Application(s): cosEvent, cosEventDomain,
+ cosFileTransfer, cosNotification, cosProperty, cosTime,
+ cosTransactions, eldap, erl_interface, eunit, ic,
+ jinterface, megaco, odbc, orber, os_mon, otp_mibs,
+ runtime_tools, snmp, syntax_tools, tools, xmerl
+ Related Id(s): ERL-409, PR-1493
+
+ Removed all old unused files in the documentation.
+
+
+ Full runtime dependencies of xmerl-1.3.16: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.1.README.txt b/release-notes/OTP-20.3.1.README.txt
new file mode 100644
index 0000000..ae6a240
--- /dev/null
+++ b/release-notes/OTP-20.3.1.README.txt
@@ -0,0 +1,45 @@
+Patch Package: OTP 20.3.1
+Git Tag: OTP-20.3.1
+Date: 2018-03-16
+Trouble Report Id: OTP-14981
+Seq num:
+System: OTP
+Release: 20
+Application: ssl-8.2.5
+Predecessor: OTP 20.3
+
+ Check out the git tag OTP-20.3.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.2.5 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14981 Application(s): ssl
+
+ Fix filter function to not incorrectly exclude AEAD
+ cipher suites
+
+
+ Full runtime dependencies of ssl-8.2.5: crypto-4.2, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.5, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.2.README.txt b/release-notes/OTP-20.3.2.README.txt
new file mode 100644
index 0000000..590c9fb
--- /dev/null
+++ b/release-notes/OTP-20.3.2.README.txt
@@ -0,0 +1,66 @@
+Patch Package: OTP 20.3.2
+Git Tag: OTP-20.3.2
+Date: 2018-03-22
+Trouble Report Id: OTP-13995, OTP-14990
+Seq num:
+System: OTP
+Release: 20
+Application: ssh-4.6.7, stdlib-3.4.5
+Predecessor: OTP 20.3.1
+
+ Check out the git tag OTP-20.3.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.7 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.7 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14990 Application(s): ssh
+
+ Fix bad spec in ssh.hrl: double_algs().
+
+
+ Full runtime dependencies of ssh-4.6.7: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.4.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13995 Application(s): stdlib
+
+ The Module:init/1 function in gen_statem may return an
+ actions list containing any action, but an erroneous
+ check only allowed state enter actions so e.g
+ {next_event,internal,event} caused a server crash. This
+ bug has been fixed.
+
+
+ Full runtime dependencies of stdlib-3.4.5: compiler-5.0, crypto-3.3,
+ erts-9.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.3.README.txt b/release-notes/OTP-20.3.3.README.txt
new file mode 100644
index 0000000..63d5a20
--- /dev/null
+++ b/release-notes/OTP-20.3.3.README.txt
@@ -0,0 +1,43 @@
+Patch Package: OTP 20.3.3
+Git Tag: OTP-20.3.3
+Date: 2018-04-19
+Trouble Report Id: OTP-15017
+Seq num:
+System: OTP
+Release: 20
+Application: sasl-3.1.2
+Predecessor: OTP 20.3.2
+
+ Check out the git tag OTP-20.3.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- sasl-3.1.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-3.1.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15017 Application(s): sasl
+
+ When upgrading with instruction 'restart_new_emulator',
+ the generated temporary boot file used 'kernelProcess'
+ statements from the old release instead of the new
+ release. This is now corrected.
+
+ This correction is needed for upgrade to OTP-21.
+
+
+ Full runtime dependencies of sasl-3.1.2: erts-9.0, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.4.README.txt b/release-notes/OTP-20.3.4.README.txt
new file mode 100644
index 0000000..1693f8e
--- /dev/null
+++ b/release-notes/OTP-20.3.4.README.txt
@@ -0,0 +1,112 @@
+Patch Package: OTP 20.3.4
+Git Tag: OTP-20.3.4
+Date: 2018-04-20
+Trouble Report Id: OTP-15004, OTP-15007, OTP-15018, OTP-15022,
+ OTP-15023
+Seq num: ERIERL-150, ERIERL-163
+System: OTP
+Release: 20
+Application: erl_interface-3.10.2, ic-4.4.4, inets-6.5.1,
+ ssh-4.6.8
+Predecessor: OTP 20.3.3
+
+ Check out the git tag OTP-20.3.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.10.2 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15022 Application(s): erl_interface
+ Related Id(s): ERIERL-163
+
+ Fix bug in ei_connect functions that may cause failure
+ due to insufficient buffer space for gethostbyname_r.
+
+
+ OTP-15023 Application(s): erl_interface, ic
+ Related Id(s): ERIERL-150
+
+ Optimize encoding/decoding for pure 7-bit ascii atoms.
+
+
+ ---------------------------------------------------------------------
+ --- ic-4.4.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ic-4.4.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15023 Application(s): erl_interface, ic
+ Related Id(s): ERIERL-150
+
+ Optimize encoding/decoding for pure 7-bit ascii atoms.
+
+
+ Full runtime dependencies of ic-4.4.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.5.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.5.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15007 Application(s): inets
+
+ Fix broken options handling in httpc (ERL-441).
+
+
+ Full runtime dependencies of inets-6.5.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.8 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.8 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15004 Application(s): ssh
+
+ An ssh_sftp server (running version 6) could fail if it
+ is told to remove a file which in fact is a directory.
+
+
+ OTP-15018 Application(s): ssh
+
+ Fix rare spurios shutdowns of ssh servers when
+ receiveing {'EXIT',_,normal} messages.
+
+
+ Full runtime dependencies of ssh-4.6.8: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.5.README.txt b/release-notes/OTP-20.3.5.README.txt
new file mode 100644
index 0000000..12d7681
--- /dev/null
+++ b/release-notes/OTP-20.3.5.README.txt
@@ -0,0 +1,64 @@
+Patch Package: OTP 20.3.5
+Git Tag: OTP-20.3.5
+Date: 2018-05-03
+Trouble Report Id: OTP-15034, OTP-15050
+Seq num:
+System: OTP
+Release: 20
+Application: erts-9.3.1, ssl-8.2.6
+Predecessor: OTP 20.3.4
+
+ Check out the git tag OTP-20.3.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-9.3.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.3.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15034 Application(s): erts
+
+ Fixed a crash in heart:get_cmd/0 when the stored
+ command was too long.
+
+
+ Full runtime dependencies of erts-9.3.1: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.2.6 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15050 Application(s): ssl
+
+ Proper handling of clients that choose to send an empty
+ answer to a certificate request
+
+
+ Full runtime dependencies of ssl-8.2.6: crypto-4.2, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.5, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.6.README.txt b/release-notes/OTP-20.3.6.README.txt
new file mode 100644
index 0000000..e717cd2
--- /dev/null
+++ b/release-notes/OTP-20.3.6.README.txt
@@ -0,0 +1,75 @@
+Patch Package: OTP 20.3.6
+Git Tag: OTP-20.3.6
+Date: 2018-05-08
+Trouble Report Id: OTP-15064, OTP-15066, OTP-15073, OTP-15074
+Seq num: ERL-618
+System: OTP
+Release: 20
+Application: crypto-4.2.2, ssh-4.6.9
+Predecessor: OTP 20.3.5
+
+ Check out the git tag OTP-20.3.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-4.2.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.2.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15073 Application(s): crypto
+
+ If OPENSSL_NO_EC was set, the compilation of the crypto
+ nifs failed.
+
+
+ OTP-15074 Application(s): crypto
+ Related Id(s): ERL-618
+
+ C-compile errors for LibreSSL 2.7.0 - 2.7.2 fixed
+
+
+ Full runtime dependencies of crypto-4.2.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.9 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.9 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15064 Application(s): ssh
+
+ Host key hash erroneously calculated for clients
+ following draft-00 of RFC 4419, for example PuTTY
+
+
+ OTP-15066 Application(s): ssh
+
+ Renegotiation could fail in some states
+
+
+ Full runtime dependencies of ssh-4.6.9: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.7.README.txt b/release-notes/OTP-20.3.7.README.txt
new file mode 100644
index 0000000..6d4f360
--- /dev/null
+++ b/release-notes/OTP-20.3.7.README.txt
@@ -0,0 +1,89 @@
+Patch Package: OTP 20.3.7
+Git Tag: OTP-20.3.7
+Date: 2018-06-05
+Trouble Report Id: OTP-15080, OTP-15085, OTP-15091, OTP-15092
+Seq num:
+System: OTP
+Release: 20
+Application: erl_docgen-0.7.3, erts-9.3.2, inets-6.5.2
+Predecessor: OTP 20.3.6
+
+ Check out the git tag OTP-20.3.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.7.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-0.7.3 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15091 Application(s): erl_docgen
+
+ Update makefile so db_funcs.xsl is a part of the
+ installed application.
+
+
+ Full runtime dependencies of erl_docgen-0.7.3: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.3.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.3.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15080 Application(s): erts
+
+ Fixed bug in enif_binary_to_term which could cause
+ memory corruption for immediate terms (atoms, small
+ integers, pids, ports, empty lists).
+
+
+ OTP-15085 Application(s): erts
+
+ Fixed bug in erlang:system_profile/2 that could cause
+ superfluous {profile,_,active,_,_} messages for
+ terminating processes.
+
+
+ Full runtime dependencies of erts-9.3.2: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.5.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.5.2 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15092 Application(s): inets
+
+ inets: httpd - Gracefully handle bad headers
+
+ The option max_headers operated on the individual
+ header length instead of the total length of all
+ headers. Also headers with empty keys are now
+ discarded.
+
+
+ Full runtime dependencies of inets-6.5.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.8.1.README.txt b/release-notes/OTP-20.3.8.1.README.txt
new file mode 100644
index 0000000..50fce39
--- /dev/null
+++ b/release-notes/OTP-20.3.8.1.README.txt
@@ -0,0 +1,101 @@
+Patch Package: OTP 20.3.8.1
+Git Tag: OTP-20.3.8.1
+Date: 2018-06-25
+Trouble Report Id: OTP-15098, OTP-15120, OTP-15148, OTP-15149
+Seq num: ERIERL-177, ERIERL-192, ERIERL-194,
+ ERIERL-199
+System: OTP
+Release: 20
+Application: inets-6.5.2.1, ssh-4.6.9.1,
+ syntax_tools-2.1.4.1
+Predecessor: OTP 20.3.8
+
+ Check out the git tag OTP-20.3.8.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-6.5.2.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.5.2.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-15120 Application(s): inets
+ Related Id(s): ERIERL-192
+
+ Options added for setting low-level properties on the
+ underlying TCP connections. The options are: sock_ctrl,
+ sock_data_act and sock_data_pass. See the manual for
+ details.
+
+
+ Full runtime dependencies of inets-6.5.2.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.9.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.9.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15148 Application(s): ssh
+ Related Id(s): ERIERL-194
+
+ SFTP clients reported the error reason "" if a non-OTP
+ sftp server was killed during a long file transmission.
+
+ Now the signal name (for example "KILL") will be the
+ error reason if the server's reason is empty.
+
+ The documentation also lacked type information about
+ this class of errors.
+
+
+ OTP-15149 Application(s): ssh
+ Related Id(s): ERIERL-199
+
+ Fix ssh_sftp decode error for sftp protocol version 4
+
+
+ Full runtime dependencies of ssh-4.6.9.1: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.4.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.1.4.1 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15098 Application(s): syntax_tools
+ Related Id(s): ERIERL-177
+
+ Fix a bug regarding reverting map types.
+
+
+ Full runtime dependencies of syntax_tools-2.1.4.1: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.8.README.txt b/release-notes/OTP-20.3.8.README.txt
new file mode 100644
index 0000000..be91065
--- /dev/null
+++ b/release-notes/OTP-20.3.8.README.txt
@@ -0,0 +1,63 @@
+Patch Package: OTP 20.3.8
+Git Tag: OTP-20.3.8
+Date: 2018-06-14
+Trouble Report Id: OTP-14196, OTP-15109
+Seq num: ERIERL-161
+System: OTP
+Release: 20
+Application: erts-9.3.3, snmp-5.2.11
+Predecessor: OTP 20.3.7
+
+ Check out the git tag OTP-20.3.8, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-9.3.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.3.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15109 Application(s): erts
+
+ Fixed bug in ets that could cause VM crash if process A
+ terminates after fixating a table and process B deletes
+ the table at "the same time". The table fixation could
+ be done with ets:safe_fixtable or if process A
+ terminates in the middle of a long running select or
+ match call.
+
+
+ Full runtime dependencies of erts-9.3.3: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.11 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.11 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14196 Application(s): snmp
+ Related Id(s): ERIERL-161
+
+ The Snmp MIB compiler now allows using a
+ TEXTUAL-CONVENTION type before defining it.
+
+
+ Full runtime dependencies of snmp-5.2.11: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-20.3.README.txt b/release-notes/OTP-20.3.README.txt
new file mode 100644
index 0000000..ccad6fb
--- /dev/null
+++ b/release-notes/OTP-20.3.README.txt
@@ -0,0 +1,775 @@
+Patch Package: OTP 20.3
+Git Tag: OTP-20.3
+Date: 2018-03-14
+Trouble Report Id: OTP-13882, OTP-14194, OTP-14204, OTP-14725,
+ OTP-14760, OTP-14816, OTP-14817, OTP-14820,
+ OTP-14828, OTP-14832, OTP-14839, OTP-14840,
+ OTP-14842, OTP-14843, OTP-14846, OTP-14847,
+ OTP-14850, OTP-14852, OTP-14854, OTP-14856,
+ OTP-14858, OTP-14860, OTP-14863, OTP-14871,
+ OTP-14873, OTP-14876, OTP-14879, OTP-14881,
+ OTP-14886, OTP-14889, OTP-14890, OTP-14891,
+ OTP-14892, OTP-14898, OTP-14908, OTP-14911,
+ OTP-14912, OTP-14913, OTP-14919, OTP-14920,
+ OTP-14921, OTP-14925, OTP-14926, OTP-14929,
+ OTP-14933, OTP-14938, OTP-14939, OTP-14940,
+ OTP-14942, OTP-14944, OTP-14947, OTP-14952,
+ OTP-14953
+Seq num: ERIERL-117, ERIERL-124, ERIERL-144, ERL-527,
+ ERL-529, ERL-534, ERL-537, ERL-544, ERL-548,
+ ERL-551, ERL-564, ERL-565
+System: OTP
+Release: 20
+Application: asn1-5.0.5, common_test-1.15.4,
+ compiler-7.1.5, crypto-4.2.1, dialyzer-3.2.4,
+ diameter-2.1.4, erts-9.3, hipe-3.17.1,
+ inets-6.5, kernel-5.4.3, observer-2.7,
+ runtime_tools-1.12.5, snmp-5.2.10, ssh-4.6.6,
+ ssl-8.2.4, stdlib-3.4.4, tools-2.11.2
+Predecessor: OTP 20.2.4
+
+ Check out the git tag OTP-20.3, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14760 Application(s): ssl
+
+ Added new API functions to facilitate cipher suite
+ handling
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14850 Application(s): erts, hipe
+ Related Id(s): PR-1664
+
+ Fix HiPE bug for binary constructs like <<X/utf8>>
+ which could in rare cases cause faulty results or VM
+ crash.
+
+ This fix affects both the hipe compiler and erts
+ runtime in an *incompatible* way. Old hipe compiled
+ files need to be recompiled to load and run properly as
+ native.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13882 Application(s): asn1
+ Related Id(s): ERIERL-144
+
+ Dialyzer suppression has been added for the generated
+ ASN.1 helper function to_bitstring/1 that previously
+ created irrelevant warnings.
+
+
+ Full runtime dependencies of asn1-5.0.5: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15.4 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.15.4 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14953 Application(s): common_test
+
+ Fixed problem with 'skip_groups' in combination with
+ 'all suites' option in test specification.
+
+
+ Full runtime dependencies of common_test-1.15.4: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.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.4, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.1.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14863 Application(s): compiler
+
+ The internal compiler pass (beam_validator) that
+ validates the generated code has been strengthened.
+
+ When compiling from BEAM assembly code, the beam_type
+ optimizer pass could make the code unsafe. Corrected.
+
+
+ OTP-14898 Application(s): compiler
+
+ Corrected optimizations of integers matched out from
+ binaries and used in bit operations.
+
+
+ Full runtime dependencies of compiler-7.1.5: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.2.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.2.1 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14873 Application(s): crypto
+
+ Fix build error caused by removed RSA padding functions
+ in LibreSSL >= 2.6.1
+
+
+ Full runtime dependencies of crypto-4.2.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The dialyzer-3.2.4 application can *not* be applied
+ independently of other applications on an arbitrary OTP 20
+ installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- hipe-3.16.1 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14858 Application(s): dialyzer
+ Related Id(s): ERL-551
+
+ Fix bugs concerning erlang:abs/1 and erlang:bsl/2.
+
+
+ OTP-14911 Application(s): dialyzer
+
+ Fix a bug that caused Dialyzer to crash instead of
+ emitting a warning.
+
+
+ OTP-14925 Application(s): dialyzer
+ Related Id(s): ERL-565
+
+ Fix a bug concerning parameterized opaque types.
+
+
+ Full runtime dependencies of dialyzer-3.2.4: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.1.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14839 Application(s): diameter
+
+ Fix close of diameter_tcp/sctp listening socket at
+ diameter:remove_transport/2, that was broken in
+ diameter 2.1. A reconfigured transport could not listen
+ on the same endpoint as a result.
+
+
+ OTP-14947 Application(s): diameter
+ Related Id(s): ERIERL-124
+
+ Fix handling of SUSPECT connections at service
+ termination. A connection with this watchdog state
+ caused diameter_service:terminate/2 to fail.
+
+
+ Full runtime dependencies of diameter-2.1.4: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-9.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-9.3 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14840 Application(s): erts, otp
+ Related Id(s): ERL-529
+
+ Fixed a configure test for libz internals that
+ unintentionally caused various native code in OTP to
+ link against libz. Under certain circumstances this
+ caused the build of OTP to fail.
+
+
+ OTP-14847 Application(s): erts
+ Related Id(s): ERL-544
+
+ File names containing unicode codepoints larger than
+ 255 were not correctly encoded in stack traces.
+
+
+ OTP-14850 Application(s): erts, hipe
+ Related Id(s): PR-1664
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix HiPE bug for binary constructs like <<X/utf8>>
+ which could in rare cases cause faulty results or VM
+ crash.
+
+ This fix affects both the hipe compiler and erts
+ runtime in an *incompatible* way. Old hipe compiled
+ files need to be recompiled to load and run properly as
+ native.
+
+
+ OTP-14876 Application(s): erts
+ Related Id(s): ERL-548
+
+ Fix term_to_binary/2 spec for minor_version.
+
+
+ OTP-14879 Application(s): erts
+
+ Fix bug in erlang:binary_to_integer/2 where invalid
+ characters were not detected for bases larger then 10.
+ e.g. binary_to_integer(<<":">>, 16) would return 3 and
+ not badarg as it should.
+
+
+ OTP-14890 Application(s): erts
+
+ Fixed bug in float_to_list/2 and float_to_binary/2 with
+ option decimals that caused a faulty rounding up of the
+ last decimal digit for about 6% of floats with a
+ fraction part.
+
+ For example, float_to_list(0.145, [{decimals,1}])
+ returned "0.2" instead of "0.1".
+
+
+ OTP-14891 Application(s): erts
+
+ Fix bug causing slow hipe execution in modules loaded
+ early during boot or loaded by code:atomic_load or
+ code:finish_loading.
+
+
+ OTP-14920 Application(s): erts
+
+ Fixed a buffer overflow in an internal string
+ formatting function that could be hit if specifying a
+ long floating-point format specifier to erts_sprintf or
+ similar.
+
+
+ OTP-14921 Application(s): erts
+
+ erlang:iolist_to_iovec/1 and enif_inspect_iovec will no
+ longer fail when provided with binaries that have been
+ matched-out on a non-byte boundary.
+
+
+ OTP-14926 Application(s): erts
+
+ iolist_to_binary/1 and erlang:iolist_to_iovec/1 will
+ now badarg if supplied with a bitstring (without a
+ list).
+
+
+ OTP-14933 Application(s): erts, kernel
+ Related Id(s): ERL-564, PR-1716
+
+ Reject loading modules with names containing directory
+ separators ('/' or '\' on Windows).
+
+
+ OTP-14938 Application(s): erts
+
+ Fix potential dead-lock when the tracer process dies
+ while a the traced process is running on a dirty
+ scheduler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14820 Application(s): erts, observer
+
+ More crash dump info such as: process binary virtual
+ heap stats, full info for process causing out-of-mem
+ during GC, more port related info, and dirty scheduler
+ info.
+
+
+ Full runtime dependencies of erts-9.3: kernel-5.0, sasl-3.0.1,
+ stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.17.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The hipe-3.17.1 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-9.3 (first satisfied in OTP 20.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14850 Application(s): erts, hipe
+ Related Id(s): PR-1664
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix HiPE bug for binary constructs like <<X/utf8>>
+ which could in rare cases cause faulty results or VM
+ crash.
+
+ This fix affects both the hipe compiler and erts
+ runtime in an *incompatible* way. Old hipe compiled
+ files need to be recompiled to load and run properly as
+ native.
+
+
+ OTP-14886 Application(s): hipe
+
+ The BEAM compiler chooses not to perform tailcall
+ optimisations for some calls in tail position, for
+ example to some built-in functions. However, when the
+ ErLLVM HiPE backend is used, LLVM may choose to perform
+ tailcall optimisation on these calls, breaking the
+ expected semantics.
+
+ To preserve the precise semantics exhibited by BEAM,
+ the 'notail' marker, present in LLVM since version 3.8,
+ is added to call instructions that BEAM has not turned
+ into tail calls, which inhibits LLVM from performing
+ tail-call optimisation in turn.
+
+
+ Full runtime dependencies of hipe-3.17.1: compiler-5.0, erts-9.3,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-6.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-6.5 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14908 Application(s): inets
+
+ httpc_manager crashes when a long running request is
+ sent on a persistent HTTP connection (keep-alive).
+ Fixed httpc_manager to use proper timeouts on
+ keep-alive connections.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14854 Application(s): inets
+
+ Add support for unix domain sockets in the http client.
+
+
+ Full runtime dependencies of inets-6.5: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-5.4.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-5.4.3 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-9.3 (first satisfied in OTP 20.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14889 Application(s): kernel, stdlib
+
+ Correct a few contracts.
+
+
+ OTP-14933 Application(s): erts, kernel
+ Related Id(s): ERL-564, PR-1716
+
+ Reject loading modules with names containing directory
+ separators ('/' or '\' on Windows).
+
+
+ OTP-14940 Application(s): kernel
+
+ Fix bug in handling of os:cmd/2 option max_size on
+ windows.
+
+
+ Full runtime dependencies of kernel-5.4.3: erts-9.3, sasl-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.7 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.7 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14842 Application(s): observer
+ Related Id(s): ERL-534
+
+ etop.hrl used a relative path to include
+ observer_backend.hrl, this is now changed to use
+ include_lib instead. runtime_tools/include is added to
+ the tertiary bootstrap.
+
+
+ OTP-14846 Application(s): observer
+ Related Id(s): ERL-537
+
+ If a crashdump was truncated in the attributes section
+ for a module, crashdump_viewer would crash when a
+ module view was opened from the GUI. This bug was
+ introduced in OTP-20.2 and is now corrected.
+
+
+ OTP-14856 Application(s): observer
+ Related Id(s): ERIERL-117
+
+ Optimized ets and mnesia table view tab in observer
+ gui, listing 10000 tables was previously very slow.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14725 Application(s): observer
+
+ When a process has many links and/or monitors, it could
+ earlier take very long time to display the process
+ information window. This is now improved by only
+ showing a few links and monitors, and then an link
+ named "more..." to expand the rest.
+
+
+ OTP-14820 Application(s): erts, observer
+
+ More crash dump info such as: process binary virtual
+ heap stats, full info for process causing out-of-mem
+ during GC, more port related info, and dirty scheduler
+ info.
+
+
+ Full runtime dependencies of observer-2.7: erts-7.0, et-1.5,
+ inets-5.10, kernel-3.0, runtime_tools-1.8.14, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.12.5 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.12.5 application can be applied independently of
+ other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14816 Application(s): runtime_tools
+
+ system_information:to_file/1 will now use slightly less
+ memory.
+
+
+ Full runtime dependencies of runtime_tools-1.12.5: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.2.10 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.2.10 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14204 Application(s): snmp
+ Related Id(s): PR-1726
+
+ The example MIB EX1-MIB in the SNMP application has
+ been corrected to match its example.
+
+
+ Full runtime dependencies of snmp-5.2.10: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.6.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.6.6 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5.2 (first satisfied in OTP 20.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14939 Application(s): ssh
+
+ Remove a blocking risk when a channel is closed and an
+ operation is tried on that channel after at least a
+ second's time gap.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14194 Application(s): ssh
+ Related Id(s): OTP-12487
+
+ Added ssh_compat_SUITE.
+
+ This suite contains a number of interoperability tests
+ mainly with OpenSSH. The tests start docker containers
+ with different OpenSSH and OpenSSL/LibreSSLcryptolib
+ versions and performs a number of tests of supported
+ algorithms.
+
+ All login methods and all user's public key types are
+ tested both for the client and the server.
+
+ All algorithms for kex, cipher, host key, mac and
+ compressions are tested with a number of exec and sftp
+ tests, both for the client and the server.
+
+
+ OTP-14881 Application(s): ssh
+
+ Default exec is disabled when a user-defined shell is
+ enabled.
+
+
+ Full runtime dependencies of ssh-4.6.6: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-8.2.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-8.2.4 application can *not* be applied independently of
+ other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- crypto-4.2 (first satisfied in OTP 20.2)
+ -- public_key-1.5 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14843 Application(s): ssl
+
+ Optimization of bad merge conflict resolution causing
+ dubble decode
+
+
+ OTP-14852 Application(s): ssl
+
+ Restore error propagation to OTP-19.3 behaviour, in
+ OTP-20.2 implementation adjustments to gen_statem
+ needed some further adjustments to avoid a race
+ condition. This could cause a TLS server to not always
+ report file path errors correctly.
+
+
+ OTP-14871 Application(s): ssl
+
+ Corrected RC4 suites listing function to regard TLS
+ version
+
+
+ OTP-14919 Application(s): ssl
+
+ Fix alert handling so that unexpected messages are
+ logged and alerted correctly
+
+
+ OTP-14929 Application(s): ssl
+
+ Fix alert handling so that unexpected messages are
+ logged and alerted correctly
+
+
+ OTP-14952 Application(s): ssl
+
+ Correct handling of anonymous cipher suites
+
+
+ --- Improvements and New Features ---
+
+ OTP-14760 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Added new API functions to facilitate cipher suite
+ handling
+
+
+ OTP-14828 Application(s): ssl
+
+ Correct TLS_FALLBACK_SCSV handling so that this special
+ flag suite is always placed last in the cipher suite
+ list in accordance with the specs. Also make sure this
+ functionality is used in DTLS.
+
+
+ OTP-14892 Application(s): ssl
+
+ Add TLS record version sanity check for early as
+ possible error detection and consistency in ALERT codes
+ generated
+
+
+ Full runtime dependencies of ssl-8.2.4: crypto-4.2, erts-7.0,
+ inets-5.10.7, kernel-3.0, public_key-1.5, stdlib-3.2
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.4.4 application can be applied independently of other
+ applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14832 Application(s): stdlib
+ Related Id(s): ERL-527
+
+ Correct filelib:find_source() and filelib:find_file()
+ to by default also search one level below src. This is
+ in accordance with the Design Principles which states
+ that an application can have Erlang source files one
+ level below the src directory.
+
+
+ OTP-14860 Application(s): stdlib
+ Related Id(s): 1670, PR
+
+ The contract of erl_tar:table/2 is corrected.
+
+
+ OTP-14889 Application(s): kernel, stdlib
+
+ Correct a few contracts.
+
+
+ OTP-14942 Application(s): stdlib
+ Related Id(s): PR-1702
+
+ Fix string:prefix/2 to handle an empty string as second
+ argument.
+
+
+ Full runtime dependencies of stdlib-3.4.4: compiler-5.0, crypto-3.3,
+ erts-9.0, kernel-5.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-2.11.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The tools-2.11.2 application can *not* be applied independently
+ of other applications on an arbitrary OTP 20 installation.
+
+ On a full OTP 20 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-9.1 (first satisfied in OTP 20.1)
+ -- kernel-5.4 (first satisfied in OTP 20.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14817 Application(s): tools
+ Related Id(s): 1641, PR
+
+ A counting bug is corrected in Cover. The bug was
+ introduced in Erlang/OTP 18.0.
+
+
+ OTP-14912 Application(s): tools
+
+ The lcnt server will no longer crash if
+ lcnt:information/0 is called before lcnt:collect/0.
+
+
+ OTP-14913 Application(s): tools
+
+ lcnt:collect will now implicitly start the lcnt server,
+ as per the documentation.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14944 Application(s): tools
+
+ Improved indentation in emacs and various other
+ updates.
+
+
+ Full runtime dependencies of tools-2.11.2: compiler-5.0, erts-9.1,
+ kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.0-rc1.README.txt b/release-notes/OTP-21.0-rc1.README.txt
new file mode 100644
index 0000000..67fb715
--- /dev/null
+++ b/release-notes/OTP-21.0-rc1.README.txt
@@ -0,0 +1,2773 @@
+Patch Package: OTP 21.0
+Git Tag: OTP-21.0
+Date: 2018-05-02
+Trouble Report Id: OTP-10551, OTP-11462, OTP-11694, OTP-13019,
+ OTP-13073, OTP-13133, OTP-13295, OTP-13370,
+ OTP-13413, OTP-13713, OTP-13760, OTP-13761,
+ OTP-13764, OTP-14012, OTP-14015, OTP-14019,
+ OTP-14113, OTP-14256, OTP-14346, OTP-14370,
+ OTP-14439, OTP-14459, OTP-14465, OTP-14469,
+ OTP-14492, OTP-14493, OTP-14496, OTP-14497,
+ OTP-14501, OTP-14502, OTP-14503, OTP-14505,
+ OTP-14508, OTP-14513, OTP-14518, OTP-14525,
+ OTP-14537, OTP-14543, OTP-14547, OTP-14575,
+ OTP-14577, OTP-14586, OTP-14589, OTP-14594,
+ OTP-14604, OTP-14610, OTP-14613, OTP-14615,
+ OTP-14624, OTP-14626, OTP-14637, OTP-14651,
+ OTP-14652, OTP-14654, OTP-14666, OTP-14667,
+ OTP-14675, OTP-14680, OTP-14681, OTP-14682,
+ OTP-14683, OTP-14687, OTP-14692, OTP-14712,
+ OTP-14713, OTP-14719, OTP-14726, OTP-14729,
+ OTP-14747, OTP-14764, OTP-14768, OTP-14769,
+ OTP-14774, OTP-14780, OTP-14782, OTP-14785,
+ OTP-14788, OTP-14789, OTP-14795, OTP-14797,
+ OTP-14808, OTP-14824, OTP-14826, OTP-14830,
+ OTP-14834, OTP-14844, OTP-14851, OTP-14855,
+ OTP-14861, OTP-14864, OTP-14880, OTP-14882,
+ OTP-14884, OTP-14896, OTP-14899, OTP-14900,
+ OTP-14901, OTP-14902, OTP-14903, OTP-14904,
+ OTP-14909, OTP-14910, OTP-14928, OTP-14931,
+ OTP-14932, OTP-14934, OTP-14937, OTP-14941,
+ OTP-14943, OTP-14948, OTP-14950, OTP-14951,
+ OTP-14954, OTP-14955, OTP-14956, OTP-14957,
+ OTP-14958, OTP-14959, OTP-14960, OTP-14961,
+ OTP-14965, OTP-14966, OTP-14968, OTP-14969,
+ OTP-14970, OTP-14971, OTP-14975, OTP-14976,
+ OTP-14977, OTP-14978, OTP-14979, OTP-14983,
+ OTP-14986, OTP-14988, OTP-14991, OTP-14992,
+ OTP-14993, OTP-14994, OTP-14996, OTP-15001,
+ OTP-15002, OTP-15003, OTP-15004, OTP-15006,
+ OTP-15008, OTP-15009, OTP-15013, OTP-15015,
+ OTP-15021, OTP-15024, OTP-15025, OTP-15026,
+ OTP-15027, OTP-15028, OTP-15029, OTP-15030,
+ OTP-15031, OTP-15032, OTP-15033, OTP-15035,
+ OTP-15036, OTP-15037, OTP-15039, OTP-15041,
+ OTP-15042, OTP-15044, OTP-15045, OTP-15047,
+ OTP-15048, OTP-15049, OTP-15050
+Seq num: ERL-327, ERL-370, ERL-444, ERL-500, ERL-503,
+ ERL-511, ERL-514, ERL-549, ERL-550, ERL-557,
+ ERL-563, ERL-572, ERL-576, ERL-579, ERL-598,
+ ERL-601, ERL-613, ERL-614, ERL-88
+System: OTP
+Release: 21
+Application: asn1-5.0.6, common_test-1.16, compiler-7.2,
+ crypto-4.3, debugger-4.2.5, dialyzer-3.3,
+ diameter-2.1.5, edoc-0.9.3, eldap-1.2.4,
+ erl_docgen-0.8, erl_interface-3.10.3,
+ erts-10.0, et-1.6.2, eunit-2.3.6, ftp-1.0,
+ hipe-3.18, inets-7.0, jinterface-1.9,
+ kernel-6.0, mnesia-4.15.4, observer-2.8,
+ os_mon-2.4.5, parsetools-2.1.7,
+ public_key-1.6, reltool-0.7.6,
+ runtime_tools-1.13, sasl-3.2, ssh-4.7,
+ ssl-9.0, stdlib-3.5, syntax_tools-2.1.5,
+ tftp-1.0, tools-3.0, wx-1.8.4, xmerl-1.3.17
+Predecessor: OTP
+
+ Check out the git tag OTP-21.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14370 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was done toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the signal has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confuses,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14502 Application(s): erts
+
+ Creation of small maps with literal keys has been
+ optimized to be faster and potentially use less memory
+ . The keys are combined into a literal key tuple which
+ is put into the literal pool. The key tuple can be
+ shared between many instances of maps having the same
+ keys.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14928 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14968 Application(s): compiler
+ Related Id(s): ERL-563
+
+ When compiling modules with huge functions, the
+ compiler would generate a lot of atoms for its
+ internal, sometimes so many that the atom table would
+ overflow. The compiler has been rewritten to generate
+ far less internal atoms to avoid filling the atom
+ table.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-11694 Application(s): erts
+
+ The erlang:system_flag(scheduler_wall_time,Bool) call
+ is now reference counted and will be turned off if the
+ (last) process that started the performance statistics
+ dies. Thus it is no longer possible to start the
+ statistics with rpc:call(Node, erlang, system_flag,
+ [scheduler_wall_time, true]) since it will be turned
+ off directly afterwards when the rpc process dies.
+
+
+ OTP-13073 Application(s): stdlib
+ Related Id(s): PR-1595
+
+ The semantics of timeout parameter
+ {clean_timeout,infinity} to gen_statem:call/3 has been
+ changed to use a proxy process for the call. With this
+ change clean_timeout implicates a proxy process with no
+ exceptions. This may be a hard to observe
+ incompatibility: in the presence of network problems a
+ late reply could arrive in the caller's message queue
+ when catching errors. That will not happen after this
+ correction.
+
+ The semantics of timeout parameter infinity has not
+ been changed.
+
+
+ OTP-13761 Application(s): kernel
+ Related Id(s): ERL-503
+
+ No resolver backend returns V4Mapped IPv6 addresses any
+ more. This was inconsistent before, some did, some did
+ not. To facilitate working with such addresses a new
+ function inet:ipv4_mapped_ipv6_address/1 has been
+ added.
+
+
+ OTP-14256 Application(s): erts
+
+ The file driver has been rewritten as a NIF, decreasing
+ the latency of file operations. Two notable
+ incompatibilities are:
+
+ -- The use_threads option for file:sendfile/5 no longer
+ has any effect; we either use non-blocking sendfile(2)
+ or fall back to file:read + gen_tcp:send.
+
+ -- The file-specific DTrace probes have been removed.
+ The same effect can be achieved with normal tracing
+ together with the nif__entry/nif__return probes to
+ track scheduling.
+
+
+ OTP-14370 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was done toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the signal has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14469 Application(s): sasl
+
+ The old and out-dated "Status Inspection" tool (modules
+ si and si_sasl_sup) is removed.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confuses,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14508 Application(s): erts
+
+ When an exception is thrown, include the arguments of
+ the call in the stacktrace for BIFs band, bor, bsl,
+ bsr, bxor, div, rem and the operators +, -, * and /.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** HIGHLIGHT ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14577 Application(s): stdlib
+
+ filelib:wildcard() now allows characters with a special
+ meaning to be escaped using backslashes.
+
+ This is an incompatible change, but note that the use
+ of backslashes in wildcards would already work
+ differently on Windows and Unix. Existing calls to
+ filelib:wildcard() needs to be updated. On Windows,
+ directory separators must always be written as a slash.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14768 Application(s): ssl
+
+ For security reasons no longer support 3-DES cipher
+ suites by default
+
+
+ OTP-14769 Application(s): ssl
+
+ For security reasons RSA-key exchange cipher suites are
+ no longer supported by default
+
+
+ OTP-14789 Application(s): ssl
+
+ The interoperability option to fallback to insecure
+ renegotiation now has to be explicitly turned on.
+
+
+ OTP-14824 Application(s): ssl
+
+ Drop support for SSLv2 enabled clients. SSLv2 has been
+ broken for decades and never supported by the Erlang
+ SSL/TLS implementation. This option was by default
+ disabled and enabling it has proved to sometimes break
+ connections not using SSLv2 enabled clients.
+
+
+ OTP-14851 Application(s): ssh
+
+ An option exec for daemons implementing the 'exec' has
+ existed a long time but has been undocumented. The old
+ behaviour is kept for compatibility EXCEPT that error
+ messages are changed and are sent as "stderror" text.
+
+ A new option value is defined to make it much more easy
+ to implement an own exec server.
+
+
+ OTP-14882 Application(s): ssl
+
+ Remove CHACHA20_POLY1305 ciphers form default for now.
+ We have discovered interoperability problems, ERL-538,
+ that we believe needs to be solved in crypto.
+
+
+ OTP-14928 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14961 Application(s): erts, tools
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ OTP-14986 Application(s): erts
+ Related Id(s): PR-1745
+
+ erlang:process_info/1 has been changed to no longer
+ include messages by default. Instead
+ erlang:process_info/2 should be used.
+
+
+ OTP-15002 Application(s): ssh
+ Related Id(s): OTP-15030
+
+ The type specifications in SSH are reworked and the
+ following types are renamed:
+
+ ssh:ssh_connection_ref() is changed to
+ ssh:connection_ref(),
+
+ ssh:ssh_daemon_ref() is changed to ssh:daemon_ref(),
+
+ ssh:ssh_channel_id() is changed to ssh:channel_id().
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of asn1-5.0.6: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.16 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ Full runtime dependencies of common_test-1.16: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14855 Application(s): compiler
+ Related Id(s): ERL-549
+
+ Fixed an error in an optimization pass that caused
+ impossible tuple matching.
+
+
+ OTP-14992 Application(s): compiler
+ Related Id(s): ERL-572
+
+ The exception thrown when a list comprehension was
+ given a non-list term was not always correct.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confuses,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14505 Application(s): compiler
+
+ In code such as example({ok, Val}) -> {ok, Val}. a
+ tuple would be built. The compiler will now
+ automatically rewrite the code to
+ example({ok,Val}=Tuple) -> Tuple. which will reduce
+ code size, execution time, and remove GC pressure.
+
+
+ OTP-14525 Application(s): compiler
+
+ The optimization of case expression where only one of
+ the case arms can execute successfully has been
+ improved.
+
+
+ OTP-14594 Application(s): compiler
+ Related Id(s): ERL-444
+
+ Some uses of binary matching has been slightly
+ improved, eliminating unnecessary register shuffling.
+
+
+ OTP-14615 Application(s): compiler
+ Related Id(s): PR-1558
+
+ There is a new {compile_info,Info} option for the
+ compiler that allows BEAM-based languages such as
+ Elixir and LFE to add their own compiler versions.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14654 Application(s): compiler
+
+ Size calculations for binary constructions has been
+ somewhat optimized, producing smaller code.
+
+
+ OTP-14683 Application(s): compiler, erts
+
+ When the value returned from a 'catch' expression is
+ ignored, no stacktrace will be built if an exception is
+ caught. That will save time and produce less garbage.
+ There are also some minor optimizations of 'try/catch'
+ both in the compiler and run-time system.
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14712 Application(s): compiler
+
+ The following is an internal change in the compiler,
+ that is not noticeable for normal use of the compiler:
+ The module v3_life has been removed. Its functionality
+ has been simplified and integrated into v3_codegen.
+
+
+ OTP-14774 Application(s): compiler
+
+ The optimization of binary matching that delays
+ creation of sub binaries (see the Efficiency Guide)
+ could be thwarted by the argument order and could be
+ necessary to change the argument order. The compiler
+ has now become smarter and can handle any argument
+ order.
+
+
+ OTP-14808 Application(s): compiler
+ Related Id(s): ERL-514
+
+ When the compiler was faced with complex case
+ expressions it would unnecessarily allocate stack
+ elements and shuffle data between x and y registers.
+ Improved code generation to only allocate a stack frame
+ when strictly necessary.
+
+
+ OTP-14830 Application(s): compiler, erts
+
+ There is a new option 'makedep_side_effect' for the
+ compiler and -MMD for 'erlc' that generates
+ dependencies and continues to compile as normal.
+
+
+ OTP-14968 Application(s): compiler
+ Related Id(s): ERL-563
+
+ *** HIGHLIGHT ***
+
+ When compiling modules with huge functions, the
+ compiler would generate a lot of atoms for its
+ internal, sometimes so many that the atom table would
+ overflow. The compiler has been rewritten to generate
+ far less internal atoms to avoid filling the atom
+ table.
+
+
+ OTP-15003 Application(s): compiler, stdlib
+
+ External funs with literal values for module, name, and
+ arity (e.g. erlang:abs/1) are now treated as literals.
+ That means more efficient code that produces less
+ garbage on the heap.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784
+
+ The map_get/2 guard BIF has been added. It works the
+ same way as maps:get/2, except that it is allowed to
+ use it in guards.
+
+
+ OTP-15044 Application(s): compiler
+ Related Id(s): ERL-614
+
+ A call or apply of a literal external fun will be
+ replaced with a direct call.
+
+
+ Full runtime dependencies of compiler-7.2: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14956 Application(s): crypto
+ Related Id(s): ERL-579
+
+ Removed two undocumented and erroneous functions
+ (crypto:dh_generate_parameters/2 and
+ crypto:dh_check/1).
+
+
+ --- Improvements and New Features ---
+
+ OTP-13370 Application(s): crypto
+ Related Id(s): PR-1573
+
+ A new rand plugin algorithm has been implemented in
+ crypto, that is: crypto_cache. It uses strong random
+ bytes as randomness source and caches them to get good
+ speed. See crypto:rand_seed_alg/1.
+
+
+ OTP-14864 Application(s): crypto
+
+ Diffie-Hellman key functions are re-written with the
+ EVP_PKEY api.
+
+
+ Full runtime dependencies of crypto-4.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14957 Application(s): debugger
+ Related Id(s): PR-1741
+
+ Fix a bug where calling a fun inside a binary would
+ crash the Debugger.
+
+
+ Full runtime dependencies of debugger-4.2.5: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14493 Application(s): dialyzer
+ Related Id(s): PR-1434
+
+ Dialyzer can no longer read BEAM files created with OTP
+ 19 or earlier.
+
+
+ OTP-14937 Application(s): dialyzer
+ Related Id(s): PR-1719
+
+ Speed up the computation of MD5 sums.
+
+
+ OTP-14970 Application(s): dialyzer
+ Related Id(s): PR-1722
+
+ Fix a situation where Dialyzer unnecessarily discarded
+ contract information, resulting in missed warnings.
+
+
+ Full runtime dependencies of dialyzer-3.3: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15045 Application(s): diameter
+
+ Fix documentation typos.
+
+
+ Full runtime dependencies of diameter-2.1.5: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of edoc-0.9.3: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of eldap-1.2.4: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14979 Application(s): erl_docgen, otp
+
+ Add a hoverable element to the titles in the html
+ documentation with a link to github where the
+ documentation can be edited.
+
+ Make the anchors in the html User's Guide and system
+ documentation use the title of the sections instead of
+ a generated id.
+
+
+ Full runtime dependencies of erl_docgen-0.8: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10.3 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15033 Application(s): erl_interface
+
+ Fix bug where calling erl_init on certain platforms
+ could result in a buffer overflow bug.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14537 Application(s): erts
+ Related Id(s): PR1529
+
+ Fix error printout from run_erl and a bug that could
+ cause unintended fds to be leaked into the started
+ program.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14652 Application(s): erts
+
+ Fix bugs related to the bookkeeping of microstate
+ accounting states.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14713 Application(s): erts
+ Related Id(s): ERL-500
+
+ Corrected erlang:is_builtin(erlang, M, F) to return
+ true for apply/2 and yield/0.
+
+
+ OTP-14719 Application(s): erts
+
+ Fixed a bug where the PATH environment variable wasn't
+ updated correctly on a release downgrade, effectively
+ keeping the PATH of the new release.
+
+
+ OTP-14782 Application(s): erts
+ Related Id(s): ERL-511
+
+ A receive optimization that avoids scanning the entire
+ message queue when receiving a message containing a
+ freshly created reference could in rare circumstances
+ (involving recursive calls to the functions that does
+ the receive) cause the receive to hang. This has been
+ corrected.
+
+
+ OTP-14909 Application(s): erts
+ Related Id(s): PR-1692
+
+ Fix building of Erlang/OTP on platforms which have
+ small data area with short addressing. For example the
+ PowerPC/RTEMS platform.
+
+
+ OTP-14931 Application(s): erts
+
+ Fixed a crash when enif_make_binary is called with a
+ binary produced by enif_inspect_binary in a different
+ environment.
+
+
+ OTP-14932 Application(s): erts
+
+ Fixed a crash when enif_make_binary is called more than
+ once with a binary that had previously been added to an
+ enif_ioq.
+
+
+ OTP-14943 Application(s): erts
+ Related Id(s): ERL-576
+
+ The erl_child_setup program now ignores SIGTERM
+ signals.
+
+
+ OTP-14977 Application(s): erts
+
+ Force 64-bit alignment on pre-allocators on
+ architectures which needs it.
+
+
+ OTP-14978 Application(s): erts
+
+ Fixed a bug where dirty scheduler picked up non-dirty
+ work.
+
+
+ OTP-15001 Application(s): erts, kernel
+
+ Calls to gen_tcp:send/2 on closed sockets now returns
+ {error, closed} instead of {error,enotconn}.
+
+
+ OTP-15008 Application(s): erts
+
+ erlang:monotonic_time/1 failed with badarg when passing
+ the perf_counter time unit as argument.
+
+
+ OTP-15013 Application(s): erts
+
+ Fix bug where rapid init:restart() calls would
+ sometimes crash because a code load request leaked in
+ between the restarts.
+
+
+ OTP-15015 Application(s): erts
+ Related Id(s): OTP-14890
+
+ Improve float_to_list(F, [{decimals,D}]) to closer
+ conform with io_lib:format("~.*f", [D,F]).
+
+ There are however, still cases when float_to_list does
+ not produce the exact same result as io_lib:format,
+ especially for large values F and/or many decimals D.
+
+
+ OTP-15024 Application(s): erts
+
+ Fixed a deadlock that would occur on certain allocators
+ when a reallocation failed with +ramv enabled.
+
+
+ OTP-15029 Application(s): erts
+
+ Fix bug that made it impossible to use an erl_tracer as
+ the seq_trace trace receiver.
+
+
+ OTP-15032 Application(s): erts
+
+ Fix bug where a large (> 1 GB) emulator generated error
+ logger message would cause the emulator to crash.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11462 Application(s): erts
+
+ It is now possible to open device files and FIFOs with
+ file:open/2.
+
+
+ OTP-11694 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:system_flag(scheduler_wall_time,Bool) call
+ is now reference counted and will be turned off if the
+ (last) process that started the performance statistics
+ dies. Thus it is no longer possible to start the
+ statistics with rpc:call(Node, erlang, system_flag,
+ [scheduler_wall_time, true]) since it will be turned
+ off directly afterwards when the rpc process dies.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ A new logging API is added to OTP. This is implemented
+ in the Kernel application, module logger.
+
+ Legacy calls to error_logger will be automatically
+ redirected to the new API.
+
+ See the reference manual for module logger, and the
+ User's Guide for the Kernel application for more
+ information.
+
+
+ OTP-13760 Application(s): erts
+ Related Id(s): PR-1592
+
+ gen_sctp:connect_init/4 or rather connect in inet_drv.c
+ for SCTP has been fixed to not check the write file
+ descriptor for writeability after a connect, since for
+ SCTP (SOCK_SEQPACKET) that property does not seem to be
+ any kind of indicator for when a connect has finished.
+ This fixes connects that the OS returned as "in
+ progress" that was misinterpreted by
+ gen_sctp:connect_init as failed.
+
+
+ OTP-14256 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The file driver has been rewritten as a NIF, decreasing
+ the latency of file operations. Two notable
+ incompatibilities are:
+
+ -- The use_threads option for file:sendfile/5 no longer
+ has any effect; we either use non-blocking sendfile(2)
+ or fall back to file:read + gen_tcp:send.
+
+ -- The file-specific DTrace probes have been removed.
+ The same effect can be achieved with normal tracing
+ together with the nif__entry/nif__return probes to
+ track scheduling.
+
+
+ OTP-14346 Application(s): erts
+
+ The I/O polling functionality of erts has been
+ re-written to better make use of the OSs polling
+ mechanisms. This change means that erts will now always
+ prefer to use a kernel-polling mechanism if possible.
+ Also all of the I/O polling has been moved to dedicated
+ threads instead of being placed in the scheduler loops.
+
+ As a result of this, the erl options +K and +secio have
+ been removed. It is still possible to disable
+ kernel-poll, but it has to be done at compile time
+ through the configure option --disable-kernel-poll.
+
+ The new erl options +IOt and +IOp can be used to change
+ how many IO poll threads and poll sets that erts should
+ use. See their respective documentation for more
+ details.
+
+
+ OTP-14370 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was done toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the signal has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14492 Application(s): erts
+
+ Add support for the lcc compiler and in extension the
+ Elbrus 2000 platform.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confuses,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14502 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Creation of small maps with literal keys has been
+ optimized to be faster and potentially use less memory
+ . The keys are combined into a literal key tuple which
+ is put into the literal pool. The key tuple can be
+ shared between many instances of maps having the same
+ keys.
+
+
+ OTP-14508 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When an exception is thrown, include the arguments of
+ the call in the stacktrace for BIFs band, bor, bsl,
+ bsr, bxor, div, rem and the operators +, -, * and /.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14575 Application(s): erts
+
+ Modules that use floating point constants compiled with
+ R15 or earlier will need to be re-compiled before they
+ can be loaded.
+
+
+ OTP-14589 Application(s): erts
+
+ Implementation of true asynchronous signaling between
+ processes in order to improve scalability. Signals
+ affected include exit, monitor, demonitor, monitor
+ triggered, link, unlink, and group leader.
+
+
+ OTP-14604 Application(s): erts
+
+ Added a PGO (profile guided optimization) pass to the
+ build step of erts. This can be disabled by passing
+ --disable-pgo to configure.
+
+
+ OTP-14610 Application(s): erts
+ Related Id(s): PR-1480
+
+ Improved the performance of binary:split and
+ binary:match.
+
+
+ OTP-14613 Application(s): erts
+
+ It is not longer possible to disable dirty schedulers
+ when building erlang.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14637 Application(s): erts
+ Related Id(s): ERL-327, PR-1524
+
+ file:read_file has been changed to read the content of
+ files that report a size of 0 even when data can be
+ read from them. An example of such a file is
+ /proc/cpuinfo on Linux.
+
+
+ OTP-14651 Application(s): erts
+
+ It is no longer possible to disable the temp_alloc
+ allocator. Disabling it caused serious performance
+ degradations and was never what was wanted.
+
+
+ OTP-14667 Application(s): erts
+
+ The reduction cost of sending messages is now constant.
+ It will no longer scale according to the length of the
+ receiving process' message queue.
+
+
+ OTP-14680 Application(s): erts
+
+ Improved loading of modules with -on_load directive, to
+ no longer block all schedulers when the load operation
+ is completed.
+
+
+ OTP-14682 Application(s): erts
+
+ On platforms with real-time signals available,
+ SIGRTMIN+1 is now used as the internal scheduler
+ suspend signal instead of SIGUSR2.
+
+
+ OTP-14683 Application(s): compiler, erts
+
+ When the value returned from a 'catch' expression is
+ ignored, no stacktrace will be built if an exception is
+ caught. That will save time and produce less garbage.
+ There are also some minor optimizations of 'try/catch'
+ both in the compiler and run-time system.
+
+
+ OTP-14687 Application(s): erts
+
+ The guarantees and non-guarantees of
+ erlang:get_stacktrace/0 are now documented.
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14780 Application(s): erts
+
+ New 'used' option for binary_to_term/2 that will also
+ return number of bytes actually read from the binary.
+ This enables easy access to any extra data in the
+ binary located directly after the returned term.
+
+
+ OTP-14795 Application(s): erts
+ Related Id(s): ERL-88
+
+ Added more statistics for
+ erlang:system_info({allocator,A}) in the mbcs_pool
+ section.
+
+
+ OTP-14797 Application(s): erts
+
+ Added enif_ioq_peek_head to allow retrieving Erlang
+ terms from NIF IO queues without having to resort to
+ copying.
+
+
+ OTP-14830 Application(s): compiler, erts
+
+ There is a new option 'makedep_side_effect' for the
+ compiler and -MMD for 'erlc' that generates
+ dependencies and continues to compile as normal.
+
+
+ OTP-14884 Application(s): erts, stdlib
+
+ Added ets:whereis/1 for retrieving the table identifier
+ of a named table.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14901 Application(s): erts
+
+ Optimized the common case of monitor followed by send
+ to the same local process. The monitor signal is now
+ delayed in order to be piggybacked with the sent
+ message and thereby only get one lock operation on the
+ message queue of the receiver. A delayed monitor signal
+ is flushed if no send has been done at the latest when
+ the process is scheduled out.
+
+
+ OTP-14903 Application(s): erts, hipe
+
+ Make hipe compiled code work on x86_64 (amd64) with OS
+ security feature PIE, where executable code can be
+ loaded into a random location. Old behavior, if hipe
+ was enabled, was to disable PIE build options for the
+ VM.
+
+
+ OTP-14928 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14934 Application(s): erts
+ Related Id(s): PR-1708
+
+ Optimize == and /= for binaries with different sizes to
+ be constant in time instead of proportional to the size
+ of their common prefix.
+
+
+ OTP-14948 Application(s): erts
+
+ Refactorings making some internal process flags
+ available for other usage.
+
+
+ OTP-14951 Application(s): erts
+
+ Removed need for HiPE to allocate native executable
+ memory in low 2GB address space on x86_64. Command line
+ option +MXscs is thereby obsolete and ignored.
+
+
+ OTP-14954 Application(s): erts
+
+ Added enif_make_map_from_arrays for creating a
+ populated map, analogous to enif_make_list_from_array.
+
+
+ OTP-14959 Application(s): erts
+
+ Added configuration switches for busy-wait and wake up
+ thresholds for dirty schedulers, and changing these
+ settings for normal schedulers will no longer affect
+ dirty schedulers.
+
+ Refer to the documentation for details. The new
+ switches are +sbwtdcpu, +sbwtdio, +swtdcpu, and
+ +swtdio.
+
+ The default busy wait threshold for dirty scheduler
+ threads has also been lowered to short.
+
+
+ OTP-14960 Application(s): erts
+
+ The list of "taints" now also includes dynamic loaded
+ drivers in addition to NIF libraries. Statically linked
+ drivers and NIF libraries that are part of erts are not
+ included. The "taints" are returned by
+ system_info(taints) and printed in the header of
+ erl_crash.dump files.
+
+
+ OTP-14961 Application(s): erts, tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ OTP-14965 Application(s): erts
+
+ Added the nifs option to ?MODULE:module_info/1 for
+ listing a module's installed NIF functions.
+
+
+ OTP-14966 Application(s): erts
+
+ New implementation of erlang:process_info/[1,2].
+
+ In the general case when inspecting another process,
+ the new implementation sends an asynchronous
+ process-info request signal to the other process and
+ waits for the result instead of locking the other
+ process and reading the result directly. In some
+ special cases where no conflicts occur, signal order
+ wont be violated, and the amount of data requested is
+ guaranteed to be small, the inspected process may be
+ inspected directly.
+
+ Appropriate amount of reductions are now also bumped
+ when inspecting a process.
+
+
+ OTP-14975 Application(s): erts
+ Related Id(s): PR-1597
+
+ Removed process start time from crash dump in order to
+ save memory in process control block.
+
+
+ OTP-14976 Application(s): erts
+
+ Optimize erlang:put/2 when updating existing key with a
+ new immediate value (atom, small integer, pid, port).
+
+
+ OTP-14986 Application(s): erts
+ Related Id(s): PR-1745
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ erlang:process_info/1 has been changed to no longer
+ include messages by default. Instead
+ erlang:process_info/2 should be used.
+
+
+ OTP-14994 Application(s): erts
+
+ New NIF functions: enif_mutex_name, enif_cond_name,
+ enif_rwlock_name, enif_thread_name, enif_vfprintf,
+ enif_vsnprintf.
+
+
+ OTP-15026 Application(s): erts
+
+ When erlang:system_flag(backtrace_depth, 0) has been
+ called, all exceptions will now contain the entry for
+ *one* function (despite the zero). It used to be that a
+ hand-made stack backtrace passed to erlang:raise/3
+ would be be truncated to an empty list.
+
+
+ OTP-15031 Application(s): erts
+
+ Fixed bug for named ets tables which could cause
+ unexpected results from matchspec iteration functions
+ (ets:select* and ets:match*) if the table was deleted
+ and recreated with the same name during the iteration.
+ The iteration could incorrectly continue through the
+ recreated table. The expected correct behavior is now
+ for the iteration call to fail with a badarg exception
+ if the table is deleted before the iteration has
+ completed.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784
+
+ The map_get/2 guard BIF has been added. It works the
+ same way as maps:get/2, except that it is allowed to
+ use it in guards.
+
+
+ Full runtime dependencies of erts-10.0: kernel-6.0, sasl-3.0.1,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of et-1.6.2: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of eunit-2.3.6: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of ftp-1.0: erts-7.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.18 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14785 Application(s): hipe
+ Related Id(s): PR-1632
+
+ Optimize receive statements that are only waiting for
+ messages containing a reference created before the
+ receive. All messages that existed in the queue when
+ the reference was created will be bypassed, as they
+ cannot possibly contain the reference. This
+ optimization has existed for vanilla BEAM since OTP
+ R14.
+
+
+ OTP-14900 Application(s): hipe
+ Related Id(s): PR-1621, PR-1685
+
+ Add validation pass to hipe compiler to detect internal
+ errors causing primop calls that may trigger an unsafe
+ GC at run-time. The pass can be disabled with option
+ no_verify_gcsafe.
+
+
+ OTP-14903 Application(s): erts, hipe
+
+ Make hipe compiled code work on x86_64 (amd64) with OS
+ security feature PIE, where executable code can be
+ loaded into a random location. Old behavior, if hipe
+ was enabled, was to disable PIE build options for the
+ VM.
+
+
+ OTP-14941 Application(s): hipe
+ Related Id(s): PR-1718
+
+ Inline more type test BIFs; is_number, is_bitstring,
+ is_map.
+
+
+ Full runtime dependencies of hipe-3.18: compiler-5.0, erts-9.3,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14726 Application(s): inets
+
+ Fixed HTTP content injection bug in httpc (ERL-456).
+
+
+ OTP-14729 Application(s): inets
+
+ Fixed support for URI-references in HTTP 'Location'
+ header (ERL-333).
+
+
+ OTP-15006 Application(s): inets
+
+ Fix broken 'Content-Type' handling in httpc (ERL-536).
+
+
+ OTP-15021 Application(s): inets
+
+ Fix handling of relative paths in the script_alias
+ property of httpd (ERL-574).
+
+
+ OTP-15025 Application(s): inets
+
+ Fix httpd:reload_config/2 with path() as the first
+ argument (ERL-578).
+
+
+ OTP-15042 Application(s): inets
+
+ Improved gracefulness.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of inets-7.0: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.9 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14844 Application(s): jinterface
+
+ Add module package name for Java 9
+
+
+ ---------------------------------------------------------------------
+ --- kernel-6.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-10551 Application(s): kernel
+
+ Clarify the documentation of rpc:multicall/5.
+
+
+ OTP-13133 Application(s): kernel
+ Related Id(s): PR-1557
+
+ The DNS resolver when getting econnrefused from a
+ server retained an invalid socket so look up towards
+ the next server(s) also failed.
+
+
+ OTP-13761 Application(s): kernel
+ Related Id(s): ERL-503
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ No resolver backend returns V4Mapped IPv6 addresses any
+ more. This was inconsistent before, some did, some did
+ not. To facilitate working with such addresses a new
+ function inet:ipv4_mapped_ipv6_address/1 has been
+ added.
+
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14501 Application(s): kernel
+
+ Fix name resolving in IPv6 only environments when doing
+ the initial distributed connection.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14681 Application(s): kernel
+
+ Fixed connection tick toward primitive hidden nodes
+ (erl_interface) that could cause faulty tick timeout in
+ rare cases when payload data is sent to hidden node but
+ not received.
+
+
+ OTP-14991 Application(s): kernel
+ Related Id(s): PR1705
+
+ Make group react immediately on an EXIT-signal from
+ shell in e.g ssh.
+
+
+ OTP-15001 Application(s): erts, kernel
+
+ Calls to gen_tcp:send/2 on closed sockets now returns
+ {error, closed} instead of {error,enotconn}.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ A new logging API is added to OTP. This is implemented
+ in the Kernel application, module logger.
+
+ Legacy calls to error_logger will be automatically
+ redirected to the new API.
+
+ See the reference manual for module logger, and the
+ User's Guide for the Kernel application for more
+ information.
+
+
+ OTP-13713 Application(s): kernel
+ Related Id(s): PR-1645
+
+ The function inet:i/0 has been documented.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14969 Application(s): kernel, ssl
+ Related Id(s): ERL-598, OTP-14465
+
+ The SSL distribution protocol -proto inet_tls has
+ stopped setting the SSL option server_name_indication.
+ New verify funs for client and server in inet_tls_dist
+ has been added, not documented yet, that checks node
+ name if present in peer certificate. Usage is still
+ also yet to be documented.
+
+
+ OTP-15009 Application(s): kernel
+ Related Id(s): ERL-601
+
+ Changed timeout of gen_server calls to auth server from
+ default 5 seconds to infinity.
+
+
+ Full runtime dependencies of kernel-6.0: erts-10.0, sasl-3.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.15.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of mnesia-4.15.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.8 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14993 Application(s): observer
+ Related Id(s): PR-1666
+
+ Added possibility to garbage collect selected processes
+ and fixed a crash when the saved config file contained
+ bad data.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ Full runtime dependencies of observer-2.8: erts-7.0, et-1.5,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-3.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14513 Application(s): os_mon
+
+ Fix disksup to handle mount paths with spaces in them.
+
+
+ Full runtime dependencies of os_mon-2.4.5: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.7 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of parsetools-2.1.7: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14788 Application(s): public_key
+ Related Id(s): OTP-14624
+
+ Update calls to the base64 module to conform to that
+ module's type specifications.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ Full runtime dependencies of public_key-1.6: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.6 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of reltool-0.7.6: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.13 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14904 Application(s): runtime_tools
+
+ New utility module scheduler which makes it easier to
+ measure scheduler utilization.
+
+
+ Full runtime dependencies of runtime_tools-1.13: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ A new logging API is added to OTP. This is implemented
+ in the Kernel application, module logger.
+
+ Legacy calls to error_logger will be automatically
+ redirected to the new API.
+
+ See the reference manual for module logger, and the
+ User's Guide for the Kernel application for more
+ information.
+
+
+ OTP-14469 Application(s): sasl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The old and out-dated "Status Inspection" tool (modules
+ si and si_sasl_sup) is removed.
+
+
+ OTP-14950 Application(s): sasl
+ Related Id(s): PR-1560
+
+ When creating the release tar file, systools now
+ includes sys.config.src if it exists in the
+ $ROOT/releases/<vsn>/ directory. This is to allow
+ adjustments, e.g. resolving environment variables,
+ after unpacking the release, but before installing it.
+ This functionality requires a custom tool which uses
+ sys.config.src as input and creates a correct
+ sys.config file.
+
+
+ Full runtime dependencies of sasl-3.2: erts-9.0, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.7 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14880 Application(s): ssh
+
+ Updated ssh_connection:shell/2 documentation.
+
+
+ OTP-14955 Application(s): ssh
+
+ If the daemon port listener is restarted, it could
+ potentially fail with eaddrinuse if the timing is
+ unlucky. It will now retry and exponentially back off
+ the listener restart a few times before failing.
+
+
+ OTP-15004 Application(s): ssh
+
+ An ssh_sftp server (running version 6) could fail if it
+ is told to remove a file which in fact is a directory.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14851 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ An option exec for daemons implementing the 'exec' has
+ existed a long time but has been undocumented. The old
+ behaviour is kept for compatibility EXCEPT that error
+ messages are changed and are sent as "stderror" text.
+
+ A new option value is defined to make it much more easy
+ to implement an own exec server.
+
+
+ OTP-14896 Application(s): ssh
+
+ The undocumented ssh_dbg module is completely
+ re-written to facilitate tracing/debugging.
+
+
+ OTP-14988 Application(s): ssh
+
+ The SSH supervisor structure has been slightly changed.
+ This makes stopping the ssh application considerably
+ faster if there are open connections. This is important
+ in for example restarts.
+
+
+ OTP-15002 Application(s): ssh
+ Related Id(s): OTP-15030
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The type specifications in SSH are reworked and the
+ following types are renamed:
+
+ ssh:ssh_connection_ref() is changed to
+ ssh:connection_ref(),
+
+ ssh:ssh_daemon_ref() is changed to ssh:daemon_ref(),
+
+ ssh:ssh_channel_id() is changed to ssh:channel_id().
+
+
+ OTP-15028 Application(s): ssh
+
+ Removed unused ssh_client_key.erl and
+ ssh_server_key.erl.
+
+
+ OTP-15030 Application(s): ssh
+ Related Id(s): OTP-15002
+
+ The Reference Manual pages are partly updated.
+
+ The ssh page is now generated from specs and types, is
+ restructured and is partly rephrased.
+
+ The ssh_channel, ssh_connection, ssh_client_key_api,
+ ssh_server_key_api and ssh_sftp pages are updated with
+ links, correct type names and some minor changes.
+
+
+ OTP-15041 Application(s): ssh
+
+ The behaviors ssh_channel and ssh_daemon_channel are
+ renamed to ssh_client_channel and ssh_server_channel
+ respectively.
+
+ The old modules are kept for compatibility but should
+ preferably be replaced when updating callback modules
+ referring them.
+
+
+ Full runtime dependencies of ssh-4.7: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-9.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15050 Application(s): ssl
+
+ Proper handling of clients that choose to send an empty
+ answer to a certificate request
+
+
+ --- Improvements and New Features ---
+
+ OTP-14465 Application(s): ssl
+
+ Distribution over SSL (inet_tls) has, to improve
+ performance, been rewritten to not use intermediate
+ processes and ports.
+
+
+ OTP-14547 Application(s): ssl
+
+ Add suport for ECDHE_PSK cipher suites
+
+
+ OTP-14768 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ For security reasons no longer support 3-DES cipher
+ suites by default
+
+
+ OTP-14769 Application(s): ssl
+
+ *** INCOMPATIBILITY with possible ***
+
+ For security reasons RSA-key exchange cipher suites are
+ no longer supported by default
+
+
+ OTP-14789 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ The interoperability option to fallback to insecure
+ renegotiation now has to be explicitly turned on.
+
+
+ OTP-14824 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Drop support for SSLv2 enabled clients. SSLv2 has been
+ broken for decades and never supported by the Erlang
+ SSL/TLS implementation. This option was by default
+ disabled and enabling it has proved to sometimes break
+ connections not using SSLv2 enabled clients.
+
+
+ OTP-14882 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ Remove CHACHA20_POLY1305 ciphers form default for now.
+ We have discovered interoperability problems, ERL-538,
+ that we believe needs to be solved in crypto.
+
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ OTP-14969 Application(s): kernel, ssl
+ Related Id(s): ERL-598, OTP-14465
+
+ The SSL distribution protocol -proto inet_tls has
+ stopped setting the SSL option server_name_indication.
+ New verify funs for client and server in inet_tls_dist
+ has been added, not documented yet, that checks node
+ name if present in peer certificate. Usage is still
+ also yet to be documented.
+
+
+ Full runtime dependencies of ssl-9.0: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14015 Application(s): stdlib
+
+ When using an exception that is valid but not allowed
+ in a state enter call, the reason has been changed from
+ {bad_action_from_state_function,Action} to
+ {bad_state_enter_action_from_state_function,Action}.
+
+ Timer parsing has been improved. Many erroneous timeout
+ tuples was not handled correctly.
+
+ The documentation has been updated, in particular the
+ User's Guide and the pointer to it from the Reference
+ Manual is much more obvious.
+
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14958 Application(s): stdlib
+ Related Id(s): PR-1735
+
+ Make io_lib:unscan_format/1 work with pad char and
+ default precision.
+
+
+ OTP-14971 Application(s): stdlib
+ Related Id(s): PR-1743
+
+ The control sequence modifiers t and l can be used
+ together in the same control sequence which makes it
+ possible to have Unicode atoms and no detection of
+ printable character lists at the same time.
+
+
+ OTP-15035 Application(s): stdlib
+ Related Id(s): ERL-613
+
+ Fix a bug in the Erlang code linter: the check of guard
+ expressions no longer returns false if the map syntax
+ is used. The bug affected the Erlang shell, the
+ Debugger, and other modules evaluating abstract code.
+
+
+ OTP-15049 Application(s): stdlib
+
+ A sys debug fun of type {Fun,State} should not be
+ possible to install twice. This was, however, possible
+ if the current State was 'undefined', which was
+ mistaken for non-existing fun. This has been corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13019 Application(s): stdlib
+ Related Id(s): PR-1490
+
+ The gen_server has gotten a new callback
+ handle_continue/2 for check pointing the state. This is
+ useful at least when implementing behaviours on top of
+ gen_server and for some start up scenarios.
+
+
+ OTP-13073 Application(s): stdlib
+ Related Id(s): PR-1595
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The semantics of timeout parameter
+ {clean_timeout,infinity} to gen_statem:call/3 has been
+ changed to use a proxy process for the call. With this
+ change clean_timeout implicates a proxy process with no
+ exceptions. This may be a hard to observe
+ incompatibility: in the presence of network problems a
+ late reply could arrive in the caller's message queue
+ when catching errors. That will not happen after this
+ correction.
+
+ The semantics of timeout parameter infinity has not
+ been changed.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ A new logging API is added to OTP. This is implemented
+ in the Kernel application, module logger.
+
+ Legacy calls to error_logger will be automatically
+ redirected to the new API.
+
+ See the reference manual for module logger, and the
+ User's Guide for the Kernel application for more
+ information.
+
+
+ OTP-13413 Application(s): stdlib
+
+ Add functions calendar:system_time_to_local_time/2 and
+ calendar:system_time_to_universal_time/2.
+
+
+ OTP-13764 Application(s): stdlib
+ Related Id(s): PR-1574
+
+ Functions rand:uniform_real/0 and rand:uniform_real_s/1
+ have been added. They produce uniformly distributed
+ numbers in the range 0.0 =< X < 1.0 that are as close
+ to random real numbers as Normalized IEEE 754 Double
+ Precision allows. Because the random real number
+ exactly 0.0 is infinitely improbable they will never
+ return exactly 0.0.
+
+ These properties are useful when you need to call for
+ example math:log(X) or 1 / X on a random value X, since
+ that will never fail with a number from these new
+ functions.
+
+
+ OTP-14012 Application(s): stdlib
+
+ Added maps:iterator/0 and maps:next/1 to be used for
+ iterating over the key-value associations in a map.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14496 Application(s): stdlib
+
+ Added new uri_string module to stdlib for handling URIs
+ (RFC 3986).
+
+
+ OTP-14503 Application(s): stdlib
+
+ Update Unicode specification to version 10.0.
+
+
+ OTP-14577 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ filelib:wildcard() now allows characters with a special
+ meaning to be escaped using backslashes.
+
+ This is an incompatible change, but note that the use
+ of backslashes in wildcards would already work
+ differently on Windows and Unix. Existing calls to
+ filelib:wildcard() needs to be updated. On Windows,
+ directory separators must always be written as a slash.
+
+
+ OTP-14586 Application(s): stdlib
+
+ The supervisor now stores its child specifications in a
+ map instead of a list. This causes a significant
+ improvement when starting many children under a
+ non-simple_one_for_one supervisor.
+
+
+ OTP-14624 Application(s): stdlib
+ Related Id(s): PR-1565
+
+ The base64 module is optimized.
+
+ Note that the functions encode/1, decode/1, and
+ mime_decode/1 fail unless called with an argument of
+ the documented type. They used to accept any iodata().
+
+
+ OTP-14675 Application(s): stdlib
+ Related Id(s): PR-102
+
+ Add function lists:search/2.
+
+
+ OTP-14747 Application(s): stdlib
+
+ uri_string module extended with functions for handling
+ application/x-www-form-urlencoded query strings based
+ on the HTML5 specification.
+
+
+ OTP-14764 Application(s): stdlib
+
+ Add functions calendar:rfc3339_to_system_time/1,2 and
+ calendar:system_time_to_rfc3339/1,2.
+
+
+ OTP-14826 Application(s): stdlib
+ Related Id(s): 1540, PR
+
+ The stack traces returned by the functions of the
+ erl_eval module more accurately reflect where the
+ exception occurred.
+
+
+ OTP-14834 Application(s): stdlib
+ Related Id(s): 1608, PR
+
+ Add options atime, mtime, ctime, uid, and gid to the
+ erl_tar:add/3,4 functions.
+
+
+ OTP-14884 Application(s): erts, stdlib
+
+ Added ets:whereis/1 for retrieving the table identifier
+ of a named table.
+
+
+ OTP-14910 Application(s): stdlib
+
+ Improved URI normalization functions in the uri_string
+ module.
+
+
+ OTP-14983 Application(s): stdlib
+
+ The new functions io_lib:fwrite/3 and io_lib:format/3
+ take a third argument, an option list. The only option
+ is chars_limit, which is used for limiting the number
+ of returned characters. The limit is soft, which means
+ that the number of returned characters exceeds the
+ limit with at most a smallish amount. If the limit is
+ set, the functions format/3 and fwrite/3 try to
+ distribute the number of characters evenly over the
+ control sequences pPswW. Furthermore, the control
+ sequences pPwP try to distribute the number of
+ characters evenly over substructures.
+
+ A modification of the control sequences pPwW is that
+ even if there is no limit on the number of returned
+ characters, all associations of a map are printed to
+ the same depth. The aim is to give a more consistent
+ output as the order of map keys is not defined. As
+ before, if the depth is less than the number of
+ associations of a map, the selection of associations to
+ print is arbitrary.
+
+
+ OTP-14996 Application(s): stdlib
+ Related Id(s): ERL-557, PR-1703
+
+ Add functions ordsets:is_empty/1 and sets:is_empty/1.
+
+
+ OTP-15003 Application(s): compiler, stdlib
+
+ External funs with literal values for module, name, and
+ arity (e.g. erlang:abs/1) are now treated as literals.
+ That means more efficient code that produces less
+ garbage on the heap.
+
+
+ OTP-15047 Application(s): stdlib
+
+ sys:statistics(Pid,get) did not report 'out' messages
+ from gen_server. This is now corrected.
+
+
+ OTP-15048 Application(s): stdlib
+
+ A sys debug function can now have the format
+ {Id,Fun,State} in addition to the old {Fun,State}. This
+ allows installing multiple instances of a debug fun.
+
+
+ Full runtime dependencies of stdlib-3.5: compiler-5.0, crypto-3.3,
+ erts-10.0, kernel-6.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.5 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of syntax_tools-2.1.5: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of tftp-1.0: kernel-6.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14961 Application(s): erts, tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ Full runtime dependencies of tools-3.0: compiler-5.0, erts-9.1,
+ kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15027 Application(s): wx
+
+ Changed implementation so wx can now be built towards
+ wxWidgets-3.1.1.
+
+
+ Full runtime dependencies of wx-1.8.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.17 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15039 Application(s): xmerl
+
+ Fix typos in documentation.
+
+
+ Full runtime dependencies of xmerl-1.3.17: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.0-rc2.README.txt b/release-notes/OTP-21.0-rc2.README.txt
new file mode 100644
index 0000000..5343d56
--- /dev/null
+++ b/release-notes/OTP-21.0-rc2.README.txt
@@ -0,0 +1,3264 @@
+Patch Package: OTP 21.0
+Git Tag: OTP-21.0
+Date: 2018-05-29
+Trouble Report Id: OTP-10551, OTP-11462, OTP-11694, OTP-13019,
+ OTP-13073, OTP-13133, OTP-13295, OTP-13370,
+ OTP-13413, OTP-13713, OTP-13760, OTP-13761,
+ OTP-13764, OTP-14012, OTP-14015, OTP-14019,
+ OTP-14113, OTP-14256, OTP-14346, OTP-14359,
+ OTP-14370, OTP-14439, OTP-14459, OTP-14465,
+ OTP-14469, OTP-14492, OTP-14493, OTP-14496,
+ OTP-14497, OTP-14501, OTP-14502, OTP-14503,
+ OTP-14505, OTP-14508, OTP-14513, OTP-14518,
+ OTP-14525, OTP-14537, OTP-14543, OTP-14547,
+ OTP-14575, OTP-14577, OTP-14586, OTP-14589,
+ OTP-14594, OTP-14604, OTP-14610, OTP-14613,
+ OTP-14615, OTP-14624, OTP-14626, OTP-14637,
+ OTP-14651, OTP-14652, OTP-14654, OTP-14666,
+ OTP-14667, OTP-14675, OTP-14680, OTP-14681,
+ OTP-14682, OTP-14683, OTP-14687, OTP-14692,
+ OTP-14712, OTP-14713, OTP-14719, OTP-14726,
+ OTP-14729, OTP-14747, OTP-14764, OTP-14768,
+ OTP-14769, OTP-14774, OTP-14780, OTP-14782,
+ OTP-14785, OTP-14788, OTP-14789, OTP-14795,
+ OTP-14797, OTP-14808, OTP-14824, OTP-14826,
+ OTP-14830, OTP-14834, OTP-14844, OTP-14851,
+ OTP-14855, OTP-14861, OTP-14864, OTP-14880,
+ OTP-14882, OTP-14884, OTP-14888, OTP-14896,
+ OTP-14899, OTP-14900, OTP-14901, OTP-14902,
+ OTP-14903, OTP-14904, OTP-14909, OTP-14910,
+ OTP-14928, OTP-14931, OTP-14932, OTP-14934,
+ OTP-14937, OTP-14941, OTP-14943, OTP-14948,
+ OTP-14950, OTP-14951, OTP-14954, OTP-14955,
+ OTP-14956, OTP-14957, OTP-14958, OTP-14959,
+ OTP-14960, OTP-14961, OTP-14964, OTP-14965,
+ OTP-14966, OTP-14968, OTP-14969, OTP-14970,
+ OTP-14971, OTP-14974, OTP-14975, OTP-14976,
+ OTP-14977, OTP-14978, OTP-14979, OTP-14983,
+ OTP-14986, OTP-14988, OTP-14991, OTP-14992,
+ OTP-14993, OTP-14994, OTP-14996, OTP-14998,
+ OTP-15001, OTP-15002, OTP-15003, OTP-15006,
+ OTP-15008, OTP-15009, OTP-15013, OTP-15015,
+ OTP-15019, OTP-15021, OTP-15024, OTP-15025,
+ OTP-15026, OTP-15027, OTP-15028, OTP-15029,
+ OTP-15030, OTP-15031, OTP-15032, OTP-15033,
+ OTP-15035, OTP-15036, OTP-15037, OTP-15039,
+ OTP-15041, OTP-15042, OTP-15044, OTP-15045,
+ OTP-15047, OTP-15048, OTP-15049, OTP-15050,
+ OTP-15056, OTP-15062, OTP-15069, OTP-15071,
+ OTP-15072, OTP-15078, OTP-15079, OTP-15080,
+ OTP-15081, OTP-15082, OTP-15084, OTP-15085,
+ OTP-15086, OTP-15087, OTP-15088, OTP-15090,
+ OTP-15091, OTP-15093
+Seq num: ERL-327, ERL-370, ERL-444, ERL-500, ERL-503,
+ ERL-511, ERL-514, ERL-549, ERL-550, ERL-557,
+ ERL-563, ERL-572, ERL-576, ERL-579, ERL-593,
+ ERL-598, ERL-601, ERL-613, ERL-614, ERL-615,
+ ERL-617, ERL-88
+System: OTP
+Release: 21
+Application: asn1-5.0.6, common_test-1.16, compiler-7.2,
+ crypto-4.3, debugger-4.2.5, dialyzer-3.3,
+ diameter-2.1.5, edoc-0.9.3, eldap-1.2.4,
+ erl_docgen-0.8, erl_interface-3.10.3,
+ erts-10.0, et-1.6.2, eunit-2.3.6, ftp-1.0,
+ hipe-3.18, inets-7.0, jinterface-1.9,
+ kernel-6.0, mnesia-4.15.4, observer-2.8,
+ os_mon-2.4.5, parsetools-2.1.7,
+ public_key-1.6, reltool-0.7.6,
+ runtime_tools-1.13, sasl-3.2, ssh-4.7,
+ ssl-9.0, stdlib-3.5, syntax_tools-2.1.5,
+ tftp-1.0, tools-3.0, wx-1.8.4, xmerl-1.3.17
+Predecessor: OTP
+
+ Check out the git tag OTP-21.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14370 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was done toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the signal has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14502 Application(s): erts
+
+ Creation of small maps with literal keys has been
+ optimized to be faster and potentially use less memory.
+ The keys are combined into a literal key tuple which is
+ put into the literal pool. The key tuple can be shared
+ between many instances of maps having the same keys.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14928 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14968 Application(s): compiler
+ Related Id(s): ERL-563
+
+ When compiling modules with huge functions, the
+ compiler would generate a lot of atoms for its
+ internal, sometimes so many that the atom table would
+ overflow. The compiler has been rewritten to generate
+ far less internal atoms to avoid filling the atom
+ table.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784, PR-1802
+
+ Two new guards BIFs operating on maps have been added:
+ map_get/2 and is_map_key/2. They do the same as
+ maps:get/2 and maps:is_key/2, respectively, except that
+ they are allowed to be used in guards.
+
+
+ OTP-15087 Application(s): compiler
+ Related Id(s): PR-1810
+
+ Part of EEP-44 has been implemented.
+
+ There is a new predefined macro called OTP_RELEASE
+ which is an integer indicating the OTP release number
+ (its value is 21 in this release).
+
+ There are new preprocessor directives -if(Condition).
+ and -elif(Condition).. The if/elif supports the builtin
+ function defined(Symbol).
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-11694 Application(s): erts
+
+ The erlang:system_flag(scheduler_wall_time,Bool) call
+ is now reference counted and will be turned off if the
+ (last) process that started the performance statistics
+ dies. Thus it is no longer possible to start the
+ statistics with rpc:call(Node, erlang, system_flag,
+ [scheduler_wall_time, true]) since it will be turned
+ off directly afterwards when the rpc process dies.
+
+
+ OTP-13073 Application(s): stdlib
+ Related Id(s): PR-1595
+
+ The semantics of timeout parameter
+ {clean_timeout,infinity} to gen_statem:call/3 has been
+ changed to use a proxy process for the call. With this
+ change clean_timeout implicates a proxy process with no
+ exceptions. This may be a hard to observe
+ incompatibility: in the presence of network problems a
+ late reply could arrive in the caller's message queue
+ when catching errors. That will not happen after this
+ correction.
+
+ The semantics of timeout parameter infinity has not
+ been changed.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled with the Kernel configuration parameter
+ logger_progress_reports.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+
+ OTP-13761 Application(s): kernel
+ Related Id(s): ERL-503
+
+ No resolver backend returns V4Mapped IPv6 addresses any
+ more. This was inconsistent before, some did, some did
+ not. To facilitate working with such addresses a new
+ function inet:ipv4_mapped_ipv6_address/1 has been
+ added.
+
+
+ OTP-14256 Application(s): erts
+
+ The file driver has been rewritten as a NIF, decreasing
+ the latency of file operations. Two notable
+ incompatibilities are:
+
+ -- The use_threads option for file:sendfile/5 no longer
+ has any effect; we either use non-blocking sendfile(2)
+ or fall back to file:read + gen_tcp:send.
+
+ -- The file-specific DTrace probes have been removed.
+ The same effect can be achieved with normal tracing
+ together with the nif__entry/nif__return probes to
+ track scheduling.
+
+
+ OTP-14370 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was done toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the signal has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14469 Application(s): sasl
+
+ The old and outdated "Status Inspection" tool (modules
+ si and si_sasl_sup) is removed.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14508 Application(s): erts
+
+ When an exception is thrown, include the arguments of
+ the call in the stacktrace for BIFs band, bor, bsl,
+ bsr, bxor, div, rem and the operators +, -, * and /.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** HIGHLIGHT ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14577 Application(s): stdlib
+
+ filelib:wildcard() now allows characters with a special
+ meaning to be escaped using backslashes.
+
+ This is an incompatible change, but note that the use
+ of backslashes in wildcards would already work
+ differently on Windows and Unix. Existing calls to
+ filelib:wildcard() needs to be updated. On Windows,
+ directory separators must always be written as a slash.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14768 Application(s): ssl
+
+ For security reasons no longer support 3-DES cipher
+ suites by default
+
+
+ OTP-14769 Application(s): ssl
+
+ For security reasons RSA-key exchange cipher suites are
+ no longer supported by default
+
+
+ OTP-14789 Application(s): ssl
+
+ The interoperability option to fallback to insecure
+ renegotiation now has to be explicitly turned on.
+
+
+ OTP-14824 Application(s): ssl
+
+ Drop support for SSLv2 enabled clients. SSLv2 has been
+ broken for decades and never supported by the Erlang
+ SSL/TLS implementation. This option was by default
+ disabled and enabling it has proved to sometimes break
+ connections not using SSLv2 enabled clients.
+
+
+ OTP-14851 Application(s): ssh
+
+ An option exec for daemons implementing the 'exec' has
+ existed a long time but has been undocumented. The old
+ behaviour is kept for compatibility EXCEPT that error
+ messages are changed and are sent as "stderror" text.
+
+ A new option value is defined to make it much more easy
+ to implement an own exec server.
+
+
+ OTP-14882 Application(s): ssl
+
+ Remove CHACHA20_POLY1305 ciphers form default for now.
+ We have discovered interoperability problems, ERL-538,
+ that we believe needs to be solved in crypto.
+
+
+ OTP-14928 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14961 Application(s): erts, tools
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ OTP-14964 Application(s): erts
+ Related Id(s): OTP-14589
+
+ The process suspend functionality used by the
+ erlang:suspend_process/2 BIF has been reimplemented
+ using the newly introduced true asynchronous signaling
+ between processes. This mainly to reduce memory usage
+ in the process control block of all processes, but also
+ in order to simplify the implementation.
+
+ WARNING: You can easily create deadlocks if processes
+ suspends each other (directly or in circles). In ERTS
+ versions prior to ERTS version 10.0, the runtime system
+ prevented such deadlocks, but this prevention has now
+ been removed due to performance reasons.
+
+ Other ERTS internal functionality that used the
+ previous process suspend functionality have also been
+ reimplemented to use asynchronous signaling instead.
+
+
+ OTP-14986 Application(s): erts
+ Related Id(s): PR-1745
+
+ erlang:process_info/1 has been changed to no longer
+ include messages by default. Instead
+ erlang:process_info/2 should be used.
+
+
+ OTP-15002 Application(s): ssh
+ Related Id(s): OTP-15030
+
+ The type specifications in SSH are reworked and the
+ following types are renamed:
+
+ ssh:ssh_connection_ref() is changed to
+ ssh:connection_ref(),
+
+ ssh:ssh_daemon_ref() is changed to ssh:daemon_ref(),
+
+ ssh:ssh_channel_id() is changed to ssh:channel_id().
+
+
+ OTP-15071 Application(s): kernel
+
+ The included_applications key are no longer duplicated
+ as application environment variable. Earlier, the
+ included applications could be read both with
+ application:get[_all]_env(...) and
+ application:get[_all]_key(...) functions. Now, it can
+ only be read with application:get[_all]_key(...).
+
+
+ OTP-15072 Application(s): stdlib
+ Related Id(s): 1786, PR
+
+ The lib module is removed:
+
+ -- lib:error_message/2 is removed.
+
+ -- lib:flush_receive/0 is removed.
+
+ -- lib:nonl/1 is removed.
+
+ -- lib:progname/0 is replaced by ct:get_progname/0.
+
+ -- lib:send/2 is removed.
+
+ -- lib:sendw/2 is removed.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of asn1-5.0.6: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.16 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ Full runtime dependencies of common_test-1.16: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14855 Application(s): compiler
+ Related Id(s): ERL-549
+
+ Fixed an error in an optimization pass that caused
+ impossible tuple matching.
+
+
+ OTP-14992 Application(s): compiler
+ Related Id(s): ERL-572
+
+ The exception thrown when a list comprehension was
+ given a non-list term was not always correct.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14505 Application(s): compiler
+
+ In code such as example({ok, Val}) -> {ok, Val}. a
+ tuple would be built. The compiler will now
+ automatically rewrite the code to
+ example({ok,Val}=Tuple) -> Tuple. which will reduce
+ code size, execution time, and remove GC pressure.
+
+
+ OTP-14525 Application(s): compiler
+
+ The optimization of case expression where only one of
+ the case arms can execute successfully has been
+ improved.
+
+
+ OTP-14594 Application(s): compiler
+ Related Id(s): ERL-444
+
+ Some uses of binary matching has been slightly
+ improved, eliminating unnecessary register shuffling.
+
+
+ OTP-14615 Application(s): compiler
+ Related Id(s): PR-1558
+
+ There is a new {compile_info,Info} option for the
+ compiler that allows BEAM-based languages such as
+ Elixir and LFE to add their own compiler versions.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14654 Application(s): compiler
+
+ Size calculations for binary constructions has been
+ somewhat optimized, producing smaller code.
+
+
+ OTP-14683 Application(s): compiler, erts
+
+ When the value returned from a 'catch' expression is
+ ignored, no stacktrace will be built if an exception is
+ caught. That will save time and produce less garbage.
+ There are also some minor optimizations of 'try/catch'
+ both in the compiler and run-time system.
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14712 Application(s): compiler
+
+ The following is an internal change in the compiler,
+ that is not noticeable for normal use of the compiler:
+ The module v3_life has been removed. Its functionality
+ has been simplified and integrated into v3_codegen.
+
+
+ OTP-14774 Application(s): compiler
+
+ The optimization of binary matching that delays
+ creation of sub binaries (see the Efficiency Guide)
+ could be thwarted by the argument order and could be
+ necessary to change the argument order. The compiler
+ has now become smarter and can handle any argument
+ order.
+
+
+ OTP-14808 Application(s): compiler
+ Related Id(s): ERL-514
+
+ When the compiler was faced with complex case
+ expressions it would unnecessarily allocate stack
+ elements and shuffle data between x and y registers.
+ Improved code generation to only allocate a stack frame
+ when strictly necessary.
+
+
+ OTP-14830 Application(s): compiler, erts
+
+ There is a new option 'makedep_side_effect' for the
+ compiler and -MMD for 'erlc' that generates
+ dependencies and continues to compile as normal.
+
+
+ OTP-14968 Application(s): compiler
+ Related Id(s): ERL-563
+
+ *** HIGHLIGHT ***
+
+ When compiling modules with huge functions, the
+ compiler would generate a lot of atoms for its
+ internal, sometimes so many that the atom table would
+ overflow. The compiler has been rewritten to generate
+ far less internal atoms to avoid filling the atom
+ table.
+
+
+ OTP-15003 Application(s): compiler, stdlib
+
+ External funs with literal values for module, name, and
+ arity (e.g. erlang:abs/1) are now treated as literals.
+ That means more efficient code that produces less
+ garbage on the heap.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784, PR-1802
+
+ *** HIGHLIGHT ***
+
+ Two new guards BIFs operating on maps have been added:
+ map_get/2 and is_map_key/2. They do the same as
+ maps:get/2 and maps:is_key/2, respectively, except that
+ they are allowed to be used in guards.
+
+
+ OTP-15044 Application(s): compiler
+ Related Id(s): ERL-614
+
+ A call or apply of a literal external fun will be
+ replaced with a direct call.
+
+
+ OTP-15087 Application(s): compiler
+ Related Id(s): PR-1810
+
+ *** HIGHLIGHT ***
+
+ Part of EEP-44 has been implemented.
+
+ There is a new predefined macro called OTP_RELEASE
+ which is an integer indicating the OTP release number
+ (its value is 21 in this release).
+
+ There are new preprocessor directives -if(Condition).
+ and -elif(Condition).. The if/elif supports the builtin
+ function defined(Symbol).
+
+
+ Full runtime dependencies of compiler-7.2: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14956 Application(s): crypto
+ Related Id(s): ERL-579
+
+ Removed two undocumented and erroneous functions
+ (crypto:dh_generate_parameters/2 and
+ crypto:dh_check/1).
+
+
+ OTP-15088 Application(s): crypto
+
+ Fixed bug causing VM crash if doing runtime upgrade of
+ a crypto module built against OpenSSL older than
+ 0.9.8h. Bug exists since OTP-20.2.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13370 Application(s): crypto
+ Related Id(s): PR-1573
+
+ A new rand plugin algorithm has been implemented in
+ crypto, that is: crypto_cache. It uses strong random
+ bytes as randomness source and caches them to get good
+ speed. See crypto:rand_seed_alg/1.
+
+
+ OTP-14864 Application(s): crypto
+
+ Diffie-Hellman key functions are re-written with the
+ EVP_PKEY api.
+
+
+ Full runtime dependencies of crypto-4.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14957 Application(s): debugger
+ Related Id(s): PR-1741
+
+ Fix a bug where calling a fun inside a binary would
+ crash the Debugger.
+
+
+ Full runtime dependencies of debugger-4.2.5: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14493 Application(s): dialyzer
+ Related Id(s): PR-1434
+
+ Dialyzer can no longer read BEAM files created with OTP
+ 19 or earlier.
+
+
+ OTP-14937 Application(s): dialyzer
+ Related Id(s): PR-1719
+
+ Speed up the computation of MD5 sums.
+
+
+ OTP-14970 Application(s): dialyzer
+ Related Id(s): PR-1722
+
+ Fix a situation where Dialyzer unnecessarily discarded
+ contract information, resulting in missed warnings.
+
+
+ OTP-15079 Application(s): dialyzer
+ Related Id(s): ERL-593
+
+ Do not emit warnings for fun expressions residing in
+ code that cannot be run. This is consistent with how
+ Dialyzer treats other code that cannot be run.
+
+
+ Full runtime dependencies of dialyzer-3.3: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15045 Application(s): diameter
+
+ Fix documentation typos.
+
+
+ Full runtime dependencies of diameter-2.1.5: erts-6.4, kernel-3.2,
+ ssl-6.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of edoc-0.9.3: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of eldap-1.2.4: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15091 Application(s): erl_docgen
+
+ Update makefile so db_funcs.xsl is a part of the
+ installed application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14979 Application(s): erl_docgen, otp
+
+ Add a hoverable element to the titles in the html
+ documentation with a link to github where the
+ documentation can be edited.
+
+ Make the anchors in the html User's Guide and system
+ documentation use the title of the sections instead of
+ a generated id.
+
+
+ Full runtime dependencies of erl_docgen-0.8: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10.3 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15033 Application(s): erl_interface
+
+ Fix bug where calling erl_init on certain platforms
+ could result in a buffer overflow bug.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14537 Application(s): erts
+ Related Id(s): PR1529
+
+ Fix error printout from run_erl and a bug that could
+ cause unintended fds to be leaked into the started
+ program.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14652 Application(s): erts
+
+ Fix bugs related to the bookkeeping of microstate
+ accounting states.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14713 Application(s): erts
+ Related Id(s): ERL-500
+
+ Corrected erlang:is_builtin(erlang, M, F) to return
+ true for apply/2 and yield/0.
+
+
+ OTP-14719 Application(s): erts
+
+ Fixed a bug where the PATH environment variable wasn't
+ updated correctly on a release downgrade, effectively
+ keeping the PATH of the new release.
+
+
+ OTP-14782 Application(s): erts
+ Related Id(s): ERL-511
+
+ A receive optimization that avoids scanning the entire
+ message queue when receiving a message containing a
+ freshly created reference could in rare circumstances
+ (involving recursive calls to the functions that does
+ the receive) cause the receive to hang. This has been
+ corrected.
+
+
+ OTP-14909 Application(s): erts
+ Related Id(s): PR-1692
+
+ Fix building of Erlang/OTP on platforms which have
+ small data area with short addressing. For example the
+ PowerPC/RTEMS platform.
+
+
+ OTP-14931 Application(s): erts
+
+ Fixed a crash when enif_make_binary is called with a
+ binary produced by enif_inspect_binary in a different
+ environment.
+
+
+ OTP-14932 Application(s): erts
+
+ Fixed a crash when enif_make_binary is called more than
+ once with a binary that had previously been added to an
+ enif_ioq.
+
+
+ OTP-14943 Application(s): erts
+ Related Id(s): ERL-576
+
+ The erl_child_setup program now ignores SIGTERM
+ signals.
+
+
+ OTP-14977 Application(s): erts
+
+ Force 64-bit alignment on pre-allocators on
+ architectures which needs it.
+
+
+ OTP-14978 Application(s): erts
+
+ Fixed a bug where dirty scheduler picked up non-dirty
+ work.
+
+
+ OTP-15001 Application(s): erts, kernel
+
+ Calls to gen_tcp:send/2 on closed sockets now returns
+ {error, closed} instead of {error,enotconn}.
+
+
+ OTP-15008 Application(s): erts
+
+ erlang:monotonic_time/1 failed with badarg when passing
+ the perf_counter time unit as argument.
+
+
+ OTP-15013 Application(s): erts
+
+ Fix bug where rapid init:restart() calls would
+ sometimes crash because a code load request leaked in
+ between the restarts.
+
+
+ OTP-15015 Application(s): erts
+ Related Id(s): OTP-14890
+
+ Improve float_to_list(F, [{decimals,D}]) to closer
+ conform with io_lib:format("~.*f", [D,F]).
+
+ There are however, still cases when float_to_list does
+ not produce the exact same result as io_lib:format,
+ especially for large values F and/or many decimals D.
+
+
+ OTP-15024 Application(s): erts
+
+ Fixed a deadlock that would occur on certain allocators
+ when a reallocation failed with +ramv enabled.
+
+
+ OTP-15029 Application(s): erts
+
+ Fix bug that made it impossible to use an erl_tracer as
+ the seq_trace trace receiver.
+
+
+ OTP-15032 Application(s): erts
+
+ Fix bug where a large (> 1 GB) emulator generated error
+ logger message would cause the emulator to crash.
+
+
+ OTP-15062 Application(s): erts
+ Related Id(s): ERL-615
+
+ The emulator will no longer crash when reading the file
+ information of an ordinary file that has an NTFS
+ reparse point, such as files stored in a
+ OneDrive-mapped folder.
+
+
+ OTP-15080 Application(s): erts
+
+ Fixed bug in enif_binary_to_term which could cause
+ memory corruption for immediate terms (atoms, small
+ integers, pids, ports, empty lists).
+
+
+ OTP-15085 Application(s): erts
+
+ Fixed bug in erlang:system_profile/2 that could cause
+ superfluous {profile,_,active,_,_} messages for
+ terminating processes.
+
+
+ OTP-15090 Application(s): erts
+
+ On OSs with per thread CPU time support, change
+ cpu_timestamp in erlang:trace/3 to use it instead of
+ per process CPU time. This makes this option useable on
+ such OSs when running multiple schedulers.
+
+
+ --- Improvements and New Features ---
+
+ OTP-11462 Application(s): erts
+
+ It is now possible to open device files and FIFOs with
+ file:open/2.
+
+
+ OTP-11694 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:system_flag(scheduler_wall_time,Bool) call
+ is now reference counted and will be turned off if the
+ (last) process that started the performance statistics
+ dies. Thus it is no longer possible to start the
+ statistics with rpc:call(Node, erlang, system_flag,
+ [scheduler_wall_time, true]) since it will be turned
+ off directly afterwards when the rpc process dies.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled with the Kernel configuration parameter
+ logger_progress_reports.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+
+ OTP-13760 Application(s): erts
+ Related Id(s): PR-1592
+
+ gen_sctp:connect_init/4 or rather connect in inet_drv.c
+ for SCTP has been fixed to not check the write file
+ descriptor for writeability after a connect, since for
+ SCTP (SOCK_SEQPACKET) that property does not seem to be
+ any kind of indicator for when a connect has finished.
+ This fixes connects that the OS returned as "in
+ progress" that was misinterpreted by
+ gen_sctp:connect_init as failed.
+
+
+ OTP-14256 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The file driver has been rewritten as a NIF, decreasing
+ the latency of file operations. Two notable
+ incompatibilities are:
+
+ -- The use_threads option for file:sendfile/5 no longer
+ has any effect; we either use non-blocking sendfile(2)
+ or fall back to file:read + gen_tcp:send.
+
+ -- The file-specific DTrace probes have been removed.
+ The same effect can be achieved with normal tracing
+ together with the nif__entry/nif__return probes to
+ track scheduling.
+
+
+ OTP-14346 Application(s): erts
+
+ The I/O polling functionality of erts has been
+ re-written to better make use of the OSs polling
+ mechanisms. This change means that erts will now always
+ prefer to use a kernel-polling mechanism if possible.
+ Also all of the I/O polling has been moved to dedicated
+ threads instead of being placed in the scheduler loops.
+
+ As a result of this, the erl options +K and +secio have
+ been removed. It is still possible to disable
+ kernel-poll, but it has to be done at compile time
+ through the configure option --disable-kernel-poll.
+
+ The new erl options +IOt and +IOp can be used to change
+ how many IO poll threads and poll sets that erts should
+ use. See their respective documentation for more
+ details.
+
+
+ OTP-14370 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was done toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the signal has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14492 Application(s): erts
+
+ Add support for the lcc compiler and in extension the
+ Elbrus 2000 platform.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14502 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Creation of small maps with literal keys has been
+ optimized to be faster and potentially use less memory.
+ The keys are combined into a literal key tuple which is
+ put into the literal pool. The key tuple can be shared
+ between many instances of maps having the same keys.
+
+
+ OTP-14508 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When an exception is thrown, include the arguments of
+ the call in the stacktrace for BIFs band, bor, bsl,
+ bsr, bxor, div, rem and the operators +, -, * and /.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14575 Application(s): erts
+
+ Modules that use floating point constants compiled with
+ R15 or earlier will need to be re-compiled before they
+ can be loaded.
+
+
+ OTP-14589 Application(s): erts
+
+ Implementation of true asynchronous signaling between
+ processes in order to improve scalability. Signals
+ affected include exit, monitor, demonitor, monitor
+ triggered, link, unlink, and group leader.
+
+
+ OTP-14604 Application(s): erts
+
+ Added a PGO (profile guided optimization) pass to the
+ build step of erts. This can be disabled by passing
+ --disable-pgo to configure.
+
+
+ OTP-14610 Application(s): erts
+ Related Id(s): PR-1480
+
+ Improved the performance of binary:split and
+ binary:match.
+
+
+ OTP-14613 Application(s): erts
+
+ It is not longer possible to disable dirty schedulers
+ when building erlang.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14637 Application(s): erts
+ Related Id(s): ERL-327, PR-1524
+
+ file:read_file has been changed to read the content of
+ files that report a size of 0 even when data can be
+ read from them. An example of such a file is
+ /proc/cpuinfo on Linux.
+
+
+ OTP-14651 Application(s): erts
+
+ It is no longer possible to disable the temp_alloc
+ allocator. Disabling it caused serious performance
+ degradations and was never what was wanted.
+
+
+ OTP-14667 Application(s): erts
+
+ The reduction cost of sending messages is now constant.
+ It will no longer scale according to the length of the
+ receiving process' message queue.
+
+
+ OTP-14680 Application(s): erts
+
+ Improved loading of modules with -on_load directive, to
+ no longer block all schedulers when the load operation
+ is completed.
+
+
+ OTP-14682 Application(s): erts
+
+ On platforms with real-time signals available,
+ SIGRTMIN+1 is now used as the internal scheduler
+ suspend signal instead of SIGUSR2.
+
+
+ OTP-14683 Application(s): compiler, erts
+
+ When the value returned from a 'catch' expression is
+ ignored, no stacktrace will be built if an exception is
+ caught. That will save time and produce less garbage.
+ There are also some minor optimizations of 'try/catch'
+ both in the compiler and run-time system.
+
+
+ OTP-14687 Application(s): erts
+
+ The guarantees and non-guarantees of
+ erlang:get_stacktrace/0 are now documented.
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14780 Application(s): erts
+
+ New 'used' option for binary_to_term/2 that will also
+ return number of bytes actually read from the binary.
+ This enables easy access to any extra data in the
+ binary located directly after the returned term.
+
+
+ OTP-14795 Application(s): erts
+ Related Id(s): ERL-88
+
+ Added more statistics for
+ erlang:system_info({allocator,A}) in the mbcs_pool
+ section.
+
+
+ OTP-14797 Application(s): erts
+
+ Added enif_ioq_peek_head to retrieve Erlang terms from
+ NIF IO queues without having to resort to copying.
+
+
+ OTP-14830 Application(s): compiler, erts
+
+ There is a new option 'makedep_side_effect' for the
+ compiler and -MMD for 'erlc' that generates
+ dependencies and continues to compile as normal.
+
+
+ OTP-14884 Application(s): erts, stdlib
+
+ Added ets:whereis/1 for retrieving the table identifier
+ of a named table.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14901 Application(s): erts
+
+ Optimized the common case of monitor followed by send
+ to the same local process. The monitor signal is now
+ delayed in order to be piggybacked with the sent
+ message and thereby only get one lock operation on the
+ message queue of the receiver. A delayed monitor signal
+ is flushed if no send has been done at the latest when
+ the process is scheduled out.
+
+
+ OTP-14903 Application(s): erts, hipe
+
+ Make hipe compiled code work on x86_64 (amd64) with OS
+ security feature PIE, where executable code can be
+ loaded into a random location. Old behavior, if hipe
+ was enabled, was to disable PIE build options for the
+ VM.
+
+
+ OTP-14928 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14934 Application(s): erts
+ Related Id(s): PR-1708
+
+ Optimize == and /= for binaries with different sizes to
+ be constant in time instead of proportional to the size
+ of their common prefix.
+
+
+ OTP-14948 Application(s): erts
+
+ Refactorings making some internal process flags
+ available for other usage.
+
+
+ OTP-14951 Application(s): erts
+
+ Removed need for HiPE to allocate native executable
+ memory in low 2GB address space on x86_64. Command line
+ option +MXscs is thereby obsolete and ignored.
+
+
+ OTP-14954 Application(s): erts
+
+ Added enif_make_map_from_arrays for creating a
+ populated map, analogous to enif_make_list_from_array.
+
+
+ OTP-14959 Application(s): erts
+
+ Added configuration switches for busy-wait and wake up
+ thresholds for dirty schedulers, and changing these
+ settings for normal schedulers will no longer affect
+ dirty schedulers.
+
+ Refer to the documentation for details. The new
+ switches are +sbwtdcpu, +sbwtdio, +swtdcpu, and
+ +swtdio.
+
+ The default busy wait threshold for dirty scheduler
+ threads has also been lowered to short.
+
+
+ OTP-14960 Application(s): erts
+
+ The list of "taints" now also includes dynamic loaded
+ drivers in addition to NIF libraries. Statically linked
+ drivers and NIF libraries that are part of erts are not
+ included. The "taints" are returned by
+ system_info(taints) and printed in the header of
+ erl_crash.dump files.
+
+
+ OTP-14961 Application(s): erts, tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ OTP-14964 Application(s): erts
+ Related Id(s): OTP-14589
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The process suspend functionality used by the
+ erlang:suspend_process/2 BIF has been reimplemented
+ using the newly introduced true asynchronous signaling
+ between processes. This mainly to reduce memory usage
+ in the process control block of all processes, but also
+ in order to simplify the implementation.
+
+ WARNING: You can easily create deadlocks if processes
+ suspends each other (directly or in circles). In ERTS
+ versions prior to ERTS version 10.0, the runtime system
+ prevented such deadlocks, but this prevention has now
+ been removed due to performance reasons.
+
+ Other ERTS internal functionality that used the
+ previous process suspend functionality have also been
+ reimplemented to use asynchronous signaling instead.
+
+
+ OTP-14965 Application(s): erts
+
+ Added the nifs option to ?MODULE:module_info/1 for
+ listing a module's installed NIF functions.
+
+
+ OTP-14966 Application(s): erts
+
+ New implementation of erlang:process_info/[1,2].
+
+ In the general case when inspecting another process,
+ the new implementation sends an asynchronous
+ process-info request signal to the other process and
+ waits for the result instead of locking the other
+ process and reading the result directly. In some
+ special cases where no conflicts occur, signal order
+ wont be violated, and the amount of data requested is
+ guaranteed to be small, the inspected process may be
+ inspected directly.
+
+ Appropriate amount of reductions are now also bumped
+ when inspecting a process.
+
+
+ OTP-14975 Application(s): erts
+ Related Id(s): PR-1597
+
+ Removed process start time from crash dump in order to
+ save memory in process control block.
+
+
+ OTP-14976 Application(s): erts
+
+ Optimize erlang:put/2 when updating existing key with a
+ new immediate value (atom, small integer, pid, port).
+
+
+ OTP-14986 Application(s): erts
+ Related Id(s): PR-1745
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ erlang:process_info/1 has been changed to no longer
+ include messages by default. Instead
+ erlang:process_info/2 should be used.
+
+
+ OTP-14994 Application(s): erts
+
+ New NIF functions: enif_mutex_name, enif_cond_name,
+ enif_rwlock_name, enif_thread_name, enif_vfprintf,
+ enif_vsnprintf.
+
+
+ OTP-15026 Application(s): erts
+
+ When erlang:system_flag(backtrace_depth, 0) has been
+ called, all exceptions will now contain the entry for
+ *one* function (despite the zero). It used to be that a
+ hand-made stack backtrace passed to erlang:raise/3
+ would be be truncated to an empty list.
+
+
+ OTP-15031 Application(s): erts
+
+ Fixed bug for named ets tables which could cause
+ unexpected results from matchspec iteration functions
+ (ets:select* and ets:match*) if the table was deleted
+ and recreated with the same name during the iteration.
+ The iteration could incorrectly continue through the
+ recreated table. The expected correct behavior is now
+ for the iteration call to fail with a badarg exception
+ if the table is deleted before the iteration has
+ completed.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784, PR-1802
+
+ *** HIGHLIGHT ***
+
+ Two new guards BIFs operating on maps have been added:
+ map_get/2 and is_map_key/2. They do the same as
+ maps:get/2 and maps:is_key/2, respectively, except that
+ they are allowed to be used in guards.
+
+
+ OTP-15081 Application(s): erts
+
+ Release run-queue lock while cleaning up terminated
+ dirty process.
+
+
+ OTP-15086 Application(s): erts, kernel
+ Related Id(s): PR-1694
+
+ The callback module passed as -epmd_module to erl has
+ been expanded to be able to do name and port resolving.
+
+ Documentation has also been added in the erl_epmd
+ reference manual and ERTS User's Guide How to Implement
+ an Alternative Service Discovery for Erlang
+ Distribution.
+
+
+ Full runtime dependencies of erts-10.0: kernel-6.0, sasl-3.0.1,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of et-1.6.2: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of eunit-2.3.6: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of ftp-1.0: erts-7.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.18 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14785 Application(s): hipe
+ Related Id(s): PR-1632
+
+ Optimize receive statements that are only waiting for
+ messages containing a reference created before the
+ receive. All messages that existed in the queue when
+ the reference was created will be bypassed, as they
+ cannot possibly contain the reference. This
+ optimization has existed for vanilla BEAM since OTP
+ R14.
+
+
+ OTP-14900 Application(s): hipe
+ Related Id(s): PR-1621, PR-1685
+
+ Add validation pass to hipe compiler to detect internal
+ errors causing primop calls that may trigger an unsafe
+ GC at run-time. The pass can be disabled with option
+ no_verify_gcsafe.
+
+
+ OTP-14903 Application(s): erts, hipe
+
+ Make hipe compiled code work on x86_64 (amd64) with OS
+ security feature PIE, where executable code can be
+ loaded into a random location. Old behavior, if hipe
+ was enabled, was to disable PIE build options for the
+ VM.
+
+
+ OTP-14941 Application(s): hipe
+ Related Id(s): PR-1718
+
+ Inline more type test BIFs; is_number, is_bitstring,
+ is_map.
+
+
+ Full runtime dependencies of hipe-3.18: compiler-5.0, erts-9.3,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14726 Application(s): inets
+
+ Fixed HTTP content injection bug in httpc (ERL-456).
+
+
+ OTP-14729 Application(s): inets
+
+ Fixed support for URI-references in HTTP 'Location'
+ header (ERL-333).
+
+
+ OTP-15006 Application(s): inets
+
+ Fix broken 'Content-Type' handling in httpc (ERL-536).
+
+
+ OTP-15021 Application(s): inets
+
+ Fix handling of relative paths in the script_alias
+ property of httpd (ERL-574).
+
+
+ OTP-15025 Application(s): inets
+
+ Fix httpd:reload_config/2 with path() as the first
+ argument (ERL-578).
+
+
+ OTP-15042 Application(s): inets
+
+ Improved gracefulness.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of inets-7.0: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.9 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14844 Application(s): jinterface
+
+ Add module package name for Java 9
+
+
+ ---------------------------------------------------------------------
+ --- kernel-6.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-10551 Application(s): kernel
+
+ Clarify the documentation of rpc:multicall/5.
+
+
+ OTP-13133 Application(s): kernel
+ Related Id(s): PR-1557
+
+ The DNS resolver when getting econnrefused from a
+ server retained an invalid socket so look up towards
+ the next server(s) also failed.
+
+
+ OTP-13761 Application(s): kernel
+ Related Id(s): ERL-503
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ No resolver backend returns V4Mapped IPv6 addresses any
+ more. This was inconsistent before, some did, some did
+ not. To facilitate working with such addresses a new
+ function inet:ipv4_mapped_ipv6_address/1 has been
+ added.
+
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14501 Application(s): kernel
+
+ Fix name resolving in IPv6 only environments when doing
+ the initial distributed connection.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14681 Application(s): kernel
+
+ Fixed connection tick toward primitive hidden nodes
+ (erl_interface) that could cause faulty tick timeout in
+ rare cases when payload data is sent to hidden node but
+ not received.
+
+
+ OTP-14991 Application(s): kernel
+ Related Id(s): PR1705
+
+ Make group react immediately on an EXIT-signal from
+ shell in e.g ssh.
+
+
+ OTP-15001 Application(s): erts, kernel
+
+ Calls to gen_tcp:send/2 on closed sockets now returns
+ {error, closed} instead of {error,enotconn}.
+
+
+ OTP-15071 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The included_applications key are no longer duplicated
+ as application environment variable. Earlier, the
+ included applications could be read both with
+ application:get[_all]_env(...) and
+ application:get[_all]_key(...) functions. Now, it can
+ only be read with application:get[_all]_key(...).
+
+
+ --- Improvements and New Features ---
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled with the Kernel configuration parameter
+ logger_progress_reports.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+
+ OTP-13713 Application(s): kernel
+ Related Id(s): PR-1645
+
+ The function inet:i/0 has been documented.
+
+
+ OTP-14359 Application(s): kernel
+ Related Id(s): PR-1816
+
+ Typespecs for netns and bind_to_device options have
+ been added to gen_tcp, gen_udp and gen_sctp functions.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14969 Application(s): kernel, ssl
+ Related Id(s): ERL-598, OTP-14465
+
+ The SSL distribution protocol -proto inet_tls has
+ stopped setting the SSL option server_name_indication.
+ New verify funs for client and server in inet_tls_dist
+ has been added, not documented yet, that checks node
+ name if present in peer certificate. Usage is still
+ also yet to be documented.
+
+
+ OTP-15009 Application(s): kernel
+ Related Id(s): ERL-601
+
+ Changed timeout of gen_server calls to auth server from
+ default 5 seconds to infinity.
+
+
+ OTP-15086 Application(s): erts, kernel
+ Related Id(s): PR-1694
+
+ The callback module passed as -epmd_module to erl has
+ been expanded to be able to do name and port resolving.
+
+ Documentation has also been added in the erl_epmd
+ reference manual and ERTS User's Guide How to Implement
+ an Alternative Service Discovery for Erlang
+ Distribution.
+
+
+ Full runtime dependencies of kernel-6.0: erts-10.0, sasl-3.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.15.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of mnesia-4.15.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.8 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14993 Application(s): observer
+ Related Id(s): PR-1666
+
+ Added possibility to garbage collect selected processes
+ and fixed a crash when the saved config file contained
+ bad data.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ Full runtime dependencies of observer-2.8: erts-7.0, et-1.5,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-3.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14513 Application(s): os_mon
+
+ Fix disksup to handle mount paths with spaces in them.
+
+
+ Full runtime dependencies of os_mon-2.4.5: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.7 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of parsetools-2.1.7: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14788 Application(s): public_key
+ Related Id(s): OTP-14624
+
+ Update calls to the base64 module to conform to that
+ module's type specifications.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ OTP-15093 Application(s): public_key
+
+ Compleate PKCS-8 encoding support and enhance the
+ decoding of 'PrivateKeyInfo' to conform to the rest of
+ Erlang public_key API.
+
+
+ Full runtime dependencies of public_key-1.6: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.6 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of reltool-0.7.6: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.13 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14904 Application(s): runtime_tools
+
+ New utility module scheduler which makes it easier to
+ measure scheduler utilization.
+
+
+ Full runtime dependencies of runtime_tools-1.13: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled with the Kernel configuration parameter
+ logger_progress_reports.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+
+ OTP-14469 Application(s): sasl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The old and outdated "Status Inspection" tool (modules
+ si and si_sasl_sup) is removed.
+
+
+ OTP-14950 Application(s): sasl
+ Related Id(s): PR-1560
+
+ When creating the release tar file, systools now
+ includes sys.config.src if it exists in the
+ $ROOT/releases/<vsn>/ directory. This is to allow
+ adjustments, e.g. resolving environment variables,
+ after unpacking the release, but before installing it.
+ This functionality requires a custom tool which uses
+ sys.config.src as input and creates a correct
+ sys.config file.
+
+
+ Full runtime dependencies of sasl-3.2: erts-9.0, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.7 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14880 Application(s): ssh
+
+ Updated ssh_connection:shell/2 documentation.
+
+
+ OTP-14955 Application(s): ssh
+
+ If the daemon port listener is restarted, it could
+ potentially fail with eaddrinuse if the timing is
+ unlucky. It will now retry and exponentially back off
+ the listener restart a few times before failing.
+
+
+ OTP-15084 Application(s): ssh
+
+ A channel callback module always got the module name as
+ reason in a call to terminate. Now it will get the
+ proper Reason, usually 'normal'.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14851 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ An option exec for daemons implementing the 'exec' has
+ existed a long time but has been undocumented. The old
+ behaviour is kept for compatibility EXCEPT that error
+ messages are changed and are sent as "stderror" text.
+
+ A new option value is defined to make it much more easy
+ to implement an own exec server.
+
+
+ OTP-14896 Application(s): ssh
+
+ The undocumented ssh_dbg module is completely
+ re-written to facilitate tracing/debugging.
+
+
+ OTP-14988 Application(s): ssh
+
+ The SSH supervisor structure has been slightly changed.
+ This makes stopping the ssh application considerably
+ faster if there are open connections. This is important
+ in for example restarts.
+
+
+ OTP-15002 Application(s): ssh
+ Related Id(s): OTP-15030
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The type specifications in SSH are reworked and the
+ following types are renamed:
+
+ ssh:ssh_connection_ref() is changed to
+ ssh:connection_ref(),
+
+ ssh:ssh_daemon_ref() is changed to ssh:daemon_ref(),
+
+ ssh:ssh_channel_id() is changed to ssh:channel_id().
+
+
+ OTP-15019 Application(s): ssh
+
+ The internal timer handling in SSH is now based on the
+ gen_statem timers.
+
+
+ OTP-15028 Application(s): ssh
+
+ Removed unused ssh_client_key.erl and
+ ssh_server_key.erl.
+
+
+ OTP-15030 Application(s): ssh
+ Related Id(s): OTP-15002
+
+ The Reference Manual pages are partly updated.
+
+ The ssh page is now generated from specs and types, is
+ restructured and is partly rephrased.
+
+ The ssh_channel, ssh_connection, ssh_client_key_api,
+ ssh_server_key_api and ssh_sftp pages are updated with
+ links, correct type names and some minor changes.
+
+
+ OTP-15041 Application(s): ssh
+
+ The behaviors ssh_channel and ssh_daemon_channel are
+ renamed to ssh_client_channel and ssh_server_channel
+ respectively.
+
+ The old modules are kept for compatibility but should
+ preferably be replaced when updating callback modules
+ referring them.
+
+
+ OTP-15069 Application(s): ssh
+ Related Id(s): ERL-617
+
+ The rekey_limit option could now set the max time as
+ well as the previously max data amount.
+
+
+ OTP-15082 Application(s): ssh
+
+ Change process exit supervision with monitor instead of
+ link
+
+
+ Full runtime dependencies of ssh-4.7: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-9.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14974 Application(s): ssl
+
+ Correct handling of ECDH suites.
+
+
+ OTP-15050 Application(s): ssl
+
+ Proper handling of clients that choose to send an empty
+ answer to a certificate request
+
+
+ --- Improvements and New Features ---
+
+ OTP-14465 Application(s): ssl
+
+ Distribution over SSL (inet_tls) has, to improve
+ performance, been rewritten to not use intermediate
+ processes and ports.
+
+
+ OTP-14547 Application(s): ssl
+
+ Add suport for ECDHE_PSK cipher suites
+
+
+ OTP-14768 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ For security reasons no longer support 3-DES cipher
+ suites by default
+
+
+ OTP-14769 Application(s): ssl
+
+ *** INCOMPATIBILITY with possible ***
+
+ For security reasons RSA-key exchange cipher suites are
+ no longer supported by default
+
+
+ OTP-14789 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ The interoperability option to fallback to insecure
+ renegotiation now has to be explicitly turned on.
+
+
+ OTP-14824 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Drop support for SSLv2 enabled clients. SSLv2 has been
+ broken for decades and never supported by the Erlang
+ SSL/TLS implementation. This option was by default
+ disabled and enabling it has proved to sometimes break
+ connections not using SSLv2 enabled clients.
+
+
+ OTP-14882 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ Remove CHACHA20_POLY1305 ciphers form default for now.
+ We have discovered interoperability problems, ERL-538,
+ that we believe needs to be solved in crypto.
+
+
+ OTP-14888 Application(s): ssl
+
+ Generalize DTLS packet multiplexing to make it easier
+ to add future DTLS features and uses.
+
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ OTP-14969 Application(s): kernel, ssl
+ Related Id(s): ERL-598, OTP-14465
+
+ The SSL distribution protocol -proto inet_tls has
+ stopped setting the SSL option server_name_indication.
+ New verify funs for client and server in inet_tls_dist
+ has been added, not documented yet, that checks node
+ name if present in peer certificate. Usage is still
+ also yet to be documented.
+
+
+ OTP-15056 Application(s): ssl
+
+ Deprecate ssl:ssl_accept/[1,2,3] in favour of
+ ssl:handshake/[1,2,3]
+
+
+ Full runtime dependencies of ssl-9.0: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14015 Application(s): stdlib
+
+ gen_statem improvements.
+
+ When using an exception that is valid but not allowed
+ in a state enter call, the reason has been changed from
+ {bad_action_from_state_function,Action} to
+ {bad_state_enter_action_from_state_function,Action}.
+
+ Timer parsing has been improved. Many erroneous timeout
+ tuples was not handled correctly.
+
+ The documentation has been updated, in particular the
+ User's Guide and the pointer to it from the Reference
+ Manual is much more obvious.
+
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14958 Application(s): stdlib
+ Related Id(s): PR-1735
+
+ Make io_lib:unscan_format/1 work with pad char and
+ default precision.
+
+
+ OTP-14971 Application(s): stdlib
+ Related Id(s): PR-1743
+
+ The control sequence modifiers t and l can be used
+ together in the same control sequence which makes it
+ possible to have Unicode atoms and no detection of
+ printable character lists at the same time.
+
+
+ OTP-15035 Application(s): stdlib
+ Related Id(s): ERL-613
+
+ Fix a bug in the Erlang code linter: the check of guard
+ expressions no longer returns false if the map syntax
+ is used. The bug affected the Erlang shell, the
+ Debugger, and other modules evaluating abstract code.
+
+
+ OTP-15049 Application(s): stdlib
+
+ A sys debug fun of type {Fun,State} should not be
+ possible to install twice. This was, however, possible
+ if the current State was 'undefined', which was
+ mistaken for non-existing fun. This has been corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13019 Application(s): stdlib
+ Related Id(s): PR-1490
+
+ The gen_server has gotten a new callback
+ handle_continue/2 for check pointing the state. This is
+ useful at least when implementing behaviours on top of
+ gen_server and for some start up scenarios.
+
+
+ OTP-13073 Application(s): stdlib
+ Related Id(s): PR-1595
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The semantics of timeout parameter
+ {clean_timeout,infinity} to gen_statem:call/3 has been
+ changed to use a proxy process for the call. With this
+ change clean_timeout implicates a proxy process with no
+ exceptions. This may be a hard to observe
+ incompatibility: in the presence of network problems a
+ late reply could arrive in the caller's message queue
+ when catching errors. That will not happen after this
+ correction.
+
+ The semantics of timeout parameter infinity has not
+ been changed.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled with the Kernel configuration parameter
+ logger_progress_reports.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+
+ OTP-13413 Application(s): stdlib
+
+ Add functions calendar:system_time_to_local_time/2 and
+ calendar:system_time_to_universal_time/2.
+
+
+ OTP-13764 Application(s): stdlib
+ Related Id(s): PR-1574
+
+ Functions rand:uniform_real/0 and rand:uniform_real_s/1
+ have been added. They produce uniformly distributed
+ numbers in the range 0.0 =< X < 1.0 that are as close
+ to random real numbers as Normalized IEEE 754 Double
+ Precision allows. Because the random real number
+ exactly 0.0 is infinitely improbable they will never
+ return exactly 0.0.
+
+ These properties are useful when you need to call for
+ example math:log(X) or 1 / X on a random value X, since
+ that will never fail with a number from these new
+ functions.
+
+
+ OTP-14012 Application(s): stdlib
+
+ Added maps:iterator/0 and maps:next/1 to be used for
+ iterating over the key-value associations in a map.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14496 Application(s): stdlib
+
+ Added new uri_string module to stdlib for handling URIs
+ (RFC 3986).
+
+
+ OTP-14503 Application(s): stdlib
+
+ Update Unicode specification to version 10.0.
+
+
+ OTP-14577 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ filelib:wildcard() now allows characters with a special
+ meaning to be escaped using backslashes.
+
+ This is an incompatible change, but note that the use
+ of backslashes in wildcards would already work
+ differently on Windows and Unix. Existing calls to
+ filelib:wildcard() needs to be updated. On Windows,
+ directory separators must always be written as a slash.
+
+
+ OTP-14586 Application(s): stdlib
+
+ The supervisor now stores its child specifications in a
+ map instead of a list. This causes a significant
+ improvement when starting many children under a
+ non-simple_one_for_one supervisor.
+
+
+ OTP-14624 Application(s): stdlib
+ Related Id(s): PR-1565
+
+ The base64 module is optimized.
+
+ Note that the functions encode/1, decode/1, and
+ mime_decode/1 fail unless called with an argument of
+ the documented type. They used to accept any iodata().
+
+
+ OTP-14675 Application(s): stdlib
+ Related Id(s): PR-102
+
+ Add function lists:search/2.
+
+
+ OTP-14747 Application(s): stdlib
+
+ uri_string module extended with functions for handling
+ application/x-www-form-urlencoded query strings based
+ on the HTML5 specification.
+
+
+ OTP-14764 Application(s): stdlib
+
+ Add functions calendar:rfc3339_to_system_time/1,2 and
+ calendar:system_time_to_rfc3339/1,2.
+
+
+ OTP-14826 Application(s): stdlib
+ Related Id(s): 1540, PR
+
+ The stack traces returned by the functions of the
+ erl_eval module more accurately reflect where the
+ exception occurred.
+
+
+ OTP-14834 Application(s): stdlib
+ Related Id(s): 1608, PR
+
+ Add options atime, mtime, ctime, uid, and gid to the
+ erl_tar:add/3,4 functions.
+
+
+ OTP-14884 Application(s): erts, stdlib
+
+ Added ets:whereis/1 for retrieving the table identifier
+ of a named table.
+
+
+ OTP-14910 Application(s): stdlib
+
+ Improved URI normalization functions in the uri_string
+ module.
+
+
+ OTP-14983 Application(s): stdlib
+
+ The new functions io_lib:fwrite/3 and io_lib:format/3
+ take a third argument, an option list. The only option
+ is chars_limit, which is used for limiting the number
+ of returned characters. The limit is soft, which means
+ that the number of returned characters exceeds the
+ limit with at most a smallish amount. If the limit is
+ set, the functions format/3 and fwrite/3 try to
+ distribute the number of characters evenly over the
+ control sequences pPswW. Furthermore, the control
+ sequences pPwP try to distribute the number of
+ characters evenly over substructures.
+
+ A modification of the control sequences pPwW is that
+ even if there is no limit on the number of returned
+ characters, all associations of a map are printed to
+ the same depth. The aim is to give a more consistent
+ output as the order of map keys is not defined. As
+ before, if the depth is less than the number of
+ associations of a map, the selection of associations to
+ print is arbitrary.
+
+
+ OTP-14996 Application(s): stdlib
+ Related Id(s): ERL-557, PR-1703
+
+ Add functions ordsets:is_empty/1 and sets:is_empty/1.
+
+
+ OTP-14998 Application(s): stdlib
+
+ Improve performance of string:uppercase/1,
+ string:lowercase/1 and string:casefold/1 when handling
+ ASCII characters.
+
+
+ OTP-15003 Application(s): compiler, stdlib
+
+ External funs with literal values for module, name, and
+ arity (e.g. erlang:abs/1) are now treated as literals.
+ That means more efficient code that produces less
+ garbage on the heap.
+
+
+ OTP-15047 Application(s): stdlib
+
+ sys:statistics(Pid,get) did not report 'out' messages
+ from gen_server. This is now corrected.
+
+
+ OTP-15048 Application(s): stdlib
+
+ A sys debug function can now have the format
+ {Id,Fun,State} in addition to the old {Fun,State}. This
+ allows installing multiple instances of a debug fun.
+
+
+ OTP-15072 Application(s): stdlib
+ Related Id(s): 1786, PR
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The lib module is removed:
+
+ -- lib:error_message/2 is removed.
+
+ -- lib:flush_receive/0 is removed.
+
+ -- lib:nonl/1 is removed.
+
+ -- lib:progname/0 is replaced by ct:get_progname/0.
+
+ -- lib:send/2 is removed.
+
+ -- lib:sendw/2 is removed.
+
+
+ OTP-15078 Application(s): stdlib
+
+ Function ets:delete_all_objects/1 now yields the
+ scheduler thread for large tables that take significant
+ time to clear. This to improve real time
+ characteristics of other runnable processes.
+
+
+ Full runtime dependencies of stdlib-3.5: compiler-5.0, crypto-3.3,
+ erts-10.0, kernel-6.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.5 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of syntax_tools-2.1.5: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of tftp-1.0: kernel-6.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14961 Application(s): erts, tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ Full runtime dependencies of tools-3.0: compiler-5.0, erts-9.1,
+ kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15027 Application(s): wx
+
+ Changed implementation so wx can now be built towards
+ wxWidgets-3.1.1.
+
+
+ Full runtime dependencies of wx-1.8.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.17 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15039 Application(s): xmerl
+
+ Fix typos in documentation.
+
+
+ Full runtime dependencies of xmerl-1.3.17: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.0.1.README.txt b/release-notes/OTP-21.0.1.README.txt
new file mode 100644
index 0000000..76390a4
--- /dev/null
+++ b/release-notes/OTP-21.0.1.README.txt
@@ -0,0 +1,60 @@
+Patch Package: OTP 21.0.1
+Git Tag: OTP-21.0.1
+Date: 2018-06-26
+Trouble Report Id: OTP-15147, OTP-15150
+Seq num: ERL-644, ERL-650
+System: OTP
+Release: 21
+Application: compiler-7.2.1, erts-10.0.1
+Predecessor: OTP 21.0
+
+ Check out the git tag OTP-21.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.2.1 application can be applied independently of other
+ applications on a full OTP 21 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15150 Application(s): compiler
+ Related Id(s): ERL-650
+
+ The compiler could could crash when compiling a
+ complicated function that used the binary syntax.
+
+
+ Full runtime dependencies of compiler-7.2.1: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.0.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-10.0.1 application can be applied independently of other
+ applications on a full OTP 21 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15147 Application(s): erts
+ Related Id(s): ERL-644
+
+ The keys used in os:getenv and os:putenv are
+ case-insensitive again on Windows.
+
+
+ Full runtime dependencies of erts-10.0.1: kernel-6.0, sasl-3.0.1,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.0.README.txt b/release-notes/OTP-21.0.README.txt
new file mode 100644
index 0000000..0a9e840
--- /dev/null
+++ b/release-notes/OTP-21.0.README.txt
@@ -0,0 +1,3554 @@
+Patch Package: OTP 21.0
+Git Tag: OTP-21.0
+Date: 2018-06-19
+Trouble Report Id: OTP-10551, OTP-11462, OTP-11694, OTP-13019,
+ OTP-13073, OTP-13133, OTP-13295, OTP-13370,
+ OTP-13413, OTP-13713, OTP-13760, OTP-13761,
+ OTP-13764, OTP-14012, OTP-14015, OTP-14019,
+ OTP-14113, OTP-14256, OTP-14346, OTP-14359,
+ OTP-14370, OTP-14439, OTP-14459, OTP-14465,
+ OTP-14469, OTP-14492, OTP-14493, OTP-14496,
+ OTP-14497, OTP-14501, OTP-14502, OTP-14503,
+ OTP-14505, OTP-14508, OTP-14513, OTP-14518,
+ OTP-14525, OTP-14537, OTP-14543, OTP-14547,
+ OTP-14575, OTP-14577, OTP-14586, OTP-14589,
+ OTP-14594, OTP-14604, OTP-14610, OTP-14613,
+ OTP-14615, OTP-14624, OTP-14626, OTP-14637,
+ OTP-14651, OTP-14652, OTP-14654, OTP-14666,
+ OTP-14667, OTP-14675, OTP-14680, OTP-14681,
+ OTP-14682, OTP-14683, OTP-14687, OTP-14692,
+ OTP-14712, OTP-14713, OTP-14719, OTP-14726,
+ OTP-14729, OTP-14747, OTP-14764, OTP-14768,
+ OTP-14769, OTP-14774, OTP-14780, OTP-14782,
+ OTP-14785, OTP-14788, OTP-14789, OTP-14795,
+ OTP-14797, OTP-14808, OTP-14810, OTP-14824,
+ OTP-14826, OTP-14830, OTP-14834, OTP-14844,
+ OTP-14851, OTP-14855, OTP-14861, OTP-14864,
+ OTP-14880, OTP-14882, OTP-14884, OTP-14888,
+ OTP-14896, OTP-14899, OTP-14900, OTP-14901,
+ OTP-14902, OTP-14903, OTP-14904, OTP-14909,
+ OTP-14910, OTP-14928, OTP-14931, OTP-14932,
+ OTP-14934, OTP-14937, OTP-14941, OTP-14943,
+ OTP-14948, OTP-14950, OTP-14951, OTP-14954,
+ OTP-14955, OTP-14956, OTP-14957, OTP-14958,
+ OTP-14959, OTP-14960, OTP-14961, OTP-14962,
+ OTP-14964, OTP-14965, OTP-14966, OTP-14968,
+ OTP-14969, OTP-14970, OTP-14971, OTP-14974,
+ OTP-14975, OTP-14976, OTP-14977, OTP-14978,
+ OTP-14979, OTP-14982, OTP-14983, OTP-14986,
+ OTP-14987, OTP-14988, OTP-14991, OTP-14992,
+ OTP-14993, OTP-14994, OTP-14996, OTP-14998,
+ OTP-15001, OTP-15002, OTP-15003, OTP-15006,
+ OTP-15008, OTP-15009, OTP-15013, OTP-15015,
+ OTP-15019, OTP-15021, OTP-15024, OTP-15025,
+ OTP-15026, OTP-15027, OTP-15028, OTP-15029,
+ OTP-15030, OTP-15031, OTP-15032, OTP-15033,
+ OTP-15035, OTP-15036, OTP-15037, OTP-15039,
+ OTP-15041, OTP-15042, OTP-15044, OTP-15045,
+ OTP-15047, OTP-15048, OTP-15049, OTP-15050,
+ OTP-15051, OTP-15056, OTP-15062, OTP-15069,
+ OTP-15071, OTP-15072, OTP-15078, OTP-15079,
+ OTP-15080, OTP-15081, OTP-15082, OTP-15083,
+ OTP-15084, OTP-15085, OTP-15086, OTP-15087,
+ OTP-15088, OTP-15090, OTP-15093, OTP-15098,
+ OTP-15101, OTP-15102, OTP-15103, OTP-15105,
+ OTP-15106, OTP-15108, OTP-15109, OTP-15113,
+ OTP-15114, OTP-15115, OTP-15117, OTP-15118,
+ OTP-15119, OTP-15125, OTP-15137, OTP-15141,
+ OTP-15142
+Seq num: ERIERL-177, ERL-327, ERL-370, ERL-444,
+ ERL-500, ERL-503, ERL-511, ERL-514, ERL-542,
+ ERL-549, ERL-550, ERL-557, ERL-563, ERL-572,
+ ERL-576, ERL-579, ERL-593, ERL-598, ERL-601,
+ ERL-607, ERL-613, ERL-614, ERL-615, ERL-617,
+ ERL-621, ERL-629, ERL-634, ERL-88
+System: OTP
+Release: 21
+Application: asn1-5.0.6, common_test-1.16, compiler-7.2,
+ crypto-4.3, debugger-4.2.5, dialyzer-3.3,
+ diameter-2.1.5, edoc-0.9.3, eldap-1.2.4,
+ erl_docgen-0.8, erl_interface-3.10.3,
+ erts-10.0, et-1.6.2, eunit-2.3.6, ftp-1.0,
+ hipe-3.18, inets-7.0, jinterface-1.9,
+ kernel-6.0, mnesia-4.15.4, observer-2.8,
+ os_mon-2.4.5, otp_mibs-1.2, parsetools-2.1.7,
+ public_key-1.6, reltool-0.7.6,
+ runtime_tools-1.13, sasl-3.2, ssh-4.7,
+ ssl-9.0, stdlib-3.5, syntax_tools-2.1.5,
+ tftp-1.0, tools-3.0, wx-1.8.4, xmerl-1.3.17
+Predecessor: OTP
+
+ Check out the git tag OTP-21.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14370 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was aimed toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the message has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14502 Application(s): erts
+
+ Creation of small maps with literal keys has been
+ optimized to be faster and potentially use less memory.
+ The keys are combined into a literal key tuple which is
+ put into the literal pool. The key tuple can be shared
+ between many instances of maps having the same keys.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14589 Application(s): erts
+
+ Implementation of true asynchronous signaling between
+ processes in order to improve scalability. Signals
+ affected include exit, monitor, demonitor, monitor
+ triggered, link, unlink, and group leader.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14928 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14968 Application(s): compiler
+ Related Id(s): ERL-563
+
+ When compiling modules with huge functions, the
+ compiler would generate a lot of atoms for its
+ internal, sometimes so many that the atom table would
+ overflow. The compiler has been rewritten to generate
+ far less internal atoms to avoid filling the atom
+ table.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784, PR-1802
+
+ Two new guards BIFs operating on maps have been added:
+ map_get/2 and is_map_key/2. They do the same as
+ maps:get/2 and maps:is_key/2, respectively, except that
+ they are allowed to be used in guards.
+
+
+ OTP-15087 Application(s): compiler
+ Related Id(s): PR-1810
+
+ Part of EEP-44 has been implemented.
+
+ There is a new predefined macro called OTP_RELEASE
+ which is an integer indicating the OTP release number
+ (its value is 21 in this release).
+
+ There are new preprocessor directives -if(Condition).
+ and -elif(Condition).. The if/elif supports the builtin
+ function defined(Symbol).
+
+
+ OTP-15142 Application(s): ssl
+
+ First version with support for DTLS
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-11694 Application(s): erts
+
+ The erlang:system_flag(scheduler_wall_time,Bool) call
+ is now reference counted and will be turned off if the
+ (last) process that started the performance statistics
+ dies. Thus it is no longer possible to start the
+ statistics with rpc:call(Node, erlang, system_flag,
+ [scheduler_wall_time, true]) since it will be turned
+ off directly afterwards when the rpc process dies.
+
+
+ OTP-13073 Application(s): stdlib
+ Related Id(s): PR-1595
+
+ The semantics of timeout parameter
+ {clean_timeout,infinity} to gen_statem:call/3 has been
+ changed to use a proxy process for the call. With this
+ change clean_timeout implicates a proxy process with no
+ exceptions. This may be a hard to observe
+ incompatibility: in the presence of network problems a
+ late reply could arrive in the caller's message queue
+ when catching errors. That will not happen after this
+ correction.
+
+ The semantics of timeout parameter infinity has not
+ been changed.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled by setting the primary log level to info, for
+ example with the Kernel configuration parameter
+ logger_level.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+ Since Logger is new in Erlang/OTP 21.0, we do reserve
+ the right to introduce changes to the Logger API and
+ functionality in patches following this release. These
+ changes might or might not be backwards compatible with
+ the initial version.
+
+
+ OTP-13761 Application(s): kernel
+ Related Id(s): ERL-503
+
+ No resolver backend returns V4Mapped IPv6 addresses any
+ more. This was inconsistent before, some did, some did
+ not. To facilitate working with such addresses a new
+ function inet:ipv4_mapped_ipv6_address/1 has been
+ added.
+
+
+ OTP-14256 Application(s): erts
+
+ The file driver has been rewritten as a NIF, decreasing
+ the latency of file operations. Notable
+ incompatibilities are:
+
+ -- The use_threads option for file:sendfile/5 no longer
+ has any effect; we either use non-blocking sendfile(2)
+ or fall back to file:read + gen_tcp:send.
+
+ -- The file-specific DTrace probes have been removed.
+ The same effect can be achieved with normal tracing
+ together with the nif__entry/nif__return probes to
+ track scheduling.
+
+
+ OTP-14370 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was aimed toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the message has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14469 Application(s): sasl
+
+ The old and outdated "Status Inspection" tool (modules
+ si and si_sasl_sup) is removed.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14508 Application(s): erts
+
+ When an exception is thrown, include the arguments of
+ the call in the stacktrace for BIFs band, bor, bsl,
+ bsr, bxor, div, rem and the operators +, -, * and /.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** HIGHLIGHT ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14577 Application(s): stdlib
+
+ filelib:wildcard() now allows characters with a special
+ meaning to be escaped using backslashes.
+
+ This is an incompatible change, but note that the use
+ of backslashes in wildcards would already work
+ differently on Windows and Unix. Existing calls to
+ filelib:wildcard() needs to be updated. On Windows,
+ directory separators must always be written as a slash.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14768 Application(s): ssl
+
+ For security reasons no longer support 3-DES cipher
+ suites by default
+
+
+ OTP-14769 Application(s): ssl
+
+ For security reasons RSA-key exchange cipher suites are
+ no longer supported by default
+
+
+ OTP-14789 Application(s): ssl
+
+ The interoperability option to fallback to insecure
+ renegotiation now has to be explicitly turned on.
+
+
+ OTP-14824 Application(s): ssl
+
+ Drop support for SSLv2 enabled clients. SSLv2 has been
+ broken for decades and never supported by the Erlang
+ SSL/TLS implementation. This option was by default
+ disabled and enabling it has proved to sometimes break
+ connections not using SSLv2 enabled clients.
+
+
+ OTP-14851 Application(s): ssh
+
+ The option exec has new option values defined to make
+ it much more easy to implement an own exec server.
+
+ An option called exec for daemons implementing the
+ handling of 'exec' requests has existed a long time but
+ has been undocumented. The old undocumented value - as
+ well as its behavior - is kept for compatibility EXCEPT
+ that error messages are changed and are sent as
+ "stderror" text.
+
+
+ OTP-14882 Application(s): ssl
+
+ Remove CHACHA20_POLY1305 ciphers form default for now.
+ We have discovered interoperability problems, ERL-538,
+ that we believe needs to be solved in crypto.
+
+
+ OTP-14928 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14961 Application(s): erts, tools
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ OTP-14964 Application(s): erts
+ Related Id(s): OTP-14589
+
+ The process suspend functionality used by the
+ erlang:suspend_process/2 BIF has been reimplemented
+ using the newly introduced true asynchronous signaling
+ between processes. This mainly to reduce memory usage
+ in the process control block of all processes, but also
+ in order to simplify the implementation.
+
+ WARNING: You can easily create deadlocks if processes
+ suspends each other (directly or in circles). In ERTS
+ versions prior to ERTS version 10.0, the runtime system
+ prevented such deadlocks, but this prevention has now
+ been removed due to performance reasons.
+
+ Other ERTS internal functionality that used the
+ previous process suspend functionality have also been
+ reimplemented to use asynchronous signaling instead.
+
+
+ OTP-14986 Application(s): erts
+ Related Id(s): PR-1745
+
+ erlang:process_info/1 has been changed to no longer
+ include messages by default. Instead
+ erlang:process_info/2 should be used.
+
+
+ OTP-15002 Application(s): ssh
+ Related Id(s): OTP-15030
+
+ The type specifications in SSH are completly reworked
+ and the following types are renamed:
+
+ ssh:ssh_connection_ref() is changed to
+ ssh:connection_ref(),
+
+ ssh:ssh_daemon_ref() is changed to ssh:daemon_ref(),
+
+ ssh:ssh_channel_id() is changed to ssh:channel_id().
+
+
+ OTP-15071 Application(s): kernel
+
+ The included_applications key are no longer duplicated
+ as application environment variable. Earlier, the
+ included applications could be read both with
+ application:get[_all]_env(...) and
+ application:get[_all]_key(...) functions. Now, it can
+ only be read with application:get[_all]_key(...).
+
+
+ OTP-15072 Application(s): stdlib
+ Related Id(s): 1786, OTP-15114, PR
+
+ The lib module is removed:
+
+ -- lib:error_message/2 is removed.
+
+ -- lib:flush_receive/0 is removed.
+
+ -- lib:nonl/1 is removed.
+
+ -- lib:progname/0 is replaced by ct:get_progname/0.
+
+ -- lib:send/2 is removed.
+
+ -- lib:sendw/2 is removed.
+
+
+ OTP-15103 Application(s): stdlib
+ Related Id(s): ERL-607
+
+ In control sequences of the functions io:fwrite/2,3 and
+ io_lib:fwrite/2,3 containing p or P, a field width of
+ value 0 means that no line breaks are inserted. This is
+ in contrast to the old behaviour, where 0 used to
+ insert line breaks after every subterm. To insert line
+ breaks after every subterm, a field width of value 1
+ can be used.
+
+
+ OTP-15118 Application(s): erts, kernel
+
+ Owner and group changes through file:write_file_info,
+ file:change_owner, and file:change_group will no longer
+ report success on permission errors.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of asn1-5.0.6: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.16 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14810 Application(s): common_test
+
+ Use the compiler option nowarn_export_all to disable
+ export_all warnings when automatically compiling test
+ suites.
+
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ Full runtime dependencies of common_test-1.16: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14855 Application(s): compiler
+ Related Id(s): ERL-549
+
+ Fixed an error in an optimization pass that caused
+ impossible tuple matching.
+
+
+ OTP-14992 Application(s): compiler
+ Related Id(s): ERL-572
+
+ The exception thrown when a list comprehension was
+ given a non-list term was not always correct.
+
+
+ OTP-15115 Application(s): compiler
+ Related Id(s): PR-1831
+
+ The compiler could produce incorrect code in rare
+ circumstances when the [{inline,F/A}] option was used.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14505 Application(s): compiler
+
+ In code such as example({ok, Val}) -> {ok, Val}. a
+ tuple would be built. The compiler will now
+ automatically rewrite the code to
+ example({ok,Val}=Tuple) -> Tuple. which will reduce
+ code size, execution time, and remove GC pressure.
+
+
+ OTP-14525 Application(s): compiler
+
+ The optimization of case expression where only one of
+ the case arms can execute successfully has been
+ improved.
+
+
+ OTP-14594 Application(s): compiler
+ Related Id(s): ERL-444
+
+ Some uses of binary matching has been slightly
+ improved, eliminating unnecessary register shuffling.
+
+
+ OTP-14615 Application(s): compiler
+ Related Id(s): PR-1558
+
+ There is a new {compile_info,Info} option for the
+ compiler that allows BEAM-based languages such as
+ Elixir and LFE to add their own compiler versions.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14654 Application(s): compiler
+
+ Size calculations for binary constructions has been
+ somewhat optimized, producing smaller code.
+
+
+ OTP-14683 Application(s): compiler, erts
+
+ When the value returned from a 'catch' expression is
+ ignored, no stacktrace will be built if an exception is
+ caught. That will save time and produce less garbage.
+ There are also some minor optimizations of 'try/catch'
+ both in the compiler and run-time system.
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14712 Application(s): compiler
+
+ The following is an internal change in the compiler,
+ that is not noticeable for normal use of the compiler:
+ The module v3_life has been removed. Its functionality
+ has been simplified and integrated into v3_codegen.
+
+
+ OTP-14774 Application(s): compiler
+
+ The optimization of binary matching that delays
+ creation of sub binaries (see the Efficiency Guide)
+ could be thwarted by the argument order and could be
+ necessary to change the argument order. The compiler
+ has now become smarter and can handle any argument
+ order.
+
+
+ OTP-14808 Application(s): compiler
+ Related Id(s): ERL-514
+
+ When the compiler was faced with complex case
+ expressions it would unnecessarily allocate stack
+ elements and shuffle data between x and y registers.
+ Improved code generation to only allocate a stack frame
+ when strictly necessary.
+
+
+ OTP-14830 Application(s): compiler, erts
+
+ There is a new option 'makedep_side_effect' for the
+ compiler and -MMD for 'erlc' that generates
+ dependencies and continues to compile as normal.
+
+
+ OTP-14968 Application(s): compiler
+ Related Id(s): ERL-563
+
+ *** HIGHLIGHT ***
+
+ When compiling modules with huge functions, the
+ compiler would generate a lot of atoms for its
+ internal, sometimes so many that the atom table would
+ overflow. The compiler has been rewritten to generate
+ far less internal atoms to avoid filling the atom
+ table.
+
+
+ OTP-15003 Application(s): compiler, stdlib
+
+ External funs with literal values for module, name, and
+ arity (e.g. erlang:abs/1) are now treated as literals.
+ That means more efficient code that produces less
+ garbage on the heap.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784, PR-1802
+
+ *** HIGHLIGHT ***
+
+ Two new guards BIFs operating on maps have been added:
+ map_get/2 and is_map_key/2. They do the same as
+ maps:get/2 and maps:is_key/2, respectively, except that
+ they are allowed to be used in guards.
+
+
+ OTP-15044 Application(s): compiler
+ Related Id(s): ERL-614
+
+ A call or apply of a literal external fun will be
+ replaced with a direct call.
+
+
+ OTP-15087 Application(s): compiler
+ Related Id(s): PR-1810
+
+ *** HIGHLIGHT ***
+
+ Part of EEP-44 has been implemented.
+
+ There is a new predefined macro called OTP_RELEASE
+ which is an integer indicating the OTP release number
+ (its value is 21 in this release).
+
+ There are new preprocessor directives -if(Condition).
+ and -elif(Condition).. The if/elif supports the builtin
+ function defined(Symbol).
+
+
+ Full runtime dependencies of compiler-7.2: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14956 Application(s): crypto
+ Related Id(s): ERL-579
+
+ Removed two undocumented and erroneous functions
+ (crypto:dh_generate_parameters/2 and
+ crypto:dh_check/1).
+
+
+ OTP-15088 Application(s): crypto
+
+ Fixed bug causing VM crash if doing runtime upgrade of
+ a crypto module built against OpenSSL older than
+ 0.9.8h. Bug exists since OTP-20.2.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13370 Application(s): crypto
+ Related Id(s): PR-1573
+
+ A new rand plugin algorithm has been implemented in
+ crypto, that is: crypto_cache. It uses strong random
+ bytes as randomness source and caches them to get good
+ speed. See crypto:rand_seed_alg/1.
+
+
+ OTP-14864 Application(s): crypto
+
+ Diffie-Hellman key functions are re-written with the
+ EVP_PKEY api.
+
+
+ Full runtime dependencies of crypto-4.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-4.2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14957 Application(s): debugger
+ Related Id(s): PR-1741
+
+ Fix a bug where calling a fun inside a binary would
+ crash the Debugger.
+
+
+ Full runtime dependencies of debugger-4.2.5: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-3.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14493 Application(s): dialyzer
+ Related Id(s): PR-1434
+
+ Dialyzer can no longer read BEAM files created with OTP
+ 19 or earlier.
+
+
+ OTP-14937 Application(s): dialyzer
+ Related Id(s): PR-1719
+
+ Speed up the computation of MD5 sums.
+
+
+ OTP-14970 Application(s): dialyzer
+ Related Id(s): PR-1722
+
+ Fix a situation where Dialyzer unnecessarily discarded
+ contract information, resulting in missed warnings.
+
+
+ OTP-14982 Application(s): dialyzer
+ Related Id(s): OTP-14970, PR-1722
+
+ The (not recommended) option -Woverspecs is somewhat
+ refined, and generates warnings in a few more cases.
+
+
+ OTP-15079 Application(s): dialyzer
+ Related Id(s): ERL-593
+
+ Do not emit warnings for fun expressions residing in
+ code that cannot be run. This is consistent with how
+ Dialyzer treats other code that cannot be run.
+
+
+ Full runtime dependencies of dialyzer-3.3: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15045 Application(s): diameter
+
+ Fix documentation typos.
+
+
+ Full runtime dependencies of diameter-2.1.5: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- edoc-0.9.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15117 Application(s): edoc
+
+ Types and function specifications including the map()
+ type are pretty-printed correctly.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of edoc-0.9.3: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-2.5, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of eldap-1.2.4: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-0.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14979 Application(s): erl_docgen, otp
+
+ Add a hoverable element to the titles in the html
+ documentation with a link to github where the
+ documentation can be edited.
+
+ Make the anchors in the html User's Guide and system
+ documentation use the title of the sections instead of
+ a generated id.
+
+
+ Full runtime dependencies of erl_docgen-0.8: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.10.3 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15033 Application(s): erl_interface
+
+ Fix bug where calling erl_init on certain platforms
+ could result in a buffer overflow bug.
+
+
+ OTP-15105 Application(s): erl_interface
+ Related Id(s): ERL-629
+
+ Fixed erl_call -m to not deallocate module source
+ binary before it has been read.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15114 Application(s): erl_interface
+ Related Id(s): ERL-634, OTP-15072
+
+ The program erl_call calls erl_eval:eval_str/1 when it
+ used to call lib:eval_str/1. This means that erl_call
+ will fail when trying interact with an Erlang node
+ running Erlang/OTP 20 or earlier.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14537 Application(s): erts
+ Related Id(s): PR1529
+
+ Fix error printout from run_erl and a bug that could
+ cause unintended fds to be leaked into the started
+ program.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14652 Application(s): erts
+
+ Fix bugs related to the bookkeeping of microstate
+ accounting states.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14713 Application(s): erts
+ Related Id(s): ERL-500
+
+ Corrected erlang:is_builtin(erlang, M, F) to return
+ true for apply/2 and yield/0.
+
+
+ OTP-14719 Application(s): erts
+
+ Fixed a bug where the PATH environment variable wasn't
+ updated correctly on a release downgrade, effectively
+ keeping the PATH of the new release.
+
+
+ OTP-14782 Application(s): erts
+ Related Id(s): ERL-511
+
+ A receive optimization that avoids scanning the entire
+ message queue when receiving a message containing a
+ freshly created reference could in rare circumstances
+ (involving recursive calls to the functions that does
+ the receive) cause the receive to hang. This has been
+ corrected.
+
+
+ OTP-14909 Application(s): erts
+ Related Id(s): PR-1692
+
+ Fix building of Erlang/OTP on platforms which have
+ small data area with short addressing. For example the
+ PowerPC/RTEMS platform.
+
+
+ OTP-14931 Application(s): erts
+
+ Fixed a crash when enif_make_binary is called with a
+ binary produced by enif_inspect_binary in a different
+ environment.
+
+
+ OTP-14932 Application(s): erts
+
+ Fixed a crash when enif_make_binary is called more than
+ once with a binary that had previously been added to an
+ enif_ioq.
+
+
+ OTP-14943 Application(s): erts
+ Related Id(s): ERL-576
+
+ The erl_child_setup program now ignores SIGTERM
+ signals.
+
+
+ OTP-14977 Application(s): erts
+
+ Force 64-bit alignment on pre-allocators on
+ architectures which needs it.
+
+
+ OTP-14978 Application(s): erts
+
+ Fixed a bug where dirty scheduler picked up non-dirty
+ work.
+
+
+ OTP-15001 Application(s): erts, kernel
+
+ Calls to gen_tcp:send/2 on closed sockets now returns
+ {error, closed} instead of {error,enotconn}.
+
+
+ OTP-15008 Application(s): erts
+
+ erlang:monotonic_time/1 failed with badarg when passing
+ the perf_counter time unit as argument.
+
+
+ OTP-15013 Application(s): erts
+
+ Fix bug where rapid init:restart() calls would
+ sometimes crash because a code load request leaked in
+ between the restarts.
+
+
+ OTP-15015 Application(s): erts
+ Related Id(s): OTP-14890
+
+ Improve float_to_list(F, [{decimals,D}]) to closer
+ conform with io_lib:format("~.*f", [D,F]).
+
+ There are however, still cases when float_to_list does
+ not produce the exact same result as io_lib:format,
+ especially for large values F and/or many decimals D.
+
+
+ OTP-15024 Application(s): erts
+
+ Fixed a deadlock that would occur on certain allocators
+ when a reallocation failed with +ramv enabled.
+
+
+ OTP-15029 Application(s): erts
+
+ Fix bug that made it impossible to use an erl_tracer as
+ the seq_trace trace receiver.
+
+
+ OTP-15032 Application(s): erts
+
+ Fix bug where a large (> 1 GB) emulator generated error
+ logger message would cause the emulator to crash.
+
+
+ OTP-15062 Application(s): erts
+ Related Id(s): ERL-615
+
+ The emulator will no longer crash when reading the file
+ information of an ordinary file that has an NTFS
+ reparse point, such as files stored in a
+ OneDrive-mapped folder.
+
+
+ OTP-15080 Application(s): erts
+
+ Fixed bug in enif_binary_to_term which could cause
+ memory corruption for immediate terms (atoms, small
+ integers, pids, ports, empty lists).
+
+
+ OTP-15085 Application(s): erts
+
+ Fixed bug in erlang:system_profile/2 that could cause
+ superfluous {profile,_,active,_,_} messages for
+ terminating processes.
+
+
+ OTP-15090 Application(s): erts
+
+ On OSs with per thread CPU time support, change
+ cpu_timestamp in erlang:trace/3 to use it instead of
+ per process CPU time. This makes this option useable on
+ such OSs when running multiple schedulers.
+
+
+ OTP-15108 Application(s): erts
+ Related Id(s): ERL-621
+
+ Fix segfault in abort_signal_task which could happen if
+ a port terminated while there were outstanding port
+ tasks that were not signals, for example a
+ ready_input/ready_output event.
+
+
+ OTP-15109 Application(s): erts
+
+ Fixed bug in ets that could cause VM crash if process A
+ terminates after fixating a table and process B deletes
+ the table at "the same time". The table fixation could
+ be done with ets:safe_fixtable or if process A
+ terminates in the middle of a long running select or
+ match call.
+
+
+ OTP-15118 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Owner and group changes through file:write_file_info,
+ file:change_owner, and file:change_group will no longer
+ report success on permission errors.
+
+
+ OTP-15119 Application(s): erts
+ Related Id(s): PR-1826
+
+ Fix a bug error reporting from escripts on windows
+ where the error message would get garbled.
+
+
+ OTP-15125 Application(s): erts
+
+ Fix segfault when a process is interally re-scheduled
+ while being traced for in out events. This bug was
+ introduced in erts-8.0 (OTP-19.0).
+
+
+ --- Improvements and New Features ---
+
+ OTP-11462 Application(s): erts
+
+ It is now possible to open device files and FIFOs with
+ file:open/2.
+
+
+ OTP-11694 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:system_flag(scheduler_wall_time,Bool) call
+ is now reference counted and will be turned off if the
+ (last) process that started the performance statistics
+ dies. Thus it is no longer possible to start the
+ statistics with rpc:call(Node, erlang, system_flag,
+ [scheduler_wall_time, true]) since it will be turned
+ off directly afterwards when the rpc process dies.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled by setting the primary log level to info, for
+ example with the Kernel configuration parameter
+ logger_level.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+ Since Logger is new in Erlang/OTP 21.0, we do reserve
+ the right to introduce changes to the Logger API and
+ functionality in patches following this release. These
+ changes might or might not be backwards compatible with
+ the initial version.
+
+
+ OTP-13760 Application(s): erts
+ Related Id(s): PR-1592
+
+ gen_sctp:connect_init/4 or rather connect in inet_drv.c
+ for SCTP has been fixed to not check the write file
+ descriptor for writeability after a connect, since for
+ SCTP (SOCK_SEQPACKET) that property does not seem to be
+ any kind of indicator for when a connect has finished.
+ This fixes connects that the OS returned as "in
+ progress" that was misinterpreted by
+ gen_sctp:connect_init as failed.
+
+
+ OTP-14256 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The file driver has been rewritten as a NIF, decreasing
+ the latency of file operations. Notable
+ incompatibilities are:
+
+ -- The use_threads option for file:sendfile/5 no longer
+ has any effect; we either use non-blocking sendfile(2)
+ or fall back to file:read + gen_tcp:send.
+
+ -- The file-specific DTrace probes have been removed.
+ The same effect can be achieved with normal tracing
+ together with the nif__entry/nif__return probes to
+ track scheduling.
+
+
+ OTP-14346 Application(s): erts
+
+ The I/O polling functionality of erts has been
+ re-written to better make use of the OSs polling
+ mechanisms. This change means that erts will now always
+ prefer to use a kernel-polling mechanism if possible.
+ Also all of the I/O polling has been moved to dedicated
+ threads instead of being placed in the scheduler loops.
+
+ As a result of this, the erl options +K and +secio have
+ been removed. It is still possible to disable
+ kernel-poll, but it has to be done at compile time
+ through the configure option --disable-kernel-poll.
+
+ The new erl options +IOt and +IOp can be used to change
+ how many IO poll threads and poll sets that erts should
+ use. See their respective documentation for more
+ details.
+
+
+ OTP-14370 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Truly asynchronous auto-connect. Earlier, when
+ erlang:send was aimed toward an unconnected node, the
+ function would not return until the connection setup
+ had completed (or failed). Now the function returns
+ directly after the message has been enqueued and the
+ connection setup started.
+
+ The same applies to all distributed operations that may
+ trigger auto-connect, i.e. '!', send, link, monitor,
+ monitor_node, exit/2 and group_leader.
+
+ The interface for all these functions are unchanged as
+ they do not return connection failures. The only
+ exception is erlang:monitor where a *possible
+ incompatibility* is introduced: An attempt to monitor a
+ process on a primitive node (such as erl_interface or
+ jinterface), where remote process monitoring is not
+ implemented, will no longer fail with badarg exception.
+ Instead a monitor will be created, but it will only
+ supervise the connection to the node.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14492 Application(s): erts
+
+ Add support for the lcc compiler and in extension the
+ Elbrus 2000 platform.
+
+
+ OTP-14497 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for "tuple calls" have been removed from the
+ run-time system. Tuple calls was an undocumented and
+ unsupported feature which allowed the module argument
+ for an apply operation to be a tuple: Var = dict:new(),
+ Var:size(). This "feature" frequently caused confusion,
+ especially when such call failed. The stacktrace would
+ point out functions that don't exist in the source
+ code.
+
+ For legacy code that need to use parameterized modules
+ or tuple calls for some other reason, there is a new
+ compiler option called tuple_calls. When this option is
+ given, the compiler will generate extra code that
+ emulates the old behavior for calls where the module is
+ a variable.
+
+
+ OTP-14502 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Creation of small maps with literal keys has been
+ optimized to be faster and potentially use less memory.
+ The keys are combined into a literal key tuple which is
+ put into the literal pool. The key tuple can be shared
+ between many instances of maps having the same keys.
+
+
+ OTP-14508 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When an exception is thrown, include the arguments of
+ the call in the stacktrace for BIFs band, bor, bsl,
+ bsr, bxor, div, rem and the operators +, -, * and /.
+
+
+ OTP-14518 Application(s): erts, otp
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-smp emulators have been removed. This means
+ that the configure options --disable-threads and
+ --enable-plain-emulator have been removed and configure
+ will now refuse to build Erlang/OTP on platforms
+ without thread support.
+
+ In order to achieve a similar setup as the non-smp
+ emulator, it is possible to start Erlang/OTP with the
+ +S 1 option.
+
+
+ OTP-14575 Application(s): erts
+
+ Modules that use floating point constants compiled with
+ R15 or earlier will need to be re-compiled before they
+ can be loaded.
+
+
+ OTP-14589 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Implementation of true asynchronous signaling between
+ processes in order to improve scalability. Signals
+ affected include exit, monitor, demonitor, monitor
+ triggered, link, unlink, and group leader.
+
+
+ OTP-14604 Application(s): erts
+
+ Added a PGO (profile guided optimization) pass to the
+ build step of erts. This can be disabled by passing
+ --disable-pgo to configure.
+
+
+ OTP-14610 Application(s): erts
+ Related Id(s): PR-1480
+
+ Improved the performance of binary:split and
+ binary:match.
+
+
+ OTP-14613 Application(s): erts
+
+ It is not longer possible to disable dirty schedulers
+ when building erlang.
+
+
+ OTP-14626 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ Loaded BEAM code in a 64-bit system requires less
+ memory because of better packing of operands for
+ instructions.
+
+ These memory savings were achieved by major
+ improvements to the beam_makeops scripts used when
+ building the run time system and BEAM compiler. There
+ is also new for documentation for beam_makeops that
+ describes how new BEAM instructions and loader
+ transformations can be implemented. The documentation
+ is found in here in a source directory or git
+ repository: erts/emulator/internal_doc/beam_makeops.md.
+ An online version can be found here:
+ https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/beam_makeops.md
+
+
+ OTP-14637 Application(s): erts
+ Related Id(s): ERL-327, PR-1524
+
+ file:read_file has been changed to read the content of
+ files that report a size of 0 even when data can be
+ read from them. An example of such a file is
+ /proc/cpuinfo on Linux.
+
+
+ OTP-14651 Application(s): erts
+
+ It is no longer possible to disable the temp_alloc
+ allocator. Disabling it caused serious performance
+ degradations and was never what was wanted.
+
+
+ OTP-14667 Application(s): erts
+
+ The reduction cost of sending messages is now constant.
+ It will no longer scale according to the length of the
+ receiving process' message queue.
+
+
+ OTP-14680 Application(s): erts
+
+ Improved loading of modules with -on_load directive, to
+ no longer block all schedulers when the load operation
+ is completed.
+
+
+ OTP-14682 Application(s): erts
+
+ On platforms with real-time signals available,
+ SIGRTMIN+1 is now used as the internal scheduler
+ suspend signal instead of SIGUSR2.
+
+
+ OTP-14683 Application(s): compiler, erts
+
+ When the value returned from a 'catch' expression is
+ ignored, no stacktrace will be built if an exception is
+ caught. That will save time and produce less garbage.
+ There are also some minor optimizations of 'try/catch'
+ both in the compiler and run-time system.
+
+
+ OTP-14687 Application(s): erts
+
+ The guarantees and non-guarantees of
+ erlang:get_stacktrace/0 are now documented.
+
+
+ OTP-14692 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ There is a new syntax in 'try/catch' for retrieving the
+ stacktrace without calling 'erlang:get_stacktrace/0'.
+ See the reference manual for a description of the new
+ syntax. The 'erlang:get_stacktrace/0' BIF is now
+ deprecated.
+
+
+ OTP-14780 Application(s): erts
+
+ New 'used' option for binary_to_term/2 that will also
+ return number of bytes actually read from the binary.
+ This enables easy access to any extra data in the
+ binary located directly after the returned term.
+
+
+ OTP-14795 Application(s): erts
+ Related Id(s): ERL-88
+
+ Added more statistics for
+ erlang:system_info({allocator,A}) in the mbcs_pool
+ section.
+
+
+ OTP-14797 Application(s): erts
+
+ Added enif_ioq_peek_head to retrieve Erlang terms from
+ NIF IO queues without having to resort to copying.
+
+
+ OTP-14830 Application(s): compiler, erts
+
+ There is a new option 'makedep_side_effect' for the
+ compiler and -MMD for 'erlc' that generates
+ dependencies and continues to compile as normal.
+
+
+ OTP-14884 Application(s): erts, stdlib
+
+ Added ets:whereis/1 for retrieving the table identifier
+ of a named table.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14901 Application(s): erts
+
+ Optimized the common case of monitor followed by send
+ to the same local process. The monitor signal is now
+ delayed in order to be piggybacked with the sent
+ message and thereby only get one lock operation on the
+ message queue of the receiver. A delayed monitor signal
+ is flushed if no send has been done at the latest when
+ the process is scheduled out.
+
+
+ OTP-14903 Application(s): erts, hipe
+
+ Make hipe compiled code work on x86_64 (amd64) with OS
+ security feature PIE, where executable code can be
+ loaded into a random location. Old behavior, if hipe
+ was enabled, was to disable PIE build options for the
+ VM.
+
+
+ OTP-14928 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The number of driver async threads will now default to
+ 1 as the standard drivers do not use them anymore.
+ Users that changed this value to tweak the file driver
+ should replace +A with +SDio since it now uses dirty IO
+ schedulers instead of async threads.
+
+
+ OTP-14934 Application(s): erts
+ Related Id(s): PR-1708
+
+ Optimize == and /= for binaries with different sizes to
+ be constant in time instead of proportional to the size
+ of their common prefix.
+
+
+ OTP-14948 Application(s): erts
+
+ Refactorings making some internal process flags
+ available for other usage.
+
+
+ OTP-14951 Application(s): erts
+
+ Removed need for HiPE to allocate native executable
+ memory in low 2GB address space on x86_64. Command line
+ option +MXscs is thereby obsolete and ignored.
+
+
+ OTP-14954 Application(s): erts
+
+ Added enif_make_map_from_arrays for creating a
+ populated map, analogous to enif_make_list_from_array.
+
+
+ OTP-14959 Application(s): erts
+
+ Added configuration switches for busy-wait and wake up
+ thresholds for dirty schedulers, and changing these
+ settings for normal schedulers will no longer affect
+ dirty schedulers.
+
+ Refer to the documentation for details. The new
+ switches are +sbwtdcpu, +sbwtdio, +swtdcpu, and
+ +swtdio.
+
+ The default busy wait threshold for dirty scheduler
+ threads has also been lowered to short.
+
+
+ OTP-14960 Application(s): erts
+
+ The list of "taints" now also includes dynamic loaded
+ drivers in addition to NIF libraries. Statically linked
+ drivers and NIF libraries that are part of erts are not
+ included. The "taints" are returned by
+ system_info(taints) and printed in the header of
+ erl_crash.dump files.
+
+
+ OTP-14961 Application(s): erts, tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ OTP-14964 Application(s): erts
+ Related Id(s): OTP-14589
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The process suspend functionality used by the
+ erlang:suspend_process/2 BIF has been reimplemented
+ using the newly introduced true asynchronous signaling
+ between processes. This mainly to reduce memory usage
+ in the process control block of all processes, but also
+ in order to simplify the implementation.
+
+ WARNING: You can easily create deadlocks if processes
+ suspends each other (directly or in circles). In ERTS
+ versions prior to ERTS version 10.0, the runtime system
+ prevented such deadlocks, but this prevention has now
+ been removed due to performance reasons.
+
+ Other ERTS internal functionality that used the
+ previous process suspend functionality have also been
+ reimplemented to use asynchronous signaling instead.
+
+
+ OTP-14965 Application(s): erts
+
+ Added the nifs option to ?MODULE:module_info/1 for
+ listing a module's installed NIF functions.
+
+
+ OTP-14966 Application(s): erts
+
+ New implementation of erlang:process_info/[1,2].
+
+ In the general case when inspecting another process,
+ the new implementation sends an asynchronous
+ process-info request signal to the other process and
+ waits for the result instead of locking the other
+ process and reading the result directly. In some
+ special cases where no conflicts occur, signal order
+ wont be violated, and the amount of data requested is
+ guaranteed to be small, the inspected process may be
+ inspected directly.
+
+ Appropriate amount of reductions are now also bumped
+ when inspecting a process.
+
+
+ OTP-14975 Application(s): erts
+ Related Id(s): PR-1597
+
+ Removed process start time from crash dump in order to
+ save memory in process control block.
+
+
+ OTP-14976 Application(s): erts
+
+ Optimize erlang:put/2 when updating existing key with a
+ new immediate value (atom, small integer, pid, port).
+
+
+ OTP-14986 Application(s): erts
+ Related Id(s): PR-1745
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ erlang:process_info/1 has been changed to no longer
+ include messages by default. Instead
+ erlang:process_info/2 should be used.
+
+
+ OTP-14987 Application(s): erts
+
+ New erlang:system_info(ets_count) to get total number
+ of ets tables existing at the local node.
+
+
+ OTP-14994 Application(s): erts
+
+ New NIF functions: enif_mutex_name, enif_cond_name,
+ enif_rwlock_name, enif_thread_name, enif_vfprintf,
+ enif_vsnprintf.
+
+
+ OTP-15026 Application(s): erts
+
+ When erlang:system_flag(backtrace_depth, 0) has been
+ called, all exceptions will now contain the entry for
+ *one* function (despite the zero). It used to be that a
+ hand-made stack backtrace passed to erlang:raise/3
+ would be be truncated to an empty list.
+
+
+ OTP-15031 Application(s): erts
+
+ Fixed bug for named ets tables which could cause
+ unexpected results from matchspec iteration functions
+ (ets:select* and ets:match*) if the table was deleted
+ and recreated with the same name during the iteration.
+ The iteration could incorrectly continue through the
+ recreated table. The expected correct behavior is now
+ for the iteration call to fail with a badarg exception
+ if the table is deleted before the iteration has
+ completed.
+
+
+ OTP-15037 Application(s): compiler, erts
+ Related Id(s): PR-1784, PR-1802
+
+ *** HIGHLIGHT ***
+
+ Two new guards BIFs operating on maps have been added:
+ map_get/2 and is_map_key/2. They do the same as
+ maps:get/2 and maps:is_key/2, respectively, except that
+ they are allowed to be used in guards.
+
+
+ OTP-15081 Application(s): erts
+
+ Release run-queue lock while cleaning up terminated
+ dirty process.
+
+
+ OTP-15086 Application(s): erts, kernel
+ Related Id(s): PR-1694
+
+ The callback module passed as -epmd_module to erl has
+ been expanded to be able to do name and port resolving.
+
+ Documentation has also been added in the erl_epmd
+ reference manual and ERTS User's Guide How to Implement
+ an Alternative Service Discovery for Erlang
+ Distribution.
+
+
+ Full runtime dependencies of erts-10.0: kernel-6.0, sasl-3.0.1,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of et-1.6.2: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.3.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of eunit-2.3.6: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of ftp-1.0: erts-7.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-3.18 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14785 Application(s): hipe
+ Related Id(s): PR-1632
+
+ Optimize receive statements that are only waiting for
+ messages containing a reference created before the
+ receive. All messages that existed in the queue when
+ the reference was created will be bypassed, as they
+ cannot possibly contain the reference. This
+ optimization has existed for vanilla BEAM since OTP
+ R14.
+
+
+ OTP-14900 Application(s): hipe
+ Related Id(s): PR-1621, PR-1685
+
+ Add validation pass to hipe compiler to detect internal
+ errors causing primop calls that may trigger an unsafe
+ GC at run-time. The pass can be disabled with option
+ no_verify_gcsafe.
+
+
+ OTP-14903 Application(s): erts, hipe
+
+ Make hipe compiled code work on x86_64 (amd64) with OS
+ security feature PIE, where executable code can be
+ loaded into a random location. Old behavior, if hipe
+ was enabled, was to disable PIE build options for the
+ VM.
+
+
+ OTP-14941 Application(s): hipe
+ Related Id(s): PR-1718
+
+ Inline more type test BIFs; is_number, is_bitstring,
+ is_map.
+
+
+ Full runtime dependencies of hipe-3.18: compiler-5.0, erts-9.3,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14726 Application(s): inets
+
+ Fixed HTTP content injection bug in httpc (ERL-456).
+
+
+ OTP-14729 Application(s): inets
+
+ Fixed support for URI-references in HTTP 'Location'
+ header (ERL-333).
+
+
+ OTP-15006 Application(s): inets
+
+ Fix broken 'Content-Type' handling in httpc (ERL-536).
+
+
+ OTP-15021 Application(s): inets
+
+ Fix handling of relative paths in the script_alias
+ property of httpd (ERL-574).
+
+
+ OTP-15025 Application(s): inets
+
+ Fix httpd:reload_config/2 with path() as the first
+ argument (ERL-578).
+
+
+ OTP-15042 Application(s): inets
+
+ Improved gracefulness.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of inets-7.0: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.9 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14844 Application(s): jinterface
+
+ Add module package name for Java 9
+
+
+ ---------------------------------------------------------------------
+ --- kernel-6.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-10551 Application(s): kernel
+
+ Clarify the documentation of rpc:multicall/5.
+
+
+ OTP-13133 Application(s): kernel
+ Related Id(s): PR-1557
+
+ The DNS resolver when getting econnrefused from a
+ server retained an invalid socket so look up towards
+ the next server(s) also failed.
+
+
+ OTP-13761 Application(s): kernel
+ Related Id(s): ERL-503
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ No resolver backend returns V4Mapped IPv6 addresses any
+ more. This was inconsistent before, some did, some did
+ not. To facilitate working with such addresses a new
+ function inet:ipv4_mapped_ipv6_address/1 has been
+ added.
+
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14501 Application(s): kernel
+
+ Fix name resolving in IPv6 only environments when doing
+ the initial distributed connection.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14666 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ os:putenv and os:getenv no longer access the process
+ environment directly and instead work on a thread-safe
+ emulation. The only observable difference is that it's
+ *not* kept in sync with libc getenv(3) / putenv(3), so
+ those who relied on that behavior in drivers or NIFs
+ will need to add manual synchronization.
+
+ On Windows this means that you can no longer resolve
+ DLL dependencies by modifying the PATH just before
+ loading the driver/NIF. To make this less of a problem,
+ the emulator now adds the target DLL's folder to the
+ DLL search path.
+
+
+ OTP-14681 Application(s): kernel
+
+ Fixed connection tick toward primitive hidden nodes
+ (erl_interface) that could cause faulty tick timeout in
+ rare cases when payload data is sent to hidden node but
+ not received.
+
+
+ OTP-14991 Application(s): kernel
+ Related Id(s): PR1705
+
+ Make group react immediately on an EXIT-signal from
+ shell in e.g ssh.
+
+
+ OTP-15001 Application(s): erts, kernel
+
+ Calls to gen_tcp:send/2 on closed sockets now returns
+ {error, closed} instead of {error,enotconn}.
+
+
+ OTP-15071 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The included_applications key are no longer duplicated
+ as application environment variable. Earlier, the
+ included applications could be read both with
+ application:get[_all]_env(...) and
+ application:get[_all]_key(...) functions. Now, it can
+ only be read with application:get[_all]_key(...).
+
+
+ OTP-15118 Application(s): erts, kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Owner and group changes through file:write_file_info,
+ file:change_owner, and file:change_group will no longer
+ report success on permission errors.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled by setting the primary log level to info, for
+ example with the Kernel configuration parameter
+ logger_level.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+ Since Logger is new in Erlang/OTP 21.0, we do reserve
+ the right to introduce changes to the Logger API and
+ functionality in patches following this release. These
+ changes might or might not be backwards compatible with
+ the initial version.
+
+
+ OTP-13713 Application(s): kernel
+ Related Id(s): PR-1645
+
+ The function inet:i/0 has been documented.
+
+
+ OTP-14359 Application(s): kernel
+ Related Id(s): PR-1816
+
+ Typespecs for netns and bind_to_device options have
+ been added to gen_tcp, gen_udp and gen_sctp functions.
+
+
+ OTP-14459 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ New functionality for implementation of alternative
+ carriers for the Erlang distribution has been
+ introduced. This mainly consists of support for usage
+ of distribution controller processes (previously only
+ ports could be used as distribution controllers). For
+ more information see ERTS User's Guide ➜ How to
+ implement an Alternative Carrier for the Erlang
+ Distribution ➜ Distribution Module.
+
+
+ OTP-14899 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ seq_trace labels may now be any erlang term.
+
+
+ OTP-14969 Application(s): kernel, ssl
+ Related Id(s): ERL-598, OTP-14465
+
+ The SSL distribution protocol -proto inet_tls has
+ stopped setting the SSL option server_name_indication.
+ New verify funs for client and server in inet_tls_dist
+ has been added, not documented yet, that checks node
+ name if present in peer certificate. Usage is still
+ also yet to be documented.
+
+
+ OTP-15009 Application(s): kernel
+ Related Id(s): ERL-601
+
+ Changed timeout of gen_server calls to auth server from
+ default 5 seconds to infinity.
+
+
+ OTP-15086 Application(s): erts, kernel
+ Related Id(s): PR-1694
+
+ The callback module passed as -epmd_module to erl has
+ been expanded to be able to do name and port resolving.
+
+ Documentation has also been added in the erl_epmd
+ reference manual and ERTS User's Guide How to Implement
+ an Alternative Service Discovery for Erlang
+ Distribution.
+
+
+ OTP-15137 Application(s): kernel
+ Related Id(s): PR-1838
+
+ Included config file specified with relative path in
+ sys.config are now first searched for relative to the
+ directory of sys.config itself. If not found, it is
+ also searched for relative to the current working
+ directory. The latter is for backwards compatibility.
+
+
+ Full runtime dependencies of kernel-6.0: erts-10.0, sasl-3.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.15.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of mnesia-4.15.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.8 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14993 Application(s): observer
+ Related Id(s): PR-1666
+
+ Added possibility to garbage collect selected processes
+ and fixed a crash when the saved config file contained
+ bad data.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ Full runtime dependencies of observer-2.8: erts-7.0, et-1.5,
+ kernel-3.0, runtime_tools-1.8.14, stdlib-3.5, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.4.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14513 Application(s): os_mon
+
+ Fix disksup to handle mount paths with spaces in them.
+
+
+ Full runtime dependencies of os_mon-2.4.5: erts-6.0, kernel-3.0,
+ mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- otp_mibs-1.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15141 Application(s): otp_mibs
+
+ The otp_mibs application has been deprecated and will
+ be removed in a future release.
+
+
+ Full runtime dependencies of otp_mibs-1.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, snmp-4.25.1, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.1.7 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of parsetools-2.1.7: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14788 Application(s): public_key
+ Related Id(s): OTP-14624
+
+ Update calls to the base64 module to conform to that
+ module's type specifications.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ OTP-14962 Application(s): public_key
+ Related Id(s): ERL-542, OTP-15102
+
+ A new function -
+ public_key:pkix_verify_hostname_match_fun/1 - returns a
+ fun to be given as option match_fun to
+ public_key:pkix_verify_hostname/3 or via ssl.
+
+ The fun makes the verify hostname matching according to
+ the specific rules for the protocol in the argument.
+ Presently only https is supported.
+
+
+ OTP-15093 Application(s): public_key
+
+ Compleate PKCS-8 encoding support and enhance the
+ decoding of 'PrivateKeyInfo' to conform to the rest of
+ Erlang public_key API.
+
+
+ OTP-15113 Application(s): public_key, ssh
+
+ A new moduli file is generated. This file is used for
+ the recommended diffie-hellman-group-exchange-sha256
+ key exchange algorithm in SSH.
+
+
+ Full runtime dependencies of public_key-1.6: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.7.6 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14861 Application(s): et, eunit, mnesia, parsetools, reltool
+
+ Calls to erlang:get_stacktrace() are removed.
+
+
+ Full runtime dependencies of reltool-0.7.6: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.13 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14904 Application(s): runtime_tools
+
+ New utility module scheduler which makes it easier to
+ measure scheduler utilization.
+
+
+ Full runtime dependencies of runtime_tools-1.13: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- sasl-3.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled by setting the primary log level to info, for
+ example with the Kernel configuration parameter
+ logger_level.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+ Since Logger is new in Erlang/OTP 21.0, we do reserve
+ the right to introduce changes to the Logger API and
+ functionality in patches following this release. These
+ changes might or might not be backwards compatible with
+ the initial version.
+
+
+ OTP-14469 Application(s): sasl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The old and outdated "Status Inspection" tool (modules
+ si and si_sasl_sup) is removed.
+
+
+ OTP-14950 Application(s): sasl
+ Related Id(s): PR-1560
+
+ When creating the release tar file, systools now
+ includes sys.config.src if it exists in the
+ $ROOT/releases/<vsn>/ directory. This is to allow
+ adjustments, e.g. resolving environment variables,
+ after unpacking the release, but before installing it.
+ This functionality requires a custom tool which uses
+ sys.config.src as input and creates a correct
+ sys.config file.
+
+
+ Full runtime dependencies of sasl-3.2: erts-9.0, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.7 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14955 Application(s): ssh
+
+ If the daemon port listener is restarted, it could
+ potentially fail with eaddrinuse if the timing is
+ unlucky. It will now retry and exponentially back off
+ the listener restart a few times before failing.
+
+
+ OTP-15084 Application(s): ssh
+
+ A channel callback module always got the module name as
+ reason in a call to terminate. Now it will get the
+ proper Reason, usually 'normal'.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14851 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The option exec has new option values defined to make
+ it much more easy to implement an own exec server.
+
+ An option called exec for daemons implementing the
+ handling of 'exec' requests has existed a long time but
+ has been undocumented. The old undocumented value - as
+ well as its behavior - is kept for compatibility EXCEPT
+ that error messages are changed and are sent as
+ "stderror" text.
+
+
+ OTP-14880 Application(s): ssh
+
+ Updated ssh_connection:shell/2 documentation.
+
+
+ OTP-14896 Application(s): ssh
+
+ The experimental ssh_dbg module is completely
+ re-written. Its purpose is to make tracing and
+ debugging easier on deployed systems.
+
+
+ OTP-14988 Application(s): ssh
+
+ The SSH supervisor structure has been slightly changed.
+ This makes stopping the ssh application considerably
+ faster if there are open connections. This is important
+ in for example restarts.
+
+
+ OTP-15002 Application(s): ssh
+ Related Id(s): OTP-15030
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The type specifications in SSH are completly reworked
+ and the following types are renamed:
+
+ ssh:ssh_connection_ref() is changed to
+ ssh:connection_ref(),
+
+ ssh:ssh_daemon_ref() is changed to ssh:daemon_ref(),
+
+ ssh:ssh_channel_id() is changed to ssh:channel_id().
+
+
+ OTP-15019 Application(s): ssh
+
+ The internal timer handling in SSH is now based on the
+ gen_statem timers.
+
+
+ OTP-15028 Application(s): ssh
+
+ Removed the undocumented and unused modules
+ ssh_client_key.erl and ssh_server_key.erl.
+
+
+ OTP-15030 Application(s): ssh
+ Related Id(s): OTP-15002
+
+ The Reference Manual pages are partly updated.
+
+ The ssh page is now generated from specs and types, is
+ restructured and is partly rephrased.
+
+ The ssh_channel, ssh_connection, ssh_client_key_api,
+ ssh_server_key_api and ssh_sftp pages are updated with
+ links, correct type names and some minor changes.
+
+
+ OTP-15041 Application(s): ssh
+
+ The behaviors ssh_channel and ssh_daemon_channel are
+ renamed to ssh_client_channel and ssh_server_channel
+ respectively.
+
+ The old modules are kept for compatibility but should
+ preferably be replaced when updating callback modules
+ referring them.
+
+
+ OTP-15051 Application(s): ssh
+
+ New test suite for channels.
+
+
+ OTP-15069 Application(s): ssh
+ Related Id(s): ERL-617
+
+ The rekey_limit option could now set the max time as
+ well as the previously max data amount.
+
+
+ OTP-15082 Application(s): ssh
+
+ Changed process exit supervision from links to
+ monitors.
+
+
+ OTP-15083 Application(s): ssh
+
+ Better handling of misbehaving channel callback
+ modules.
+
+
+ OTP-15113 Application(s): public_key, ssh
+
+ A new moduli file is generated. This file is used for
+ the recommended diffie-hellman-group-exchange-sha256
+ key exchange algorithm in SSH.
+
+
+ Full runtime dependencies of ssh-4.7: crypto-4.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- ssl-9.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14974 Application(s): ssl
+
+ Correct handling of ECDH suites.
+
+
+ OTP-15050 Application(s): ssl
+
+ Proper handling of clients that choose to send an empty
+ answer to a certificate request
+
+
+ --- Improvements and New Features ---
+
+ OTP-14465 Application(s): ssl
+
+ Distribution over SSL (inet_tls) has, to improve
+ performance, been rewritten to not use intermediate
+ processes and ports.
+
+
+ OTP-14547 Application(s): ssl
+
+ Add suport for ECDHE_PSK cipher suites
+
+
+ OTP-14768 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ For security reasons no longer support 3-DES cipher
+ suites by default
+
+
+ OTP-14769 Application(s): ssl
+
+ *** INCOMPATIBILITY with possible ***
+
+ For security reasons RSA-key exchange cipher suites are
+ no longer supported by default
+
+
+ OTP-14789 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ The interoperability option to fallback to insecure
+ renegotiation now has to be explicitly turned on.
+
+
+ OTP-14824 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Drop support for SSLv2 enabled clients. SSLv2 has been
+ broken for decades and never supported by the Erlang
+ SSL/TLS implementation. This option was by default
+ disabled and enabling it has proved to sometimes break
+ connections not using SSLv2 enabled clients.
+
+
+ OTP-14882 Application(s): ssl
+
+ *** INCOMPATIBILITY with possibly ***
+
+ Remove CHACHA20_POLY1305 ciphers form default for now.
+ We have discovered interoperability problems, ERL-538,
+ that we believe needs to be solved in crypto.
+
+
+ OTP-14888 Application(s): ssl
+
+ Generalize DTLS packet multiplexing to make it easier
+ to add future DTLS features and uses.
+
+
+ OTP-14902 Application(s): common_test, observer, public_key, ssl
+
+ Use uri_string module instead of http_uri.
+
+
+ OTP-14969 Application(s): kernel, ssl
+ Related Id(s): ERL-598, OTP-14465
+
+ The SSL distribution protocol -proto inet_tls has
+ stopped setting the SSL option server_name_indication.
+ New verify funs for client and server in inet_tls_dist
+ has been added, not documented yet, that checks node
+ name if present in peer certificate. Usage is still
+ also yet to be documented.
+
+
+ OTP-15056 Application(s): ssl
+
+ Deprecate ssl:ssl_accept/[1,2,3] in favour of
+ ssl:handshake/[1,2,3]
+
+
+ OTP-15102 Application(s): ssl
+ Related Id(s): ERL-542, OTP-14962
+
+ Customizes the hostname verification of the peer
+ certificate, as different protocols that use TLS such
+ as HTTP or LDAP may want to do it differently
+
+
+ OTP-15106 Application(s): ssl
+
+ Add utility function for converting erlang cipher
+ suites to a string represenation (ERL-600).
+
+
+ OTP-15142 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ First version with support for DTLS
+
+
+ Full runtime dependencies of ssl-9.0: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14015 Application(s): stdlib
+
+ gen_statem improvements.
+
+ When using an exception that is valid but not allowed
+ in a state enter call, the reason has been changed from
+ {bad_action_from_state_function,Action} to
+ {bad_state_enter_action_from_state_function,Action}.
+
+ Timer parsing has been improved. Many erroneous timeout
+ tuples was not handled correctly.
+
+ The documentation has been updated, in particular the
+ User's Guide and the pointer to it from the Reference
+ Manual is much more obvious.
+
+
+ OTP-14019 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-550
+
+ The type specifications for file:posix/0 and
+ inet:posix/0 have been updated according to which
+ errors file and socket operations should be able to
+ return.
+
+
+ OTP-14543 Application(s): erts, kernel, stdlib
+ Related Id(s): ERL-370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ File operations used to accept filenames containing
+ null characters (integer value zero). This caused the
+ name to be truncated and in some cases arguments to
+ primitive operations to be mixed up. Filenames
+ containing null characters inside the filename are now
+ *rejected* and will cause primitive file operations to
+ fail.
+
+ Also environment variable operations used to accept
+ names and values of environment variables containing
+ null characters (integer value zero). This caused
+ operations to silently produce erroneous results.
+ Environment variable names and values containing null
+ characters inside the name or value are now *rejected*
+ and will cause environment variable operations to fail.
+
+ Primitive environment variable operations also used to
+ accept the $= character in environment variable names
+ causing various problems. $= characters in environment
+ variable names are now also *rejected*.
+
+ Also os:cmd/1 now reject null characters inside its
+ command.
+
+ erlang:open_port/2 will also reject null characters
+ inside the port name from now on.
+
+
+ OTP-14958 Application(s): stdlib
+ Related Id(s): PR-1735
+
+ Make io_lib:unscan_format/1 work with pad char and
+ default precision.
+
+
+ OTP-14971 Application(s): stdlib
+ Related Id(s): PR-1743
+
+ The control sequence modifiers t and l can be used
+ together in the same control sequence which makes it
+ possible to have Unicode atoms and no detection of
+ printable character lists at the same time.
+
+
+ OTP-15035 Application(s): stdlib
+ Related Id(s): ERL-613
+
+ Fix a bug in the Erlang code linter: the check of guard
+ expressions no longer returns false if the map syntax
+ is used. The bug affected the Erlang shell, the
+ Debugger, and other modules evaluating abstract code.
+
+
+ OTP-15049 Application(s): stdlib
+
+ A sys debug fun of type {Fun,State} should not be
+ possible to install twice. This was, however, possible
+ if the current State was 'undefined', which was
+ mistaken for non-existing fun. This has been corrected.
+
+
+ OTP-15101 Application(s): stdlib
+
+ Fix io:putchars/2 stacktrace rewriting at errors to
+ point to a valid function.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13019 Application(s): stdlib
+ Related Id(s): PR-1490
+
+ The gen_server has gotten a new callback
+ handle_continue/2 for check pointing the state. This is
+ useful at least when implementing behaviours on top of
+ gen_server and for some start up scenarios.
+
+
+ OTP-13073 Application(s): stdlib
+ Related Id(s): PR-1595
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The semantics of timeout parameter
+ {clean_timeout,infinity} to gen_statem:call/3 has been
+ changed to use a proxy process for the call. With this
+ change clean_timeout implicates a proxy process with no
+ exceptions. This may be a hard to observe
+ incompatibility: in the presence of network problems a
+ late reply could arrive in the caller's message queue
+ when catching errors. That will not happen after this
+ correction.
+
+ The semantics of timeout parameter infinity has not
+ been changed.
+
+
+ OTP-13295 Application(s): erts, kernel, sasl, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A new logging API is added to Erlang/OTP, see the
+ logger(3) manual page, and section Logging in the
+ Kernel User's Guide.
+
+ Calls to error_logger are automatically redirected to
+ the new API, and legacy error logger event handlers can
+ still be used. It is, however, recommended to use the
+ Logger API directly when writing new code.
+
+ Notice the following potential incompatibilities:
+
+ -- Kernel configuration parameters error_logger still
+ works, but is overruled if the default handler's output
+ destination is configured with Kernel configuration
+ parameter logger.
+
+ In general, parameters for configuring error logger are
+ overwritten by new parameters for configuring Logger.
+
+ -- The concept of SASL error logging is deprecated,
+ meaning that by default the SASL application does not
+ affect which log events are logged.
+
+ By default, supervisor reports and crash reports are
+ logged by the default Logger handler started by Kernel,
+ and end up at the same destination (terminal or file)
+ as other standard log event from Erlang/OTP.
+
+ Progress reports are not logged by default, but can be
+ enabled by setting the primary log level to info, for
+ example with the Kernel configuration parameter
+ logger_level.
+
+ To obtain backwards compatibility with the SASL error
+ logging functionality from earlier releases, set Kernel
+ configuration parameter logger_sasl_compatible to true.
+ This prevents the default Logger handler from logging
+ any supervisor-, crash-, or progress reports. Instead,
+ SASL adds a separate Logger handler during application
+ start, which takes care of these log events. The SASL
+ configuration parameters sasl_error_logger and
+ sasl_errlog_type specify the destination (terminal or
+ file) and severity level to log for these events.
+
+ Since Logger is new in Erlang/OTP 21.0, we do reserve
+ the right to introduce changes to the Logger API and
+ functionality in patches following this release. These
+ changes might or might not be backwards compatible with
+ the initial version.
+
+
+ OTP-13413 Application(s): stdlib
+
+ Add functions calendar:system_time_to_local_time/2 and
+ calendar:system_time_to_universal_time/2.
+
+
+ OTP-13764 Application(s): stdlib
+ Related Id(s): PR-1574
+
+ Functions rand:uniform_real/0 and rand:uniform_real_s/1
+ have been added. They produce uniformly distributed
+ numbers in the range 0.0 =< X < 1.0 that are as close
+ to random real numbers as Normalized IEEE 754 Double
+ Precision allows. Because the random real number
+ exactly 0.0 is infinitely improbable they will never
+ return exactly 0.0.
+
+ These properties are useful when you need to call for
+ example math:log(X) or 1 / X on a random value X, since
+ that will never fail with a number from these new
+ functions.
+
+
+ OTP-14012 Application(s): stdlib
+
+ Added maps:iterator/0 and maps:next/1 to be used for
+ iterating over the key-value associations in a map.
+
+
+ OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the default behaviour of .erlang loading:
+ .erlang is no longer loaded from the current directory.
+ c:erlangrc(PathList) can be used to search and load an
+ .erlang file from user specified directories.
+
+ escript, erlc, dialyzer and typer no longer load an
+ .erlang at all.
+
+
+ OTP-14496 Application(s): stdlib
+
+ Added new uri_string module to stdlib for handling URIs
+ (RFC 3986).
+
+
+ OTP-14503 Application(s): stdlib
+
+ Update Unicode specification to version 10.0.
+
+
+ OTP-14577 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ filelib:wildcard() now allows characters with a special
+ meaning to be escaped using backslashes.
+
+ This is an incompatible change, but note that the use
+ of backslashes in wildcards would already work
+ differently on Windows and Unix. Existing calls to
+ filelib:wildcard() needs to be updated. On Windows,
+ directory separators must always be written as a slash.
+
+
+ OTP-14586 Application(s): stdlib
+
+ The supervisor now stores its child specifications in a
+ map instead of a list. This causes a significant
+ improvement when starting many children under a
+ non-simple_one_for_one supervisor.
+
+
+ OTP-14624 Application(s): stdlib
+ Related Id(s): PR-1565
+
+ The base64 module is optimized.
+
+ Note that the functions encode/1, decode/1, and
+ mime_decode/1 fail unless called with an argument of
+ the documented type. They used to accept any iodata().
+
+
+ OTP-14675 Application(s): stdlib
+ Related Id(s): PR-102
+
+ Add function lists:search/2.
+
+
+ OTP-14747 Application(s): stdlib
+
+ uri_string module extended with functions for handling
+ application/x-www-form-urlencoded query strings based
+ on the HTML5 specification.
+
+
+ OTP-14764 Application(s): stdlib
+
+ Add functions calendar:rfc3339_to_system_time/1,2 and
+ calendar:system_time_to_rfc3339/1,2.
+
+
+ OTP-14826 Application(s): stdlib
+ Related Id(s): 1540, PR
+
+ The stack traces returned by the functions of the
+ erl_eval module more accurately reflect where the
+ exception occurred.
+
+
+ OTP-14834 Application(s): stdlib
+ Related Id(s): 1608, PR
+
+ Add options atime, mtime, ctime, uid, and gid to the
+ erl_tar:add/3,4 functions.
+
+
+ OTP-14884 Application(s): erts, stdlib
+
+ Added ets:whereis/1 for retrieving the table identifier
+ of a named table.
+
+
+ OTP-14910 Application(s): stdlib
+
+ Improved URI normalization functions in the uri_string
+ module.
+
+
+ OTP-14983 Application(s): stdlib
+
+ The new functions io_lib:fwrite/3 and io_lib:format/3
+ take a third argument, an option list. The only option
+ is chars_limit, which is used for limiting the number
+ of returned characters. The limit is soft, which means
+ that the number of returned characters exceeds the
+ limit with at most a smallish amount. If the limit is
+ set, the functions format/3 and fwrite/3 try to
+ distribute the number of characters evenly over the
+ control sequences pPswW. Furthermore, the control
+ sequences pPwP try to distribute the number of
+ characters evenly over substructures.
+
+ A modification of the control sequences pPwW is that
+ even if there is no limit on the number of returned
+ characters, all associations of a map are printed to
+ the same depth. The aim is to give a more consistent
+ output as the order of map keys is not defined. As
+ before, if the depth is less than the number of
+ associations of a map, the selection of associations to
+ print is arbitrary.
+
+
+ OTP-14996 Application(s): stdlib
+ Related Id(s): ERL-557, PR-1703
+
+ Add functions ordsets:is_empty/1 and sets:is_empty/1.
+
+
+ OTP-14998 Application(s): stdlib
+
+ Improve performance of string:uppercase/1,
+ string:lowercase/1 and string:casefold/1 when handling
+ ASCII characters.
+
+
+ OTP-15003 Application(s): compiler, stdlib
+
+ External funs with literal values for module, name, and
+ arity (e.g. erlang:abs/1) are now treated as literals.
+ That means more efficient code that produces less
+ garbage on the heap.
+
+
+ OTP-15047 Application(s): stdlib
+
+ sys:statistics(Pid,get) did not report 'out' messages
+ from gen_server. This is now corrected.
+
+
+ OTP-15048 Application(s): stdlib
+
+ A sys debug function can now have the format
+ {Id,Fun,State} in addition to the old {Fun,State}. This
+ allows installing multiple instances of a debug fun.
+
+
+ OTP-15072 Application(s): stdlib
+ Related Id(s): 1786, OTP-15114, PR
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The lib module is removed:
+
+ -- lib:error_message/2 is removed.
+
+ -- lib:flush_receive/0 is removed.
+
+ -- lib:nonl/1 is removed.
+
+ -- lib:progname/0 is replaced by ct:get_progname/0.
+
+ -- lib:send/2 is removed.
+
+ -- lib:sendw/2 is removed.
+
+
+ OTP-15078 Application(s): stdlib
+
+ Function ets:delete_all_objects/1 now yields the
+ scheduler thread for large tables that take significant
+ time to clear. This to improve real time
+ characteristics of other runnable processes.
+
+
+ OTP-15103 Application(s): stdlib
+ Related Id(s): ERL-607
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ In control sequences of the functions io:fwrite/2,3 and
+ io_lib:fwrite/2,3 containing p or P, a field width of
+ value 0 means that no line breaks are inserted. This is
+ in contrast to the old behaviour, where 0 used to
+ insert line breaks after every subterm. To insert line
+ breaks after every subterm, a field width of value 1
+ can be used.
+
+
+ Full runtime dependencies of stdlib-3.5: compiler-5.0, crypto-3.3,
+ erts-10.0, kernel-6.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.1.5 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15098 Application(s): syntax_tools
+ Related Id(s): ERIERL-177
+
+ Fix a bug regarding reverting map types.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15036 Application(s): asn1, edoc, eldap, syntax_tools
+
+ Update to use the new string api instead of the old.
+
+
+ Full runtime dependencies of syntax_tools-2.1.5: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14113 Application(s): inets
+
+ Split inets and create separate ftp and tftp apps.
+
+
+ Full runtime dependencies of tftp-1.0: kernel-6.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14961 Application(s): erts, tools
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added instrument:allocations and instrument:carriers
+ for retrieving information about memory utilization and
+ fragmentation.
+
+ The old instrument interface has been removed, as have
+ the related options +Mim and +Mis.
+
+
+ Full runtime dependencies of tools-3.0: compiler-5.0, erts-9.1,
+ kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.8.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15027 Application(s): wx
+
+ Changed implementation so wx can now be built towards
+ wxWidgets-3.1.1.
+
+
+ Full runtime dependencies of wx-1.8.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.17 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15039 Application(s): xmerl
+
+ Fix typos in documentation.
+
+
+ Full runtime dependencies of xmerl-1.3.17: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+