Skip to content

Releases: erlang/otp

OTP 26.2.4

12 Apr 12:42
Compare
Choose a tag to compare
Patch Package:           OTP 26.2.4
Git Tag:                 OTP-26.2.4
Date:                    2024-04-12
Trouble Report Id:       OTP-18958, OTP-18960, OTP-18999, OTP-19013,
                         OTP-19014, OTP-19015, OTP-19019, OTP-19021,
                         OTP-19031, OTP-19034, OTP-19035, OTP-19036,
                         OTP-19037, OTP-19038, OTP-19039, OTP-19040,
                         OTP-19041, OTP-19043, OTP-19044, OTP-19045,
                         OTP-19048, OTP-19049, OTP-19056, OTP-19058,
                         OTP-19059, OTP-19060
Seq num:                 #8176, ERIERL-1043, ERIERL-1060, ERIERL-682,
                         GH-7897, GH-7928, GH-7951, GH-7955, GH-8120,
                         GH-8186, GH-8238, GH-8268, GH-8271, GH-8280,
                         GH-8291, GH-8316, GH-8338, OTP-17323,
                         PR-8220, PR-8248, PR-8275, PR-8277, PR-8284,
                         PR-8297, PR-8312, PR-8342, PR-8343
System:                  OTP
Release:                 26
Application:             asn1-5.2.2, common_test-1.26.2,
                         compiler-8.4.3, crypto-5.4.2, debugger-5.3.4,
                         diameter-2.3.2, erts-14.2.4, kernel-9.2.3,
                         ssh-5.1.4, ssl-11.1.3, stdlib-5.2.2
Predecessor:             OTP 26.2.3

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

 ---------------------------------------------------------------------
 --- asn1-5.2.2 ------------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19039    Application(s): asn1
               Related Id(s): GH-8291, PR-8297

               An ASN.1 module that contains named BIT STRING values
               would fail to compiled if both the BER and JER
               back-ends were enabled.


 Full runtime dependencies of asn1-5.2.2: erts-11.0, kernel-7.0,
 stdlib-3.13


 ---------------------------------------------------------------------
 --- common_test-1.26.2 ----------------------------------------------
 ---------------------------------------------------------------------

 The common_test-1.26.2 application can be applied independently of
 other applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18960    Application(s): common_test

               With this change, the last column in common_test
               testcase log file is modified to now show the total sum
               of each time in the table rows, and Elapsed Time which
               is a clock time spent to run above functions. The
               Elapsed Time is the same time that was previously a
               total.


 Full runtime dependencies of common_test-1.26.2: compiler-6.0,
 crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
 observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
 stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8


 ---------------------------------------------------------------------
 --- compiler-8.4.3 --------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19019    Application(s): compiler

               In rare circumstances, the compiler code generate
               unsafe code for a bit syntax match.


  OTP-19035    Application(s): compiler
               Related Id(s): GH-8280, PR-8284

               In rare circumstances, binary matches that were
               supposed to succeed failed.


  OTP-19045    Application(s): compiler
               Related Id(s): GH-8316

               Fixed a bug where a fun's environment could be
               overridden by an argument if all of the following
               conditions were met:

               -- The fun was declared in the module that called it.

               -- The fun's target was statically known.

               -- The fun was called with a number of extra arguments
               equal to the number of environment variables.


 Full runtime dependencies of compiler-8.4.3: crypto-5.1, erts-13.0,
 kernel-8.4, stdlib-5.0


 ---------------------------------------------------------------------
 --- crypto-5.4.2 ----------------------------------------------------
 ---------------------------------------------------------------------

 The crypto-5.4.2 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19038    Application(s): crypto
               Related Id(s): GH-8271, PR-8277

               Fix building with --enable-fips with OpenSSL 3 on
               MacOS.


 Full runtime dependencies of crypto-5.4.2: erts-9.0, kernel-5.3,
 stdlib-3.9


 ---------------------------------------------------------------------
 --- debugger-5.3.4 --------------------------------------------------
 ---------------------------------------------------------------------

 The debugger-5.3.4 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18958    Application(s): debugger
               Related Id(s): GH-8120, PR-8275

               Guards with nested record expression could wrongly
               evaluate to false.


 Full runtime dependencies of debugger-5.3.4: compiler-8.0, erts-12.0,
 kernel-8.0, stdlib-3.15, wx-2.0


 ---------------------------------------------------------------------
 --- diameter-2.3.2 --------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19040    Application(s): diameter
               Related Id(s): ERIERL-1060

               Reduce the impact of calling service_info by not
               counting the binaries (on the heap) info, This is done
               by introducing an option, bins_info, which controls
               this.


 Full runtime dependencies of diameter-2.3.2: erts-10.0, kernel-3.2,
 ssl-9.0, stdlib-5.0


 ---------------------------------------------------------------------
 --- erts-14.2.4 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-14.2.4 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18999    Application(s): erts
               Related Id(s): GH-7928

               Fixed CPU quota determination for cgroup version 2


  OTP-19014    Application(s): erts

               Fix faulty reduction counting in exiting process which
               could cause it to do unnecessary yielding.


  OTP-19015    Application(s): erts
               Related Id(s): ERIERL-682

               Fix bug in re:run/3 where if an invalid UTF-8 subject
               was given, re:run could get stuck in an infinite loop.
               Bug was introduced in Erlang/OTP 22.1.


  OTP-19021    Application(s): erts
               Related Id(s): GH-8238, PR-8248

               On AArch64 (ARM64), Erlang code using bit syntax
               construction compiled using Erlang/OTP 24 could crash
               the runtime system when run in Erlang/OTP 26.2.3.


  OTP-19034    Application(s): erts

               Calling erlang:trace/3 with first argument one of
               ports, processes, existing_ports, existing_processes,
               existing or all, could cause emulator crash if a dirty
               scheduler was executing a simultaneous trace action.


  OTP-19036    Application(s): erts
               Related Id(s): GH-8186

               Fixed an integer overflow when the monotonic time unit
               reported by the operating system was greater than 10
               and lower than 100 microseconds.


  OTP-19041    Application(s): erts

               Fix option reuseaddr for FreeBSD 14


  OTP-19043    Application(s): erts
               Related Id(s): PR-8342

               When a traced process executing on a dirty scheduler
               received an exit signal, the dirty scheduler could use
               the wrong thread specific data which could lead to a
               crash.


  OTP-19048    Application(s): erts
               Related Id(s): PR-8343

               Fixed a more or less harmless bug that caused time
               correction of Erlang monotonic time to become slightly
               off on Windows platforms when QueryPerformanceCounter()
               was used as OS monotonic time source.

               erlang:system_info(os_monotonic_time_source) now also
               returns information about used resolution which not
               always corresponds to the resolution of the OS
               monotonic time source.


  OTP-19049    Application(s): erts, kernel
               Related Id(s): #8176

               When using IPv6, classic gen_udp failed to add (group)
               membership (drop was used instead).


  OTP-19060    A...
