Skip to content

Releases: garazdawi/otp

OTP 22.3.4

11 Sep 07:37
Compare
Choose a tag to compare
Git Tag:                 OTP-22.3.4
Date:                    2020-05-08
Trouble Report Id:       OTP-16636, OTP-16640, OTP-16641, OTP-16642
Seq num:                 ERIERL-145
System:                  OTP
Release:                 22
Application:             asn1-5.0.12, erts-10.7.2
Predecessor:             OTP 22.3.3

 Check out the git tag OTP-22.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.

 ---------------------------------------------------------------------
 --- asn1-5.0.12 -----------------------------------------------------
 ---------------------------------------------------------------------

 The asn1-5.0.12 application can be applied independently of other
 applications on a full OTP 22 installation.

 --- Improvements and New Features ---

  OTP-16636    Application(s): asn1
               Related Id(s): ERIERL-145

               Dialyzer warnings of type no_match are now suppressed
               in the generated files.


 Full runtime dependencies of asn1-5.0.12: erts-7.0, kernel-3.0,
 stdlib-2.0


 ---------------------------------------------------------------------
 --- erts-10.7.2 -----------------------------------------------------
 ---------------------------------------------------------------------

 Note! The erts-10.7.2 application *cannot* be applied independently
       of other applications on an arbitrary OTP 22 installation.

       On a full OTP 22 installation, also the following runtime
       dependency has to be satisfied:
       -- kernel-6.5.1 (first satisfied in OTP 22.2)


 --- Fixed Bugs and Malfunctions ---

  OTP-16640    Application(s): erts
               Related Id(s): OTP-16193

               A literal area could prematurely be released before all
               uses of it had been removed. This occurred either when
               a terminating process had a complex exit reason
               referring to a literal that concurrently was removed,
               or when a terminating process continued executing a
               dirty NIF accessing a literal (via the heap) that
               concurrently was removed.


  OTP-16641    Application(s): erts

               The VM could potentially crash when checking process
               code of a process that terminated while executing a
               dirty NIF. The checking of process code is part of a
               code purge operation.


  OTP-16642    Application(s): erts

               System tasks of low priority were not interleaved with
               normal priority system tasks as they should. This could
               potentially delay garbage collection of another process
               longer than intended if the garbage collection was
               requested from a low priority process.


 Full runtime dependencies of erts-10.7.2: kernel-6.5.1, sasl-3.3,
 stdlib-3.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------```

OTP 22.3.3

11 Sep 07:37
Compare
Choose a tag to compare
Git Tag:                 OTP-22.3.3
Date:                    2020-04-27
Trouble Report Id:       OTP-16462, OTP-16619
Seq num:                 ERIERL-464, ERL-1213
System:                  OTP
Release:                 22
Application:             ssh-4.9.1, ssl-9.6.2
Predecessor:             OTP 22.3.2

 Check out the git tag OTP-22.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.

 ---------------------------------------------------------------------
 --- ssh-4.9.1 -------------------------------------------------------
 ---------------------------------------------------------------------

 Note! The ssh-4.9.1 application *cannot* be applied independently of
       other applications on an arbitrary OTP 22 installation.

       On a full OTP 22 installation, also the following runtime
       dependency has to be satisfied:
       -- crypto-4.6.4 (first satisfied in OTP 22.2.2)


 --- Fixed Bugs and Malfunctions ---

  OTP-16462    Application(s): ssh
               Related Id(s): ERIERL-464

               Potential hazard between re-keying decision and socket
               close.


 Full runtime dependencies of ssh-4.9.1: crypto-4.6.4, erts-9.0,
 kernel-5.3, public_key-1.6.1, stdlib-3.4.1


 ---------------------------------------------------------------------
 --- ssl-9.6.2 -------------------------------------------------------
 ---------------------------------------------------------------------

 Note! The ssl-9.6.2 application *cannot* be applied independently of
       other applications on an arbitrary OTP 22 installation.

       On a full OTP 22 installation, also the following runtime
       dependency has to be satisfied:
       -- public_key-1.7.2 (first satisfied in OTP 22.3)


 --- Fixed Bugs and Malfunctions ---

  OTP-16619    Application(s): ssl
               Related Id(s): ERL-1213

               Fix timing bug that could cause ssl sockets to become
               unresponsive after an ssl:recv/3 call timed out


 Full runtime dependencies of ssl-9.6.2: crypto-4.2, erts-10.0,
 inets-5.10.7, kernel-6.0, public_key-1.7.2, stdlib-3.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------```

OTP 21.3.8.15

05 Oct 16:17
Compare
Choose a tag to compare
Patch Package:           OTP 21.3.8.15
Git Tag:                 OTP-21.3.8.15
Date:                    2020-04-27
Trouble Report Id:       OTP-16462, OTP-16553, OTP-16555, OTP-16619
Seq num:                 ERIERL-464, ERL-1188, ERL-1213
System:                  OTP
Release:                 21
Application:             erts-10.3.5.11, ssh-4.7.6.4, ssl-9.2.3.6,
                         stdlib-3.8.2.4