Read more

OTP 25.3.2.11

12 Apr 15:11
Compare
Choose a tag to compare
Patch Package:           OTP 25.3.2.11
Git Tag:                 OTP-25.3.2.11
Date:                    2024-04-12
Trouble Report Id:       OTP-18958, OTP-18960, OTP-18999, OTP-19013,
                         OTP-19014, OTP-19031, OTP-19034, OTP-19036,
                         OTP-19038, OTP-19040, OTP-19043, OTP-19044,
                         OTP-19048, OTP-19050, OTP-19058, OTP-19064
Seq num:                 ERIERL-1043, ERIERL-1060, GH-7897, GH-7928,
                         GH-8120, GH-8186, GH-8268, GH-8271,
                         OTP-18990, PR-8220, PR-8275, PR-8277,
                         PR-8342, PR-8343
System:                  OTP
Release:                 25
Application:             common_test-1.24.0.3, crypto-5.1.4.3,
                         debugger-5.3.1.3, diameter-2.2.7.1,
                         erts-13.2.2.8, inets-8.3.1.3, kernel-8.5.4.3,
                         observer-2.14.0.1, os_mon-2.8.2.1,
                         reltool-0.9.1.1, ssh-4.15.3.4, stdlib-4.3.1.4
Predecessor:             OTP 25.3.2.10

 Check out the git tag OTP-25.3.2.11, 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.24.0.3 --------------------------------------------
 ---------------------------------------------------------------------

 The common_test-1.24.0.3 application can be applied independently of
 other applications on a full OTP 25 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18960    Application(s): common_test

               With this change, the last column in common_test
               testcase log file is modified to now show the total sum
               of each time in the table rows, and Elapsed Time which
               is a clock time spent to run above functions. The
               Elapsed Time is the same time that was previously a
               total.


 Full runtime dependencies of common_test-1.24.0.3: compiler-6.0,
 crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
 observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
 stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8


 ---------------------------------------------------------------------
 --- crypto-5.1.4.3 --------------------------------------------------
 ---------------------------------------------------------------------

 The crypto-5.1.4.3 application can be applied independently of other
 applications on a full OTP 25 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-19038    Application(s): crypto
               Related Id(s): GH-8271, PR-8277

               Fix building with --enable-fips with OpenSSL 3 on
               MacOS.


 Full runtime dependencies of crypto-5.1.4.3: erts-9.0, kernel-5.3,
 stdlib-3.9


 ---------------------------------------------------------------------
 --- debugger-5.3.1.3 ------------------------------------------------
 ---------------------------------------------------------------------

 The debugger-5.3.1.3 application can be applied independently of
 other applications on a full OTP 25 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18958    Application(s): debugger
               Related Id(s): GH-8120, PR-8275

               Guards with nested record expression could wrongly
               evaluate to false.


 Full runtime dependencies of debugger-5.3.1.3: compiler-8.0,
 erts-12.0, kernel-8.0, stdlib-3.15, wx-2.0


 ---------------------------------------------------------------------
 --- diameter-2.2.7.1 ------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19040    Application(s): diameter
               Related Id(s): ERIERL-1060

               Reduce the impact of calling service_info by not
               counting the binaries (on the heap) info, This is done
               by introducing an option, bins_info, which controls
               this.


 Full runtime dependencies of diameter-2.2.7.1: erts-10.0, kernel-3.2,
 ssl-9.0, stdlib-3.0


 ---------------------------------------------------------------------
 --- erts-13.2.2.8 ---------------------------------------------------
 ---------------------------------------------------------------------

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

       On a full OTP 25 installation, also the following runtime
       dependencies have to be satisfied:
       -- kernel-8.5 (first satisfied in OTP 25.1)
       -- stdlib-4.1 (first satisfied in OTP 25.1)


 --- Fixed Bugs and Malfunctions ---

  OTP-18999    Application(s): erts
               Related Id(s): GH-7928

               Fixed CPU quota determination for cgroup version 2


  OTP-19014    Application(s): erts

               Fix faulty reduction counting in exiting process which
               could cause it to do unnecessary yielding.


  OTP-19034    Application(s): erts

               Calling erlang:trace/3 with first argument one of
               ports, processes, existing_ports, existing_processes,
               existing or all, could cause emulator crash if a dirty
               scheduler was executing a simultaneous trace action.


  OTP-19036    Application(s): erts
               Related Id(s): GH-8186

               Fixed an integer overflow when the monotonic time unit
               reported by the operating system was greater than 10
               and lower than 100 microseconds.


  OTP-19043    Application(s): erts
               Related Id(s): PR-8342

               When a traced process executing on a dirty scheduler
               received an exit signal, the dirty scheduler could use
               the wrong thread specific data which could lead to a
               crash.


  OTP-19048    Application(s): erts
               Related Id(s): PR-8343

               Fixed a more or less harmless bug that caused time
               correction of Erlang monotonic time to become slightly
               off on Windows platforms when QueryPerformanceCounter()
               was used as OS monotonic time source.

               erlang:system_info(os_monotonic_time_source) now also
               returns information about used resolution which not
               always corresponds to the resolution of the OS
               monotonic time source.


 --- Improvements and New Features ---

  OTP-19044    Application(s): erts
               Related Id(s): ERIERL-1043, PR-8342

               Checks for monotonicity of monotonic time have been
               improved so that Erlang and OS monotonic time are
               checked separately.

               A new configure argument
               --enable-ensure-os-monotonic-time has also been added.
               It enables functionality ensuring the monotonicity of
               monotonic timestamps delivered by the OS. When a
               non-monotonic timestamp is detected, it will be
               replaced by the last delivered monotonic timestamp
               before being used by Erlang's time functionality. Note
               that you do not want to enable this unless the OS
               monotonic time source on the system fails to produce
               monotonic timestamps. This since ensuring the
               monotonicity of OS monotonic timestamps will hurt
               scalability and performance of the system.


  OTP-19058    Application(s): erts

               For severe errors, when the `socket` module terminates
               the Erlang VM, now an erl_crash.dump is produced, to
               facilitate post mortem debugging.


 Full runtime dependencies of erts-13.2.2.8: kernel-8.5, sasl-3.3,
 stdlib-4.1


 ---------------------------------------------------------------------
 --- inets-8.3.1.3 ---------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19064    Application(s): inets, observer, os_mon, reltool

               Fixed runtime dependencies.


 Full runtime dependencies of inets-8.3.1.3: erts-13.0, kernel-6.0,
 mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
 stdlib-4.0


 ---------------------------------------------------------------------
 --- kernel-8.5.4.3 --------------------------------------------------
 ---------------------------------------------------------------------

 Note! The kernel-8.5.4.3 application *cannot* be applied
       independently of other applications on an arbitrary OTP 25
       installation.

       On a full OTP 25 installation, also the following runtime
       dependencies have to be satisfied:
       -- erts-13.1.3 (first satisfied in OTP 25.2)
       -- stdlib-4.1.1 (first satisfied in OTP 25.1.1)


 --- Fixed Bugs and Malfunctions ---

  OTP-19050    Application(s): kernel
               Related Id(s): OTP-18990

               Fixed gen_udp:open/2 type spec to include already
               supported module socket address types.


 Full runtime dependencies of kernel-8.5.4.3: crypto-5.0, erts-13.1.3,
 sasl-3.0, stdlib-4.1.1


 ---------------------------------------------------------------------
 --- observer-2.14.0.1 -----------------------------------------------
 ---------------------------------------------------------------------

 The observer-2.14.0.1 application can be applied independently of
...
Read more

OTP 24.3.4.17

09 Apr 14:12
Compare
Choose a tag to compare

Warning

Until the 10th of May the Erlang/OTP 24.3.4.17 patch had an incorrect prebuilt archive on github (the otp_src_24.3.4.17.tar.gz artifact), which meant that if used it would install OTP 24.3.4.15 and not the intended patch.

Tools such as kerl and by extension asdf use the prebuilt archive, so if you used those to install 24.3.4.17 you will need to rebuild your system to get the correct Erlang version. In order to get the proper version in kerl you need to do kerl cleanup 24.3.4.17 and then re-install it.

The official docker images are unaffected as they build from the git tag.

Patch Package:           OTP 24.3.4.17
Git Tag:                 OTP-24.3.4.17
Date:                    2024-04-09
Trouble Report Id:       OTP-18960, OTP-18986, OTP-18996, OTP-19002,
                         OTP-19003, OTP-19006, OTP-19013, OTP-19015,
                         OTP-19019, OTP-19034, OTP-19036, OTP-19043,
                         OTP-19044, OTP-19048
Seq num:                 ERIERL-1041, ERIERL-1043, ERIERL-682,
                         GH-7897, GH-8186, GH-8187, PR-8173, PR-8174,
                         PR-8189, PR-8220, PR-8342, PR-8343
System:                  OTP
Release:                 24
Application:             common_test-1.22.1.3, compiler-8.1.1.6,
                         crypto-5.0.6.5, erts-12.3.2.17, ssh-4.13.2.6
Predecessor:             OTP 24.3.4.16

 Check out the git tag OTP-24.3.4.17, 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.22.1.3 --------------------------------------------
 ---------------------------------------------------------------------

 The common_test-1.22.1.3 application can be applied independently of
 other applications on a full OTP 24 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18960    Application(s): common_test

               With this change, the last column in common_test
               testcase log file is modified to now show the total sum
               of each time in the table rows, and Elapsed Time which
               is a clock time spent to run above functions. The
               Elapsed Time is the same time that was previously a
               total.


 Full runtime dependencies of common_test-1.22.1.3: compiler-6.0,
 crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
 observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
 stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8


 ---------------------------------------------------------------------
 --- compiler-8.1.1.6 ------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19003    Application(s): compiler
               Related Id(s): GH-8187, PR-8189

               In rare circumstances, an unsafe optimization could
               cause the compiler to generate incorrect code for list
               matching.


  OTP-19019    Application(s): compiler

               In rare circumstances, the compiler code generate
               unsafe code for a bit syntax match.


 Full runtime dependencies of compiler-8.1.1.6: crypto-3.6, erts-11.0,
 kernel-7.0, stdlib-3.13


 ---------------------------------------------------------------------
 --- crypto-5.0.6.5 --------------------------------------------------
 ---------------------------------------------------------------------

 The crypto-5.0.6.5 application can be applied independently of other
 applications on a full OTP 24 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18996    Application(s): crypto
               Related Id(s): PR-8173, PR-8174

               The function crypto:pbkdf2_hmac will no longer block
               the main schedulers. If the iteration count or block
               size parameters are such that the function is likely to
               take a long time to execute, the function will be
               scheduled to run on a dirty CPU scheduler.


 Full runtime dependencies of crypto-5.0.6.5: erts-9.0, kernel-5.3,
 stdlib-3.4


 ---------------------------------------------------------------------
 --- erts-12.3.2.17 --------------------------------------------------
 ---------------------------------------------------------------------

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

       On a full OTP 24 installation, also the following runtime
       dependency has to be satisfied:
       -- kernel-8.3 (first satisfied in OTP 24.3)


 --- Fixed Bugs and Malfunctions ---

  OTP-19006    Application(s): erts

               The code server could be hanging if a module with
               on_load function was loaded at the same time as another
               module was purged using erlang:purge_module directly.


  OTP-19015    Application(s): erts
               Related Id(s): ERIERL-682

               Fix bug in re:run/3 where if an invalid UTF-8 subject
               was given, re:run could get stuck in an infinite loop.
               Bug was introduced in Erlang/OTP 22.1.


  OTP-19034    Application(s): erts

               Calling erlang:trace/3 with first argument one of
               ports, processes, existing_ports, existing_processes,
               existing or all, could cause emulator crash if a dirty
               scheduler was executing a simultaneous trace action.


  OTP-19036    Application(s): erts
               Related Id(s): GH-8186

               Fixed an integer overflow when the monotonic time unit
               reported by the operating system was greater than 10
               and lower than 100 microseconds.


  OTP-19043    Application(s): erts
               Related Id(s): PR-8342

               When a traced process executing on a dirty scheduler
               received an exit signal, the dirty scheduler could use
               the wrong thread specific data which could lead to a
               crash.


  OTP-19048    Application(s): erts
               Related Id(s): PR-8343

               Fixed a more or less harmless bug that caused time
               correction of Erlang monotonic time to become slightly
               off on Windows platforms when QueryPerformanceCounter()
               was used as OS monotonic time source.

               erlang:system_info(os_monotonic_time_source) now also
               returns information about used resolution which not
               always corresponds to the resolution of the OS
               monotonic time source.


 --- Improvements and New Features ---

  OTP-19044    Application(s): erts
               Related Id(s): ERIERL-1043, PR-8342

               Checks for monotonicity of monotonic time have been
               improved so that Erlang and OS monotonic time are
               checked separately.

               A new configure argument
               --enable-ensure-os-monotonic-time has also been added.
               It enables functionality ensuring the monotonicity of
               monotonic timestamps delivered by the OS. When a
               non-monotonic timestamp is detected, it will be
               replaced by the last delivered monotonic timestamp
               before being used by Erlang's time functionality. Note
               that you do not want to enable this unless the OS
               monotonic time source on the system fails to produce
               monotonic timestamps. This since ensuring the
               monotonicity of OS monotonic timestamps will hurt
               scalability and performance of the system.


 Full runtime dependencies of erts-12.3.2.17: kernel-8.3, sasl-3.3,
 stdlib-3.13


 ---------------------------------------------------------------------
 --- ssh-4.13.2.6 ----------------------------------------------------
 ---------------------------------------------------------------------

 The ssh-4.13.2.6 application can be applied independently of other
 applications on a full OTP 24 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18986    Application(s): ssh

               With this change, more secure algorithms are preferred
               by ssh and documentation is updated to reflect that.


  OTP-19002    Application(s): ssh
               Related Id(s): ERIERL-1041

               With this change, KEX strict terminal message is
               emitted with debug verbosity.


  OTP-19013    Application(s): ssh
               Related Id(s): GH-7897, PR-8220

               With this change, owner and group file attributes
               decoding is fixed and results with value of integer
               type.


 Full runtime dependencies of ssh-4.13.2.6: crypto-5.0, erts-9.0,
 kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15


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