Predecessor:             OTP 21.3.8.14

 Check out the git tag OTP-21.3.8.15, 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-10.3.5.11 --------------------------------------------------
 ---------------------------------------------------------------------

 Note! The erts-10.3.5.11 application *cannot* be applied
       independently of other applications on an arbitrary OTP 21
       installation.

       On a full OTP 21 installation, also the following runtime
       dependencies have to be satisfied:
       -- kernel-6.1 (first satisfied in OTP 21.1)
       -- sasl-3.3 (first satisfied in OTP 21.2)


 --- Fixed Bugs and Malfunctions ---

  OTP-16553    Application(s): erts, stdlib

               re:run(Subject, RE, [unicode]) returned nomatch instead
               of failing with a badarg error exception when Subject
               contained illegal utf8 and RE was passed as a binary.
               This has been corrected along with corrections of
               reduction counting in re:run() error cases.


  OTP-16555    Application(s): erts
               Related Id(s): ERL-1188

               Fixed a bug that could cause the emulator to crash when
               purging modules or persistent terms.


 Full runtime dependencies of erts-10.3.5.11: kernel-6.1, sasl-3.3,
 stdlib-3.5


 ---------------------------------------------------------------------
 --- ssh-4.7.6.4 -----------------------------------------------------
 ---------------------------------------------------------------------

 Note! The ssh-4.7.6.4 application *cannot* be applied independently
       of other applications on an arbitrary OTP 21 installation.

       On a full OTP 21 installation, also the following runtime
       dependency has to be satisfied:
       -- crypto-4.4.2.2 (first satisfied in OTP 21.3.8.12)


 --- Fixed Bugs and Malfunctions ---

  OTP-16462    Application(s): ssh
               Related Id(s): ERIERL-464

               Potential hazard between re-keying decision and socket
               close.


 Full runtime dependencies of ssh-4.7.6.4: crypto-4.4.2.2, erts-6.0,
 kernel-3.0, public_key-1.5.2, stdlib-3.3


 ---------------------------------------------------------------------
 --- ssl-9.2.3.6 -----------------------------------------------------
 ---------------------------------------------------------------------

 The ssl-9.2.3.6 application can be applied independently of other
 applications on a full OTP 21 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-16619    Application(s): ssl
               Related Id(s): ERL-1213

               Fix timing bug that could cause ssl sockets to become
               unresponsive after an ssl:recv/3 call timed out


 Full runtime dependencies of ssl-9.2.3.6: crypto-4.2, erts-10.0,
 inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5


 ---------------------------------------------------------------------
 --- stdlib-3.8.2.4 --------------------------------------------------
 ---------------------------------------------------------------------

 Note! The stdlib-3.8.2.4 application *cannot* be applied
       independently of other applications on an arbitrary OTP 21
       installation.

       On a full OTP 21 installation, also the following runtime
       dependency has to be satisfied:
       -- erts-10.3.5.11 (first satisfied in OTP 21.3.8.15)


 --- Fixed Bugs and Malfunctions ---

  OTP-16553    Application(s): erts, stdlib

               re:run(Subject, RE, [unicode]) returned nomatch instead
               of failing with a badarg error exception when Subject
               contained illegal utf8 and RE was passed as a binary.
               This has been corrected along with corrections of
               reduction counting in re:run() error cases.


 Full runtime dependencies of stdlib-3.8.2.4: compiler-5.0,
 crypto-3.3, erts-10.3.5.11, kernel-6.0, sasl-3.0


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

OTP 23.0-rc3

25 Sep 08:36
Compare
Choose a tag to compare
 ---------------------------------------------------------------------
 --- HIGHLIGHTS ------------------------------------------------------
 ---------------------------------------------------------------------

  OTP-13450    Application(s): kernel
               Related Id(s): OTP-15251

               *** POTENTIAL INCOMPATIBILITY ***

               A new module erpc has been introduced in the kernel
               application. The erpc module implements an enhanced
               subset of the operations provided by the rpc module.
               Enhanced in the sense that it makes it possible to
               distinguish between returned value, raised exceptions,
               and other errors. erpc also has better performance and
               scalability than the original rpc implementation. This
               by utilizing the newly introduced spawn_request() BIF.
               Also the rpc module benefits from these improvements by
               utilizing erpc when it is possible.

               This change has been marked as a potential
               incompatibility since rpc:block_call() now only is
               guaranteed to block other block_call() operations. The
               documentation previously claimed that it would block
               all rpc operations. This has however never been the
               case. It previously did not block node-local
               block_call() operations.


  OTP-14708    Application(s): compiler, debugger, erts

               EEP-52 has been implemented.

               In binary matching, the size of the segment to be
               matched is now allowed to be a guard expression, and
               similarly in map matching the keys can now be guard
               expressions. See the Erlang Reference Manual and
               Programming Examples for more details.

               Language compilers or code generators that generate
               Core Erlang code may need to be updated to be
               compatible with the compiler in OTP 23. For more
               details, see the section Backwards Compatibility in EEP
               52.


  OTP-15251    Application(s): erts

               Improvements of distributed spawn operations. These
               include both scalability and performance improvements
               as well as new functionality.

               New functionality:

               -- A distributed spawn_monitor() BIF.

               -- Support for monitor option in the distributed
               spawn_opt() BIF.

               -- New spawn_request() BIFs for asynchronous spawn of
               processes. spawn_request() supports all options that
               spawn_opt() support plus a few more.


  OTP-15434    Application(s): ssh

               OpenSSH 6.5 introduced a new file representation of
               keys called openssh-key-v1.

               OTP/SSH had an experimental implementation of this
               format. That implementation is now improved and
               supported with the exception of handling encrypted
               keys.


  OTP-15589    Application(s): ssl

               Improve interoperability by implementing the middlebox
               compatiblity mode.

               The middlebox compatibility mode makes the TLS 1.3
               handshake look more like a TLS 1.2 handshake and
               increases the chance of successfully establishing TLS
               1.3 connections through legacy middleboxes.


  OTP-15744    Application(s): erts, stdlib
               Related Id(s): OTP-15623, PR-2229

               Improved ETS scalability of concurrent calls that
               change the size of a table, like ets:insert/2 and
               ets:delete/2.

               This performance feature was implemented for
               ordered_set in OTP 22.0 and does now apply for all ETS
               table types.

               The improved scalability may come at the cost of longer
               latency of ets:info(T,size) and ets:info(T,memory). A
               new table option decentralized_counters has therefore
               been added. It is default true for ordered_set with
               write_concurrency enabled and default false for all
               other table types.


  OTP-15998    Application(s): ssh
               Related Id(s): PR-2368, PR-2376

               TCP/IP port forwarding, a.k.a tunneling a.k.a
               tcp-forward/direct-tcp is implemented. In the OpenSSH
               client, this corresponds to the options -L and -R.

               The client or server listens to a specified socket, and
               when something connects to it with TCP/IP, that
               connection is forwarded in an encrypted tunnel to the
               peer. The peer then connects to a predefined IP/port
               pair and then acts as a proxy.

               See the manual, ssh:tcpip_tunnel_to_server/6 and
               ssh:tcpip_tunnel_from_server/6.

               The functionality is disabled per default but can be
               enabled when starting a daemon.


  OTP-16007    Application(s): compiler
               Related Id(s): PR-2324

               Allow underscores in numeric literals to improve
               readability. Examples: 123_456_789, 16#1234_ABCD.


  OTP-16214    Application(s): compiler
               Related Id(s): PR-2460

               Improved the type optimization pass' inference of types
               that depend on themselves, giving us more accurate
               types and letting us track the content types of lists.


  OTP-16222    Application(s): stdlib

               New functions have been added to c(3) for printing
               embedded documentation for Erlang modules. The
               functions are:

               -- h/1,2,3 -- Print the documentation for a
               Module:Function/Arity.

               -- ht/1,2,3 -- Print the type documentation for a
               Module:Type/Arity.

               The embedded documentation is created when building the
               Erlang/OTP documentation.


  OTP-16232    Application(s): crypto

               As announced in OTP 22.0, a New API was introduced in
               CRYPTO. See the New and Old API chapter in the CRYPTO
               User's Guide for more information and suggested
               replacement functions.

               The Old API is now deprecated in OTP-23.0 and will be
               removed in OTP-24.0.

               This deprecation includes cipher names. See the section
               Retired cipher names in the crypto User's Guide,
               chapter The Old API.


  OTP-16250    Application(s): erts, kernel

               The possibility to run Erlang distribution without
               relying on EPMD has been extended. To achieve this a
               couple of new options to the inet distribution has been
               added.

               -- -dist_listen false -- Setup the distribution
               channel, but do not listen for incoming connection.
               This is useful when you want to use the current node to
               interact with another node on the same machine without
               it joining the entire cluster.

               -- -erl_epmd_port Port -- Configure a default port that
               the built-in EPMD client should return. This allows the
               local node to know the port to connect to for any other
               node in the cluster.

               The erl_epmd callback API has also been extended to
               allow returning -1 as the creation which means that a
               random creation will be created by the node.

               In addition a new callback function called
               listen_port_please has been added that allows the
               callback to return which listen port the distribution
               should use. This can be used instead of
               inet_dist_listen_min/max if the listen port is to be
               fetched from an external service.


  OTP-16260    Application(s): kernel
               Related Id(s): OTP-15403

               A first EXPERIMENTAL module that is a socket backend to
               gen_tcp and inet has been implemented. Others will
               follow. Feedback will be appreciated.


  OTP-16406    Application(s): erl_docgen, otp

               Embedded documentation (also known as Documentation
               Chunks) is now also available in the form of files
               according to EEP-48. The Documentation Chunks are
               produced by default when building the other Erlang/OTP
               documentation. If you want to only build the embedded
               documentation you can pass the DOC_TARGETS=chunks
               environment variable to make.


  OTP-16453    Application(s): kernel
               Related Id(s): PR-2524

               A new implementation of distributed named process
               groups has been introduced. It is available in the pg
               module.

               Note that this pg module only has the name in common
               with the experimental pg module that was present in
               stdlib up until OTP 17.

               Thanks to Maxim Fedorov for the implementation.


  OTP-16484    Application(s): debugger, erts, hipe

               *** POTENTIAL INCOMPATIBILITY ***

               The deprecated erlang:get_stacktrace/0 BIF now returns
               an empty list instead of a stacktrace. To retrieve the
               stacktrace, use the extended try/catch syntax that was
               introduced in OTP 21. erlang:get_stacktrace/0 is
               scheduled for removal in OTP 24.


  OTP-16501    Application(s): stdlib
               Related Id(s): ERL-708, OTP-16222, OTP-16406,
               OTP-16494, OTP-16499, OTP-16500, PR-2545

               Module and function auto-completion in the shell no...