OTP-27.0-rc2

21 Mar 07:46
Compare
Choose a tag to compare
OTP-27.0-rc2 Pre-release
Pre-release

Erlang/OTP 27.0-rc2 is the second release candidate of three before the OTP 27.0 release.

The intention with this release is to get feedback from our users.
All feedback is welcome, even if it is only to say that it works for you.
We encourage users to try it out and give us feedback either by creating an issue at
https://github.com/erlang/otp/issues or by posting to Erlang Forums.

All artifacts for the release can be downloaded from the Erlang/OTP Github release
and you can view the new documentation at https://erlang.org/documentation/doc-15.0-rc2/doc.
You can also install the latest release using kerl like this:

kerl build 27.0-rc2 27.0-rc2.

Erlang/OTP 27 is a new major release with new features, improvements
as well as a few incompatibilities. Some of the new features are
highlighted below.

Many thanks to all contributors!

Highlights for RC2

  • There is a new module json for encoding and decoding JSON.

    Both encoding and decoding can be customized. Decoding can be done in a
    SAX-like fashion and handle multiple documents and streams of data.

    The new json module is used by the jer (JSON Encoding Rules) for ASN.1
    for encoding and decoding JSON. Thus, there is no longer any need to supply
    an external JSON library.

Other notable changes in RC2

  • The existing experimental support for archive files will be changed in a
    future release. The support for having an archive in an escript will remain,
    but the support for using archives in a release will either become more
    limited or completely removed.

    As of Erlang/OTP 27, the function code:lib_dir/2, the -code_path_choice
    flag, and using erl_prim_loader for reading members of an archive are
    deprecated.

    To remain compatible with future version of Erlang/OTP escript scripts that
    need to retrieve data files from its archive should use escript:extract/2
    instead of erl_prim_loader and code:lib_dir/2.

  • The order in which the compiler looks up options has changed.

    When there is a conflict in the compiler options given in the -compile()
    attribute and options given to the compiler, the options given in the
    -compile() attribute overrides the option given to the compiler, which in
    turn overrides options given in the ERL_COMPILER_OPTIONS environment
    variable.

    Example:

    If some_module.erl has the following attribute:

    -compile([nowarn_missing_spec]).

    and the compiler is invoked like so:

    % erlc +warn_missing_spec some_module.erl
    

    no warnings will be issued for functions that do not have any specs.

  • configure now automatically enables support for year-2038-safe timestamps.

    By default configure scripts used when building OTP will now try
    to enable support for timestamps that will work after mid-January
    2038. This has typically only been an issue on 32-bit platforms.

    If configure cannot figure out how to enable such timestamps, it
    will abort with an error message. If you want to build the system
    anyway, knowing that the system will not function properly after
    mid-January 2038, you can pass the --disable-year2038 option to
    configure, which will enable configure to continue without
    support for timestamps after mid-January 2038.

Highlights for RC1

Documentation

EEP-59 has been
implemented. Documentation attributes in source files can now be used
to document functions, types, callbacks, and modules.

The entire Erlang/OTP documentation is now using the new documentation
system.

New language features

  • Triple-Quoted Strings has been implemented as per
    EEP 64 to allow a string
    to encompass a complete paragraph.

  • Adjacent string literals without intervening white space is now a syntax
    error, to avoid possible confusion with triple-quoted strings.

  • Sigils on string literals (both ordinary and triple-quoted) have
    been implemented as per
    EEP 66. For example,
    ~"Bjรถrn" or ~b"Bjรถrn" are now equivalent to <<"Bjรถrn"/utf8>>.

Compiler and JIT improvements

  • The compiler will now merge consecutive updates of the same record.

  • Safe destructive update of tuples has been implemented in the compiler
    and runtime system. This allows the VM to update tuples in-place when it
    is safe to do so, thus improving performance by doing less copying but
    also by producing less garbage.

  • The maybe expression is now enabled by default, eliminating the need
    for enabling the maybe_expr feature.

  • Native coverage support has been implemented in the JIT. It will
    automatically be used by the cover tool to reduce the execution
    overhead when running cover-compiled code. There are also new APIs
    to support native coverage without using the cover tool.

  • The compiler will now raise a warning when updating record/map literals
    to catch a common mistake. For example, the compiler will now emit a
    warning for #r{a=1}#r{b=2}.

ERTS

  • The erl command now supports the -S flag, which is similar to
    the -run flag, but with some of the rough edges filed off.

  • By default, escripts will now be compiled instead of interpreted. That
    means that the compiler application must be installed.

  • The default process limit has been raised to 1048576 processes.

  • The erlang:system_monitor/2 functionality is now able to monitor long
    message queues in the system.

  • The obsolete and undocumented support for opening a port to an external
    resource by passing an atom (or a string) as first argument to
    open_port(), implemented by the vanilla driver,
    has been removed. This feature has been scheduled for removal in OTP 27
    since the release of OTP 26.

  • The pid field has been removed from erlang:fun_info/1,2.

  • Multiple trace sessions are now supported.