Read more

OTP 22.3.2

11 Sep 07:37
Compare
Choose a tag to compare
Git Tag:                 OTP-22.3.2
Date:                    2020-04-09
Trouble Report Id:       OTP-16030
Seq num:                
System:                  OTP
Release:                 22
Application:             asn1-5.0.11
Predecessor:             OTP 22.3.1

 Check out the git tag OTP-22.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.

 ---------------------------------------------------------------------
 --- asn1-5.0.11 -----------------------------------------------------
 ---------------------------------------------------------------------

 The asn1-5.0.11 application can be applied independently of other
 applications on a full OTP 22 installation.

 --- Improvements and New Features ---

  OTP-16030    Application(s): asn1

               The compiler now has limited support for the JSON
               encoding rules (ITU-T X.697 ASN.1 encoding rules:
               Specification of JavaScript Object Notation Encoding
               Rules).


 Full runtime dependencies of asn1-5.0.11: erts-7.0, kernel-3.0,
 stdlib-2.0


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------```

OTP 22.3.1

11 Sep 07:37
Compare
Choose a tag to compare
Git Tag:                 OTP-22.3.1
Date:                    2020-04-06
Trouble Report Id:       OTP-16553, OTP-16555, OTP-16556, OTP-16567,
                         OTP-16572, OTP-16574, OTP-16578, OTP-16580
Seq num:                 ERIERL-481, ERIERL-482, ERL-1188, ERL-1199,
                         ERL-1205, ERL-1212
System:                  OTP
Release:                 22
Application:             compiler-7.5.4, erts-10.7.1, inets-7.1.3,
                         ssl-9.6.1, stdlib-3.12.1, xmerl-1.3.24
Predecessor:             OTP 22.3

 Check out the git tag OTP-22.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.

 ---------------------------------------------------------------------
 --- POTENTIAL INCOMPATIBILITIES -------------------------------------
 ---------------------------------------------------------------------

  OTP-16556    Application(s): inets

               Remove use of http_uri and mod_esi eval API.

               This is a backport from OTP 23 that improves the check
               of URIs to ensure that invalid URIs does not cause
               vulnerabilities. This will render the deprecated
               mod_esi eval API unusable as it used URI that does not
               conform to valid URI syntax.


 ---------------------------------------------------------------------
 --- OTP-22.3.1 ------------------------------------------------------
 ---------------------------------------------------------------------

 --- Fixed Bugs and Malfunctions ---

  OTP-16574    Application(s): otp
               Related Id(s): ERL-1205

               OTP would not build with Xcode 11.4 on macOS Catalina
               (10.15).


 ---------------------------------------------------------------------
 --- compiler-7.5.4 --------------------------------------------------
 ---------------------------------------------------------------------

 The compiler-7.5.4 application can be applied independently of other
 applications on a full OTP 22 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-16580    Application(s): compiler
               Related Id(s): ERL-1212

               Fixed a bug in the validator that could cause it to
               reject valid code.


 Full runtime dependencies of compiler-7.5.4: crypto-3.6, erts-9.0,
 hipe-3.12, kernel-4.0, stdlib-2.5


 ---------------------------------------------------------------------
 --- erts-10.7.1 -----------------------------------------------------
 ---------------------------------------------------------------------

 Note! The erts-10.7.1 application *cannot* be applied independently
       of other applications on an arbitrary OTP 22 installation.

       On a full OTP 22 installation, also the following runtime
       dependency has to be satisfied:
       -- kernel-6.5.1 (first satisfied in OTP 22.2)


 --- Fixed Bugs and Malfunctions ---

  OTP-16553    Application(s): erts, stdlib

               re:run(Subject, RE, [unicode]) returned nomatch instead
               of failing with a badarg error exception when Subject
               contained illegal utf8 and RE was passed as a binary.
               This has been corrected along with corrections of
               reduction counting in re:run() error cases.


  OTP-16555    Application(s): erts
               Related Id(s): ERL-1188

               Fixed a bug that could cause the emulator to crash when
               purging modules or persistent terms.


  OTP-16572    Application(s): erts
               Related Id(s): ERL-1199, OTP-16269

               Fixed a bug in a receive optimization. This could cause
               a receive not to match even though a matching message
               was present in the message queue. This bug was
               introduced in ERTS version 10.6 (OTP 22.2).


 Full runtime dependencies of erts-10.7.1: kernel-6.5.1, sasl-3.3,
 stdlib-3.5


 ---------------------------------------------------------------------
 --- inets-7.1.3 -----------------------------------------------------
 ---------------------------------------------------------------------

 The inets-7.1.3 application can be applied independently of other
 applications on a full OTP 22 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-16556    Application(s): inets

               *** POTENTIAL INCOMPATIBILITY ***

               Remove use of http_uri and mod_esi eval API.

               This is a backport from OTP 23 that improves the check
               of URIs to ensure that invalid URIs does not cause
               vulnerabilities. This will render the deprecated
               mod_esi eval API unusable as it used URI that does not
               conform to valid URI syntax.


 Full runtime dependencies of inets-7.1.3: erts-6.0, kernel-3.0,
 mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5


 ---------------------------------------------------------------------
 --- ssl-9.6.1 -------------------------------------------------------
 ---------------------------------------------------------------------

 Note! The ssl-9.6.1 application *cannot* be applied independently of
       other applications on an arbitrary OTP 22 installation.

       On a full OTP 22 installation, also the following runtime
       dependency has to be satisfied:
       -- public_key-1.7.2 (first satisfied in OTP 22.3)


 --- Fixed Bugs and Malfunctions ---

  OTP-16567    Application(s): ssl
               Related Id(s): ERIERL-481

               Correct error handling when the partial_chain fun
               claims a certificate to be the trusted cert that is not
               part of the chain. This bug would hide the appropriate
               alert generating an "INTERNAL_ERROR" alert instead.


 Full runtime dependencies of ssl-9.6.1: crypto-4.2, erts-10.0,
 inets-5.10.7, kernel-6.0, public_key-1.7.2, stdlib-3.5


 ---------------------------------------------------------------------
 --- stdlib-3.12.1 ---------------------------------------------------
 ---------------------------------------------------------------------

 Note! The stdlib-3.12.1 application *cannot* be applied independently
       of other applications on an arbitrary OTP 22 installation.

       On a full OTP 22 installation, also the following runtime
       dependency has to be satisfied:
       -- erts-10.7.1 (first satisfied in OTP 22.3.1)


 --- Fixed Bugs and Malfunctions ---

  OTP-16553    Application(s): erts, stdlib

               re:run(Subject, RE, [unicode]) returned nomatch instead
               of failing with a badarg error exception when Subject
               contained illegal utf8 and RE was passed as a binary.
               This has been corrected along with corrections of
               reduction counting in re:run() error cases.


 Full runtime dependencies of stdlib-3.12.1: compiler-5.0, crypto-3.3,
 erts-10.7.1, kernel-6.0, sasl-3.0


 ---------------------------------------------------------------------
 --- xmerl-1.3.24 ----------------------------------------------------
 ---------------------------------------------------------------------

 The xmerl-1.3.24 application can be applied independently of other
 applications on a full OTP 22 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-16578    Application(s): xmerl
               Related Id(s): ERIERL-482

               Fix a performance problem when using internal general
               references in XML content.


 Full runtime dependencies of xmerl-1.3.24: erts-6.0, kernel-3.0,
 stdlib-2.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------```