STDLIB

  • Several new functions that accept funs have been added to module timer.

  • The functions is_equal/2, map/2, and filtermap/2 have been added to
    the modules sets, ordsets, and gb_sets.

  • There are new efficient ets traversal functions with guaranteed atomicity.
    For example, ets:next/2 followed by ets:lookup/2 can now be replaced
    with ets:next_lookup/1.

  • The new function ets:update_element/4 is similar to ets:update_element/3,
    but takes a default tuple as the fourth argument, which will be inserted
    if no previous record with that key exists.

  • binary:replace/3,4 now supports using a fun for supplying the
    replacement binary.

  • The new function proc_lib:set_label/1 can be used to add a descriptive
    term to any process that does not have a registered name. The name will
    be shown by tools such as c:i/0 and observer, and it will be included
    in crash reports produced by processes using gen_server, gen_statem,
    gen_event, and gen_fsm.

  • Added functions to retrieve the next higher or lower key/element from
    gb_trees and gb_sets, as well as returning iterators that start at
    given keys/elements.

common_test

  • Calls to ct:capture_start/0 and ct:capture_stop/0 are now synchronous to
    ensure that all output is captured.

  • The default CSS will now include a basic dark mode handling if it is
    preferred by the browser.

crypto

  • The functions crypto_dyn_iv_init/3 and crypto_dyn_iv_update/3
    that were marked as deprecated in Erlang/OTP 25 have been removed.

dialyzer

  • The --gui option for Dialyzer has been removed.

ssl

  • The ssl client can negotiate and handle certificate status request (OCSP
    stapling support on the client side).

tools

  • There is a new tool tprof, which combines the functionality of eprof
    and cprof under one interface. It also adds heap profiling.

xmerl

  • As an alternative to xmerl_xml, a new export module xmerl_xml_indent
    that provides out-of-the box indented output has been added.

For more details about new features and potential incompatibilities see the README.

OTP 22.3.4.27

18 Mar 17:05
Compare
Choose a tag to compare
Patch Package:           OTP 22.3.4.27
Git Tag:                 OTP-22.3.4.27
Date:                    2024-03-18
Trouble Report Id:       OTP-18169, OTP-18170, OTP-18175, OTP-18197,
                         OTP-18258, OTP-18897, OTP-19002
Seq num:                 ERIERL-1041, GH-6165, GH-6309, PR-6134,
                         PR-6135, PR-6142, PR-6213, PR-6324
System:                  OTP
Release:                 22
Application:             erts-10.7.2.19, ssh-4.9.1.5
Predecessor:             OTP 22.3.4.26

 Check out the git tag OTP-22.3.4.27, 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-18897    Application(s): ssh

               With this change (being response to CVE-2023-48795),
               ssh can negotiate "strict KEX" OpenSSH extension with
               peers supporting it; also
               '[email protected]' algorithm becomes a
               less preferred cipher.

               If strict KEX availability cannot be ensured on both
               connection sides, affected encryption modes(CHACHA and
               CBC) can be disabled with standard ssh configuration.
               This will provide protection against vulnerability, but
               at a cost of affecting interoperability. See
               Configuring algorithms in SSH User's Guide.


 ---------------------------------------------------------------------
 --- erts-10.7.2.19 --------------------------------------------------
 ---------------------------------------------------------------------

 Note! The erts-10.7.2.19 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.2.5 (first satisfied in OTP 22.3.4.25)


 --- Fixed Bugs and Malfunctions ---

  OTP-18169    Application(s): erts
               Related Id(s): PR-6134

               A race could cause process_info(Pid, message_queue_len)
               on other processes to return invalid results.


  OTP-18170    Application(s): erts
               Related Id(s): PR-6135

               Fixed reduction counting for handling process system
               tasks.


  OTP-18175    Application(s): erts
               Related Id(s): PR-6142

               Priority elevation of terminating processes did not
               work which could cause execution of such processes to
               be delayed.


  OTP-18197    Application(s): erts
               Related Id(s): GH-6165, PR-6213

               The erlang:monotonic_time/1, erlang:system_time/1,
               erlang:time_offset/1, and os:system_time/1 BIFs
               erroneously failed when passed the argument native.


  OTP-18258    Application(s): erts
               Related Id(s): GH-6309, PR-6324

               Notifications about available distribution data sent to
               distribution controller processes could be lost.
               Distribution controller processes can be used when
               implementing an alternative distribution carrier. The
               default distribution over tcp was not effected and the
               bug was also not present on x86/x86_64 platforms.


 Full runtime dependencies of erts-10.7.2.19: kernel-6.5.2.5,
 sasl-3.3, stdlib-3.5


 ---------------------------------------------------------------------
 --- ssh-4.9.1.5 -----------------------------------------------------
 ---------------------------------------------------------------------

 Note! The ssh-4.9.1.5 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-18897    Application(s): ssh

               *** POTENTIAL INCOMPATIBILITY ***

               With this change (being response to CVE-2023-48795),
               ssh can negotiate "strict KEX" OpenSSH extension with
               peers supporting it; also
               '[email protected]' algorithm becomes a
               less preferred cipher.

               If strict KEX availability cannot be ensured on both
               connection sides, affected encryption modes(CHACHA and
               CBC) can be disabled with standard ssh configuration.
               This will provide protection against vulnerability, but
               at a cost of affecting interoperability. See
               Configuring algorithms in SSH User's Guide.


  OTP-19002    Application(s): ssh
               Related Id(s): ERIERL-1041

               With this change, KEX strict terminal message is
               emitted with debug verbosity.


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


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

OTP 23.3.4.20

18 Mar 10:19
Compare
Choose a tag to compare
Patch Package:           OTP 23.3.4.20
Git Tag:                 OTP-23.3.4.20
Date:                    2024-03-18
Trouble Report Id:       OTP-18897, OTP-19002
Seq num:                 ERIERL-1041
System:                  OTP
Release:                 23
Application:             ssh-4.11.1.7
Predecessor:             OTP 23.3.4.19

 Check out the git tag OTP-23.3.4.20, 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-18897    Application(s): ssh

               With this change (being response to CVE-2023-48795),
               ssh can negotiate "strict KEX" OpenSSH extension with
               peers supporting it; also
               '[email protected]' algorithm becomes a
               less preferred cipher.

               If strict KEX availability cannot be ensured on both
               connection sides, affected encryption modes(CHACHA and
               CBC) can be disabled with standard ssh configuration.
               This will provide protection against vulnerability, but
               at a cost of affecting interoperability. See
               Configuring algorithms in SSH User's Guide.


 ---------------------------------------------------------------------
 --- ssh-4.11.1.7 ----------------------------------------------------
 ---------------------------------------------------------------------

 The ssh-4.11.1.7 application can be applied independently of other
 applications on a full OTP 23 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18897    Application(s): ssh

               *** POTENTIAL INCOMPATIBILITY ***

               With this change (being response to CVE-2023-48795),
               ssh can negotiate "strict KEX" OpenSSH extension with
               peers supporting it; also
               '[email protected]' algorithm becomes a
               less preferred cipher.

               If strict KEX availability cannot be ensured on both
               connection sides, affected encryption modes(CHACHA and
               CBC) can be disabled with standard ssh configuration.
               This will provide protection against vulnerability, but
               at a cost of affecting interoperability. See
               Configuring algorithms in SSH User's Guide.


  OTP-19002    Application(s): ssh
               Related Id(s): ERIERL-1041

               With this change, KEX strict terminal message is
               emitted with debug verbosity.


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


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