OTP 23.0-rc2

25 Sep 08:36
Compare
Choose a tag to compare
 ---------------------------------------------------------------------
 --- HIGHLIGHTS ------------------------------------------------------
 ---------------------------------------------------------------------

  OTP-13450    Application(s): kernel
               Related Id(s): OTP-15251

               *** POTENTIAL INCOMPATIBILITY ***

               A new module erpc has been introduced in the kernel
               application. The erpc module implements an enhanced
               subset of the operations provided by the rpc module.
               Enhanced in the sense that it makes it possible to
               distinguish between returned value, raised exceptions,
               and other errors. erpc also has better performance and
               scalability than the original rpc implementation. This
               by utilizing the newly introduced spawn_request() BIF.
               Also the rpc module benefits from these improvements by
               utilizing erpc when it is possible.

               This change has been marked as a potential
               incompatibility since rpc:block_call() now only is
               guaranteed to block other block_call() operations. The
               documentation previously claimed that it would block
               all rpc operations. This has however never been the
               case. It previously did not block node-local
               block_call() operations.


  OTP-14708    Application(s): compiler, debugger, erts

               EEP-52 has been implemented.

               In binary matching, the size of the segment to be
               matched is now allowed to be a guard expression, and
               similarly in map matching the keys can now be guard
               expressions. See the Erlang Reference Manual and
               Programming Examples for more details.

               Language compilers or code generators that generate
               Core Erlang code may need to be updated to be
               compatible with the compiler in OTP 23. For more
               details, see the section Backwards Compatibility in EEP
               52.


  OTP-15251    Application(s): erts

               Improvements of distributed spawn operations. These
               include both scalability and performance improvements
               as well as new functionality.

               New functionality:

               -- A distributed spawn_monitor() BIF.

               -- Support for monitor option in the distributed
               spawn_opt() BIF.

               -- New spawn_request() BIFs for asynchronous spawn of
               processes. spawn_request() supports all options that
               spawn_opt() support plus a few more.


  OTP-15434    Application(s): ssh

               OpenSSH 6.5 introduced a new file representation of
               keys called openssh-key-v1.

               OTP/SSH had an experimental implementation of this
               format. That implementation is now improved and
               supported with the exception of handling encrypted
               keys.


  OTP-15589    Application(s): ssl

               Improve interoperability by implementing the middlebox
               compatiblity mode.

               The middlebox compatibility mode makes the TLS 1.3
               handshake look more like a TLS 1.2 handshake and
               increases the chance of successfully establishing TLS
               1.3 connections through legacy middleboxes.


  OTP-15744    Application(s): erts, stdlib
               Related Id(s): OTP-15623, PR-2229

               Improved ETS scalability of concurrent calls that
               change the size of a table, like ets:insert/2 and
               ets:delete/2.

               This performance feature was implemented for
               ordered_set in OTP 22.0 and does now apply for all ETS
               table types.

               The improved scalability may come at the cost of longer
               latency of ets:info(T,size) and ets:info(T,memory). A
               new table option decentralized_counters has therefore
               been added. It is default true for ordered_set with
               write_concurrency enabled and default false for all
               other table types.


  OTP-15998    Application(s): ssh
               Related Id(s): PR-2368, PR-2376

               TCP/IP port forwarding, a.k.a tunneling a.k.a
               tcp-forward/direct-tcp is implemented. In the OpenSSH
               client, this corresponds to the options -L and -R.

               The client or server listens to a specified socket, and
               when something connects to it with TCP/IP, that
               connection is forwarded in an encrypted tunnel to the
               peer. The peer then connects to a predefined IP/port
               pair and then acts as a proxy.

               See the manual, ssh:tcpip_tunnel_to_server/6 and
               ssh:tcpip_tunnel_from_server/6.

               The functionality is disabled per default but can be
               enabled when starting a daemon.


  OTP-16007    Application(s): compiler
               Related Id(s): PR-2324

               Allow underscores in numeric literals to improve
               readability. Examples: 123_456_789, 16#1234_ABCD.


  OTP-16214    Application(s): compiler
               Related Id(s): PR-2460

               Improved the type optimization pass' inference of types
               that depend on themselves, giving us more accurate
               types and letting us track the content types of lists.


  OTP-16222    Application(s): stdlib

               New functions have been added to c(3) for printing
               embedded documentation for Erlang modules. The
               functions are:

               -- h/1,2,3 -- Print the documentation for a
               Module:Function/Arity.

               -- ht/1,2,3 -- Print the type documentation for a
               Module:Type/Arity.

               The embedded documentation is created when building the
               Erlang/OTP documentation.


  OTP-16232    Application(s): crypto

               As announced in OTP 22.0, a New API was introduced in
               CRYPTO. See the New and Old API chapter in the CRYPTO
               User's Guide for more information and suggested
               replacement functions.

               The Old API is now deprecated in OTP-23.0 and will be
               removed in OTP-24.0.


  OTP-16250    Application(s): erts, kernel

               The possibility to run Erlang distribution without
               relying on EPMD has been extended. To achieve this a
               couple of new options to the inet distribution has been
               added.

               -- -dist_listen false -- Setup the distribution
               channel, but do not listen for incoming connection.
               This is useful when you want to use the current node to
               interact with another node on the same machine without
               it joining the entire cluster.

               -- -erl_epmd_port Port -- Configure a default port that
               the built-in EPMD client should return. This allows the
               local node to know the port to connect to for any other
               node in the cluster.

               The erl_epmd callback API has also been extended to
               allow returning -1 as the creation which means that a
               random creation will be created by the node.

               In addition a new callback function called
               listen_port_please has been added that allows the
               callback to return which listen port the distribution
               should use. This can be used instead of
               inet_dist_listen_min/max if the listen port is to be
               fetched from an external service.


  OTP-16260    Application(s): kernel
               Related Id(s): OTP-15403

               A first EXPERIMENTAL module that is a socket backend to
               gen_tcp and inet has been implemented. Others will
               follow. Feedback will be appreciated.


  OTP-16406    Application(s): erl_docgen, otp

               Embedded documentation (also known as Documentation
               Chunks) is now also available in the form of files
               according to EEP-48. The Documentation Chunks are
               produced by default when building the other Erlang/OTP
               documentation. If you want to only build the embedded
               documentation you can pass the DOC_TARGETS=chunks
               environment variable to make.


  OTP-16453    Application(s): kernel
               Related Id(s): PR-2524

               A new implementation of distributed named process
               groups has been introduced. It is available in the pg
               module.

               Note that this pg module only has the name in common
               with the experimental pg module that was present in
               stdlib up until OTP 17.

               Thanks to Maxim Fedorov for the implementation.


  OTP-16484    Application(s): debugger, erts, hipe

               *** POTENTIAL INCOMPATIBILITY ***

               The deprecated erlang:get_stacktrace/0 BIF now returns
               an empty list instead of a stacktrace. To retrieve the
               stacktrace, use the extended try/catch syntax that was
               introduced in OTP 21. erlang:get_stacktrace/0 is
               scheduled for removal in OTP 24.


  OTP-16501    Application(s): stdlib
               Related Id(s): ERL-708, OTP-16222, OTP-16406,
               OTP-16494, OTP-16499, OTP-16500, PR-2545

               Module and function auto-completion in the shell now
               looks at all available modules instead of only those
               loaded. A module is considered available if it either
               is loaded already ...
Read more

OTP 21.3.8.14

05 Oct 16:17
Compare
Choose a tag to compare
Patch Package:           OTP 21.3.8.14
Git Tag:                 OTP-21.3.8.14
Date:                    2020-03-05
Trouble Report Id:       OTP-16404, OTP-16446, OTP-16481
Seq num:                 ERL-1127, ERL-1157
System:                  OTP
Release:                 21
Application:             erts-10.3.5.10
Predecessor:             OTP 21.3.8.13

 Check out the git tag OTP-21.3.8.14, 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-10.3.5.10 --------------------------------------------------
 ---------------------------------------------------------------------

 Note! The erts-10.3.5.10 application *cannot* be applied
       independently of other applications on an arbitrary OTP 21
       installation.

       On a full OTP 21 installation, also the following runtime
       dependencies have to be satisfied:
       -- kernel-6.1 (first satisfied in OTP 21.1)
       -- sasl-3.3 (first satisfied in OTP 21.2)


 --- Fixed Bugs and Malfunctions ---

  OTP-16404    Application(s): erts
               Related Id(s): ERL-1127

               Fixed bug in ets:update_counter/4, when called with an
               invalid UpdateOp and a Key that does not exist, causing
               ets:info(T,size) to return incorrect values. Bug exists
               since OTP-19.0.2.


  OTP-16446    Application(s): erts
               Related Id(s): ERL-1157

               A process could get into an inconsistent state where it
               was runnable, but never scheduled for execution. This
               could occur when a mix of normal and low priority
               processes where scheduled on the same type of dirty
               scheduler simultaneously.


  OTP-16481    Application(s): erts

               Corrected the valid range of the erl command line
               argument +SDio <NumberOfDirtyIoSchedulers> from 0..1024
               to 1..1024. +SDio 0 was erroneously allowed which just
               caused the VM to crash on the first dirty I/O job
               scheduled.


 Full runtime dependencies of erts-10.3.5.10: kernel-6.1, sasl-3.3,
 stdlib-3.5


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------