OTP 25.3.2.10

13 Mar 08:09
Compare
Choose a tag to compare
Patch Package:           OTP 25.3.2.10
Git Tag:                 OTP-25.3.2.10
Date:                    2024-03-13
Trouble Report Id:       OTP-18971, OTP-18986, OTP-18996, OTP-19002,
                         OTP-19003, OTP-19006, OTP-19008, OTP-19015,
                         OTP-19019
Seq num:                 ERIERL-1041, ERIERL-682, GH-8044, GH-8119,
                         GH-8187, PR-8173, PR-8174, PR-8189, PR-8201
System:                  OTP
Release:                 25
Application:             compiler-8.2.6.4, crypto-5.1.4.2,
                         erts-13.2.2.7, ssh-4.15.3.3
Predecessor:             OTP 25.3.2.9

 Check out the git tag OTP-25.3.2.10, 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-8.2.6.4 ------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19003    Application(s): compiler
               Related Id(s): GH-8187, PR-8189

               In rare circumstances, an unsafe optimization could
               cause the compiler to generate incorrect code for list
               matching.


  OTP-19019    Application(s): compiler

               In rare circumstances, the compiler code generate
               unsafe code for a bit syntax match.


 Full runtime dependencies of compiler-8.2.6.4: crypto-5.1, erts-13.0,
 kernel-8.4, stdlib-4.0


 ---------------------------------------------------------------------
 --- crypto-5.1.4.2 --------------------------------------------------
 ---------------------------------------------------------------------

 The crypto-5.1.4.2 application can be applied independently of other
 applications on a full OTP 25 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18996    Application(s): crypto
               Related Id(s): PR-8173, PR-8174

               The function crypto:pbkdf2_hmac will no longer block
               the main schedulers. If the iteration count or block
               size parameters are such that the function is likely to
               take a long time to execute, the function will be
               scheduled to run on a dirty CPU scheduler.


 Full runtime dependencies of crypto-5.1.4.2: erts-9.0, kernel-5.3,
 stdlib-3.9


 ---------------------------------------------------------------------
 --- erts-13.2.2.7 ---------------------------------------------------
 ---------------------------------------------------------------------

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

       On a full OTP 25 installation, also the following runtime
       dependencies have to be satisfied:
       -- kernel-8.5 (first satisfied in OTP 25.1)
       -- stdlib-4.1 (first satisfied in OTP 25.1)


 --- Fixed Bugs and Malfunctions ---

  OTP-18971    Application(s): erts
               Related Id(s): GH-8044

               Fix heap corruption bug that could cause runaway memory
               consumption due to circular offheap list at process
               exit. Other symptoms may also be possible. Bug exists
               since OTP 25.0.


  OTP-19006    Application(s): erts

               The code server could be hanging if a module with
               on_load function was loaded at the same time as another
               module was purged using erlang:purge_module directly.


  OTP-19008    Application(s): erts
               Related Id(s): GH-8119, PR-8201

               A process optimized for parallel signal delivery could
               under some circumstances lose wakeup information. That
               is, the processes was not woken up to take care of the
               signal, so the signal would not be taken care of until
               the process was woken by another signal. Only processes
               configured with message_queue_data set to off_heap
               utilize this optimization.


  OTP-19015    Application(s): erts
               Related Id(s): ERIERL-682

               Fix bug in re:run/3 where if an invalid UTF-8 subject
               was given, re:run could get stuck in an infinite loop.
               Bug was introduced in Erlang/OTP 22.1.


 Full runtime dependencies of erts-13.2.2.7: kernel-8.5, sasl-3.3,
 stdlib-4.1


 ---------------------------------------------------------------------
 --- ssh-4.15.3.3 ----------------------------------------------------
 ---------------------------------------------------------------------

 The ssh-4.15.3.3 application can be applied independently of other
 applications on a full OTP 25 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18986    Application(s): ssh

               With this change, more secure algorithms are preferred
               by ssh and documentation is updated to reflect that.


  OTP-19002    Application(s): ssh
               Related Id(s): ERIERL-1041

               With this change, KEX strict terminal message is
               emitted with debug verbosity.


 Full runtime dependencies of ssh-4.15.3.3: crypto-5.0, erts-11.0,
 kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15


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

OTP-26.2.3

07 Mar 11:18
Compare
Choose a tag to compare
Patch Package:           OTP 26.2.3
Git Tag:                 OTP-26.2.3
Date:                    2024-03-07
Trouble Report Id:       OTP-18890, OTP-18900, OTP-18906, OTP-18907,
                         OTP-18909, OTP-18910, OTP-18919, OTP-18921,
                         OTP-18924, OTP-18926, OTP-18935, OTP-18936,
                         OTP-18937, OTP-18940, OTP-18948, OTP-18952,
                         OTP-18953, OTP-18962, OTP-18971, OTP-18974,
                         OTP-18979, OTP-18982, OTP-18985, OTP-18986,
                         OTP-18988, OTP-18990, OTP-18991, OTP-18996,
                         OTP-19002, OTP-19003, OTP-19006, OTP-19007,
                         OTP-19008, OTP-19009, OTP-19011
Seq num:                 ERIERL-1041, ERIERL-1049, GH-7911, GH-7924,
                         GH-7934, GH-7968, GH-8016, GH-8021, GH-8024,
                         GH-8044, GH-8079, GH-8119, GH-8158, GH-8187,
                         PR-7750, PR-7930, PR-7932, PR-7933, PR-7945,
                         PR-7984, PR-8025, PR-8046, PR-8075, PR-8173,
                         PR-8174, PR-8181, PR-8189, PR-8201
System:                  OTP
Release:                 26
Application:             compiler-8.4.2, crypto-5.4.1, erts-14.2.3,
                         kernel-9.2.2, odbc-2.14.2, public_key-1.15.1,
                         ssh-5.1.3, ssl-11.1.2, stdlib-5.2.1, wx-2.4.1