OTP 23.0-rc1

25 Sep 08:36
Compare
Choose a tag to compare
 ---------------------------------------------------------------------
 --- HIGHLIGHTS ------------------------------------------------------
 ---------------------------------------------------------------------

  OTP-13450    Application(s): kernel
               Related Id(s): OTP-15251

               *** POTENTIAL INCOMPATIBILITY ***

               A new module erpc has been introduced in the kernel
               application. The erpc module implements an enhanced
               subset of the operations provided by the rpc module.
               Enhanced in the sense that it makes it possible to
               distinguish between returned value, raised exceptions,
               and other errors. erpc also has better performance and
               scalability than the original rpc implementation. This
               by utilizing the newly introduced spawn_request() BIF.
               Also the rpc module benefits from these improvements by
               utilizing erpc when it is possible.

               This change has been marked as a potential
               incompatibility since rpc:block_call() now only is
               guaranteed to block other block_call() operations. The
               documentation previously claimed that it would block
               all rpc operations. This has however never been the
               case. It previously did not block node-local
               block_call() operations.


  OTP-14708    Application(s): compiler, debugger, erts

               EEP-52 has been implemented.

               In binary matching, the size of the segment to be
               matched is now allowed to be a guard expression, and
               similarly in map matching the keys can now be guard
               expressions. See the Erlang Reference Manual and
               Programming Examples for more details.

               Language compilers or code generators that generate
               Core Erlang code may need to be updated to be
               compatible with the compiler in OTP 23. For more
               details, see the section Backwards Compatibility in EEP
               52.


  OTP-15251    Application(s): erts

               Improvements of distributed spawn operations. These
               include both scalability and performance improvements
               as well as new functionality.

               New functionality:

               -- A distributed spawn_monitor() BIF.

               -- Support for monitor option in the distributed
               spawn_opt() BIF.

               -- New spawn_request() BIFs for asynchronous spawn of
               processes. spawn_request() supports all options that
               spawn_opt() support plus a few more.


  OTP-15434    Application(s): ssh

               OpenSSH 6.5 introduced a new file representation of
               keys called openssh-key-v1.

               OTP/SSH had an experimental implementation of this
               format. That implementation is now improved and
               supported with the exception of handling encrypted
               keys.


  OTP-15744    Application(s): erts, stdlib
               Related Id(s): OTP-15623, PR-2229

               Improved ETS scalability of concurrent calls that
               change the size of a table, like ets:insert/2 and
               ets:delete/2.

               This performance feature was implemented for
               ordered_set in OTP 22.0 and does now apply for all ETS
               table types.

               The improved scalability may come at the cost of longer
               latency of ets:info(T,size) and ets:info(T,memory). A
               new table option decentralized_counters has therefore
               been added. It is default true for ordered_set with
               write_concurrency enabled and default false for all
               other table types.


  OTP-15998    Application(s): ssh
               Related Id(s): PR-2368, PR-2376

               TCP/IP port forwarding, a.k.a tunneling a.k.a as
               tcp-forward/direct-tcp is implemented. In the OpenSSH
               client, this corresponds to the options -L and -R.

               The client or server listens to a specified socket, and
               when something connects to it with TCP/IP, that
               connection is forwarded in an encrypted tunnel to the
               peer. The peer then connects to a predefined IP/port
               pair and then acts as a proxy.

               See the manual, ssh:tcpip_tunnel_to_server/6 and
               ssh:tcpip_tunnel_from_server/6.

               The functionality is disabled per default but can be
               enabled if wanted when starting a daemon.


  OTP-16007    Application(s): compiler
               Related Id(s): PR-2324

               Allow underscores in numeric literals to improve
               readability. Examples: 123_456_789, 16#1234_ABCD.


  OTP-16214    Application(s): compiler
               Related Id(s): PR-2460

               Improved the type optimization pass' inference of types
               that depend on themselves, giving us more accurate
               types and letting us track the content types of lists.


  OTP-16222    Application(s): stdlib

               New functions have been added to c(3) for printing
               embedded documentation for Erlang modules. The
               functions are:

               -- h/1,2,3 -- Print the documentation for a
               Module:Function/Arity.

               -- ht/1,2,3 -- Print the type documentation for a
               Module:Type/Arity.

               The embedded documentation is created when building the
               Erlang/OTP documentation.


  OTP-16232    Application(s): crypto

               As announced in OTP 22.0, a New API was introduced in
               CRYPTO. See the New and Old API chapter in the CRYPTO
               User's Guide for more information and suggested
               replacement functions.

               The Old API is now deprecated in OTP-23.0 and will be
               removed in OTP-24.0.


  OTP-16406    Application(s): erl_docgen, otp

               Embedded documentation (also known as Documentation
               Chunks) is now also available in the form of files
               according to EEP-48. The Documentation Chunks are
               produced by default when building the other Erlang/OTP
               documentation. If you want to only build the embedded
               documentation you can pass the DOC_TARGETS=chunks
               environment variable to make.


  OTP-16453    Application(s): kernel
               Related Id(s): PR-2524

               A new implementation of distributed named process
               groups has been introduced. It is available in the pg
               module.

               Note that this pg module only has the name in common
               with the experimental pg module that was present in
               stdlib up until OTP 17.

               Thanks to Maxim Fedorov for the implementation.


  OTP-16484    Application(s): debugger, erts, hipe

               *** POTENTIAL INCOMPATIBILITY ***

               The deprecated erlang:get_stacktrace/0 BIF now returns
               an empty list instead of a stacktrace. To retrieve the
               stacktrace, use the extended try/catch syntax that was
               introduced in OTP 21. erlang:get_stacktrace/0 is
               scheduled for removal in OTP 24.


  OTP-16501    Application(s): stdlib
               Related Id(s): ERL-708, OTP-16222, OTP-16406,
               OTP-16494, OTP-16499, OTP-16500, PR-2545

               Module and function auto-completion in the shell now
               looks at all available modules instead of only those
               loaded. A module is considered available if it either
               is loaded already or would be loaded if called.

               The auto-completion has also been expanded to work in
               the new h/1,2,3 function in c(3).


 ---------------------------------------------------------------------
 --- POTENTIAL INCOMPATIBILITIES -------------------------------------
 ---------------------------------------------------------------------

  OTP-13450    Application(s): kernel
               Related Id(s): OTP-15251

               *** HIGHLIGHT ***

               A new module erpc has been introduced in the kernel
               application. The erpc module implements an enhanced
               subset of the operations provided by the rpc module.
               Enhanced in the sense that it makes it possible to
               distinguish between returned value, raised exceptions,
               and other errors. erpc also has better performance and
               scalability than the original rpc implementation. This
               by utilizing the newly introduced spawn_request() BIF.
               Also the rpc module benefits from these improvements by
               utilizing erpc when it is possible.

               This change has been marked as a potential
               incompatibility since rpc:block_call() now only is
               guaranteed to block other block_call() operations. The
               documentation previously claimed that it would block
               all rpc operations. This has however never been the
               case. It previously did not block node-local
               block_call() operations.


  OTP-14790    Application(s): ssl

               Drop support for SSL-3.0. Support for this legacy TLS
               version has not been enabled by default since OTP 19.
               Now all code to support it has been removed, that is
               SSL-3.0 protocol version can not be used and is
               considered invalid.


  OTP-16168    Application(s): erts
               Related Id(s): ERL-1053

               erlang:decode_packet with type set to httph no lon...
Read more

OTP 22.2.8

11 Sep 07:01
Compare
Choose a tag to compare
Git Tag:                 OTP-22.2.8
Date:                    2020-02-28
Trouble Report Id:       OTP-16457, OTP-16459
Seq num:                
System:                  OTP
Release:                 22
Application:             diameter-2.2.2
Predecessor:             OTP 22.2.7

 Check out the git tag OTP-22.2.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.

 ---------------------------------------------------------------------
 --- diameter-2.2.2 --------------------------------------------------
 ---------------------------------------------------------------------

 The diameter-2.2.2 application can be applied independently of other
 applications on a full OTP 22 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-16457    Application(s): diameter

               The possibility of choosing a handler process for an
               incoming Diameter request with a configured MFA was
               documented in OTP 20.0, but counters (with
               {traffic_counters, true}) were not incremented when
               this process was on a remote node. Counters are now
               incremented on the node that configures the transport
               in question.

               Introduced in OTP 21.3.


  OTP-16459    Application(s): diameter

               Transport options differing from those passed to
               diameter:add_transport/2 were used in several
               situations: when starting a transport process after
               connect_timer expiry after an initial connection
               attempt has failed, when starting a transport process
               after a connection has been accepted, when sending
               events, when returning options in
               diameter:service_info/2, and possibly more. In
               particular, the following configuration options to
               diameter:add_transport/2 were dropped:
               avp_dictionaries, incoming_maxlen, spawn_opt,
               strict_mbit.

               Moreover, any service options mistakenly passed to
               diameter:add_transport/2 were interpreted as such,
               instead of being ignored as the documentation states,
               with the consequence that outgoing and incoming
               requests saw different values of some options, some
               were always taken from transport options, and others
               from service options.

               diameter:add_transport/2 must be called in new code for
               the fix to have effect.

               Introduced in OTP 20.1.


 Full runtime dependencies of diameter-2.2.2: erts-10.0, kernel-3.2,
 ssl-9.0, stdlib-2.4


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------```