Predecessor:             OTP 26.2.2

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

 ---------------------------------------------------------------------
 --- OTP-26.2.3 ------------------------------------------------------
 ---------------------------------------------------------------------

 --- Fixed Bugs and Malfunctions ---

  OTP-18924    Application(s): otp

               Quote uninstall path in registry when installing on
               windows.


 ---------------------------------------------------------------------
 --- compiler-8.4.2 --------------------------------------------------
 ---------------------------------------------------------------------

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

 --- Fixed Bugs and Malfunctions ---

  OTP-19003    Application(s): compiler
               Related Id(s): GH-8187, PR-8189

               In rare circumstances, an unsafe optimization could
               cause the compiler to generate incorrect code for list
               matching.


 --- Improvements and New Features ---

  OTP-18936    Application(s): compiler

               Fix the compilation server to restart if the
               applications in its lib dir changes inbetween erlc
               invokations.


 Full runtime dependencies of compiler-8.4.2: crypto-5.1, erts-13.0,
 kernel-8.4, stdlib-5.0


 ---------------------------------------------------------------------
 --- crypto-5.4.1 ----------------------------------------------------
 ---------------------------------------------------------------------

 The crypto-5.4.1 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18921    Application(s): crypto

               Fix compile error when OPENSSL_NO_DES is defined.


  OTP-18996    Application(s): crypto
               Related Id(s): PR-8173, PR-8174

               The function crypto:pbkdf2_hmac will no longer block
               the main schedulers. If the iteration count or block
               size parameters are such that the function is likely to
               take a long time to execute, the function will be
               scheduled to run on a dirty CPU scheduler.


 Full runtime dependencies of crypto-5.4.1: erts-9.0, kernel-5.3,
 stdlib-3.9


 ---------------------------------------------------------------------
 --- erts-14.2.3 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-14.2.3 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18906    Application(s): erts
               Related Id(s): PR-7930

               Fixed compile warning in erl_nif.c for gcc-13.


  OTP-18907    Application(s): erts
               Related Id(s): PR-7932

               Fix C++ compile error for macros enif_select_read and
               friends.


  OTP-18940    Application(s): erts
               Related Id(s): GH-8024

               Fixed a name clash on Solaris that prevented the JIT
               from being built.


  OTP-18952    Application(s): erts
               Related Id(s): PR-8025

               Fix termcap detection on solaris.


  OTP-18971    Application(s): erts
               Related Id(s): GH-8044

               Fix heap corruption bug that could cause runaway memory
               consumption due to circular offheap list at process
               exit. Other symptoms may also be possible. Bug exists
               since OTP 25.0.


  OTP-18979    Application(s): erts

               Do not clear tracing in old module instance if load
               fails with 'not_purged'.


  OTP-18982    Application(s): erts

               When exceeding the `max_heap_size` limit in a garbage
               collection initiated by some bit syntax operations, the
               process would not always terminate immediately.


  OTP-19006    Application(s): erts

               The code server could be hanging if a module with
               on_load function was loaded at the same time as another
               module was purged using erlang:purge_module directly.


  OTP-19008    Application(s): erts
               Related Id(s): GH-8119, PR-8201

               A process optimized for parallel signal delivery could
               under some circumstances lose wakeup information. That
               is, the processes was not woken up to take care of the
               signal, so the signal would not be taken care of until
               the process was woken by another signal. Only processes
               configured with message_queue_data set to off_heap
               utilize this optimization.


  OTP-19009    Application(s): erts
               Related Id(s): PR-8181

               Fix segfault when generating crashdump containing a fun
               places in persistent_term storage.


  OTP-19011    Application(s): erts

               By default the JIT is disabled on Intel Macs, because
               of annoying poups on macOS Sonoma. It is now possible
               to explicitly enable the JIT on Intel Macs. Here is
               how: ./configure --enable-jit


 Full runtime dependencies of erts-14.2.3: kernel-9.0, sasl-3.3,
 stdlib-4.1


 ---------------------------------------------------------------------
 --- kernel-9.2.2 ----------------------------------------------------
 ---------------------------------------------------------------------

 The kernel-9.2.2 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18910    Application(s): kernel
               Related Id(s): GH-7924, PR-7933

               Fix performance bug when using io:fread to read from
               standard_io. This regression was introduced in OTP
               26.0.


  OTP-18948    Application(s): kernel
               Related Id(s): PR-8046

               A bug in the code server could cause it to crash in
               some concurrent scenarios. This bug was introduced in
               26.1.


  OTP-18990    Application(s): kernel
               Related Id(s): GH-8158

               Fixed gen_udp:open/2 type spec to include already
               supported module socket address types.


  OTP-19007    Application(s): kernel, ssh
               Related Id(s): ERIERL-1049

               Fix reading of password for ssh client when in
               user_interactive mode.


 Full runtime dependencies of kernel-9.2.2: crypto-5.0, erts-14.0,
 sasl-3.0, stdlib-5.0


 ---------------------------------------------------------------------
 --- odbc-2.14.2 -----------------------------------------------------
 ---------------------------------------------------------------------

 The odbc-2.14.2 application can be applied independently of other
 applications on a full OTP 26 installation.

 --- Improvements and New Features ---

  OTP-18926    Application(s): odbc

               Use spec for API doc


 Full runtime dependencies of odbc-2.14.2: erts-6.0, kernel-3.0,
 stdlib-2.0


 ---------------------------------------------------------------------
 --- public_key-1.15.1 -----------------------------------------------
 ---------------------------------------------------------------------

 The public_key-1.15.1 application can be applied independently of
 other applications on a full OTP 26 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18935    Application(s): public_key
               Related Id(s): GH-8021

               Hostname prefix with X number of dots should not be
               accepted.


 Full runtime dependencies of public_key-1.15.1: asn1-3.0, crypto-4.6,
 erts-6.0, kernel-3.0, stdlib-3.5


 ---------------------------------------------------------------------
 --- ssh-5.1.3 -------------------------------------------------------
 -----...
Read more

OTP 27.0-rc1

14 Feb 09:40
Compare
Choose a tag to compare
OTP 27.0-rc1 Pre-release
Pre-release

OTP 27.0-rc1

Erlang/OTP 27.0-rc1 is the first release candidate of three before the OTP 27.0 release.

The intention with this release is to get feedback from our users.
All feedback is welcome, even if it is only to say that it works for you.
We encourage users to try it out and give us feedback either by creating an issue at
https://github.com/erlang/otp/issues or by
posting to Erlang Forums.

All artifacts for the release can be downloaded from the
Erlang/OTP Github release
and you can view the new documentation at
https://erlang.org/documentation/doc-15.0-rc1/doc.
You can also install the latest release using kerl like this:

kerl build 27.0-rc1 27.0-rc1.

Erlang/OTP 27 is a new major release with new features, improvements
as well as a few incompatibilities. Some of the new features are
highlighted below.

Many thanks to all contributors!

Highlights

Documentation

EEP-59 has been
implemented. Documentation attributes in source files can now be used
to document functions, types, callbacks, and modules.

The entire Erlang/OTP documentation is now using the new documentation
system.

New language features

  • Triple-Quoted Strings has been implemented as per
    EEP 64 to allow a string
    to encompass a complete paragraph.

  • Adjacent string literals without intervening white space is now a syntax
    error, to avoid possible confusion with triple-quoted strings.

  • Sigils on string literals (both ordinary and triple-quoted) have
    been implemented as per
    EEP 66. For example,
    ~"Bjรถrn" or ~b"Bjรถrn" are now equivalent to <<"Bjรถrn"/utf8>>.

Compiler and JIT improvements

  • The compiler will now merge consecutive updates of the same record.

  • Safe destructive update of tuples has been implemented in the compiler
    and runtime system. This allows the VM to update tuples in-place when it
    is safe to do so, thus improving performance by doing less copying but
    also by producing less garbage.

  • The maybe expression is now enabled by default, eliminating the need
    for enabling the maybe_expr feature.

  • Native coverage support has been implemented in the JIT. It will
    automatically be used by the cover tool to reduce the execution
    overhead when running cover-compiled code. There are also new APIs
    to support native coverage without using the cover tool.

  • The compiler will now raise a warning when updating record/map literals
    to catch a common mistake. For example, the compiler will now emit a
    warning for #r{a=1}#r{b=2}.

ERTS

  • The erl command now supports the -S flag, which is similar to
    the -run flag, but with some of the rough edges filed off.

  • By default, escripts will now be compiled instead of interpreted. That
    means that the compiler application must be installed.

  • The default process limit has been raised to 1048576 processes.

  • The erlang:system_monitor/2 functionality is now able to monitor long
    message queues in the system.

  • The obsolete and undocumented support for opening a port to an external
    resource by passing an atom (or a string) as first argument to
    open_port(), implemented by the vanilla driver,
    has been removed. This feature has been scheduled for removal in OTP 27
    since the release of OTP 26.

  • The pid field has been removed from erlang:fun_info/1,2.

  • Multiple trace sessions are now supported.

STDLIB

  • Several new functions that accept funs have been added to module timer.

  • The functions is_equal/2, map/2, and filtermap/2 have been added to
    the modules sets, ordsets, and gb_sets.

  • There are new efficient ets traversal functions with guaranteed atomicity.
    For example, ets:next/2 followed by ets:lookup/2 can now be replaced
    with ets:next_lookup/1.

  • The new function ets:update_element/4 is similar to ets:update_element/3,
    but takes a default tuple as the fourth argument, which will be inserted
    if no previous record with that key exists.

  • binary:replace/3,4 now supports using a fun for supplying the
    replacement binary.

  • The new function proc_lib:set_label/1 can be used to add a descriptive
    term to any process that does not have a registered name. The name will
    be shown by tools such as c:i/0 and observer, and it will be included
    in crash reports produced by processes using gen_server, gen_statem,
    gen_event, and gen_fsm.

  • Added functions to retrieve the next higher or lower key/element from
    gb_trees and gb_sets, as well as returning iterators that start at
    given keys/elements.

common_test

  • Calls to ct:capture_start/0 and ct:capture_stop/0 are now synchronous to
    ensure that all output is captured.

  • The default CSS will now include a basic dark mode handling if it is
    preferred by the browser.

crypto

  • The functions crypto_dyn_iv_init/3 and crypto_dyn_iv_update/3
    that were marked as deprecated in Erlang/OTP 25 have been removed.

dialyzer

  • The --gui option for Dialyzer has been removed.

ssl

  • The ssl client can negotiate and handle certificate status request (OCSP
    stapling support on the client side).

tools

  • There is a new tool tprof, which combines the functionality of eprof
    and cprof under one interface. It also adds heap profiling.

xmerl

  • As an alternative to xmerl_xml, a new export module xmerl_xml_indent
    that provides out-of-the box indented output has been added.

For more details about new features and potential incompatibilities see the README.

OTP 24.3.4.16

12 Feb 11:58
Compare
Choose a tag to compare
Patch Package:           OTP 24.3.4.16
Git Tag:                 OTP-24.3.4.16
Date:                    2024-02-12
Trouble Report Id:       OTP-18911, OTP-18932, OTP-18964
Seq num:                 ERIERL-1023
System:                  OTP
Release:                 24
Application:             common_test-1.22.1.2, erts-12.3.2.16,
                         ssh-4.13.2.5
Predecessor:             OTP 24.3.4.15

 Check out the git tag OTP-24.3.4.16, 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.22.1.2 --------------------------------------------
 ---------------------------------------------------------------------

 The common_test-1.22.1.2 application can be applied independently of
 other applications on a full OTP 24 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18932    Application(s): common_test

               Fix how CT finds Erlang/OTP releases for compatability
               testing. This functionality is only used to test
               Erlang/OTP.


 Full runtime dependencies of common_test-1.22.1.2: 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


 ---------------------------------------------------------------------
 --- erts-12.3.2.16 --------------------------------------------------
 ---------------------------------------------------------------------

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

       On a full OTP 24 installation, also the following runtime
       dependency has to be satisfied:
       -- kernel-8.3 (first satisfied in OTP 24.3)


 --- Fixed Bugs and Malfunctions ---

  OTP-18911    Application(s): erts
               Related Id(s): ERIERL-1023, PR-7983

               32-bit runtime systems on most Unix like platforms
               could crash if a BIF timer was set with a huge timeout
               of more than 68 years into the future. In order for the
               crash to occur, the huge timer (at a later time than
               when it was set) had to become the nearest active timer
               set on the specific scheduler on which it was set. This
               could not happen on a system with only one scheduler
               since there would always be shorter timers in the
               system.

               Setting a timer larger than 49 days on Windows could
               under rare circumstances cause the timeout to be
               delayed.


 Full runtime dependencies of erts-12.3.2.16: kernel-8.3, sasl-3.3,
 stdlib-3.13


 ---------------------------------------------------------------------
 --- ssh-4.13.2.5 ----------------------------------------------------
 ---------------------------------------------------------------------

 The ssh-4.13.2.5 application can be applied independently of other
 applications on a full OTP 24 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-18964    Application(s): ssh

               With this change, Curve25519 and Curve448 KEX methods
               become most preferred (related to RFC8731).


 Full runtime dependencies of ssh-4.13.2.5: crypto-5.0, erts-9.0,
 kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15


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