chore(deps): update dependency erlang to v28.3 #152
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/erlang-28.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
28.2->28.3Release Notes
erlang/otp (erlang)
v28.3: OTP 28.3Compare Source
Check out the git tag OTP-28.3, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.
HIGHLIGHTS
Add support for MLKEM hybrid algorithms x25519mlkem768, secp384r1mlkem1024, secp256r1mlkem768 in TLS-1.3
Own Id: OTP-19767
Application(s): ssl
Related Id(s): PR-10262
Support for the socket options TCP_KEEPCNT, TCP_KEEPIDLE, and TCP_KEEPINTVL have been implemented for
gen_tcp, as well as TCP_USER_TIMEOUT for bothgen_tcpandsocket.Own Id: OTP-19857
Application(s): erts, kernel
Related Id(s): PR-10390, OTP-19814
Add support in public_key and ssl for post quantum algorithm SLH-DSA.
Own Id: OTP-19867
Application(s): public_key, ssl
Related Id(s): PR-10398
Publish OpenVEX statements in https://erlang.org/download/vex/
OpenVEX statements contain the same information as the OTP advisories, with the addition of vendor CVEs for which Erlang/OTP is not affected. This is important to silence vulnerability scanners that may claim Erlang/OTP to be vulnerable to vendor dependency projects, e.g.,
openssl.OpenVEX statements will be published in https://erlang.org/download/vex/ where there will be an OTP file per release, e.g., https://erlang.org/download/vex/otp-28.openvex.json.
Erlang/OTP publishes OpenVEX statements for all supported releases, that is, as of today, OTP-26, OTP-27, and OTP-28.
The source SBOM tooling (oss-review-toolkit) has been updated to produce source SBOM in SPDX v2.3 format, and the source SBOM now links OpenVEX statements to a security external reference. This means that by simply analyzing the source SBOM, everyone can further read the location of the OpenVEX statements and further process them.
Own Id: OTP-19878
Application(s): otp
Related Id(s): PR-10428, PR-10452
POTENTIAL INCOMPATIBILITIES
Adjustment in ssh_file module allowing inclusion of Erlang/OTP license in test files containing keys.
Own Id: OTP-19743
Application(s): ssh
Related Id(s): PR-10177
OTP-28.3
Fixed Bugs and Malfunctions
Broken sidebar application index, for all OTP applications, are restored.
Own Id: OTP-19877
Related Id(s): ERIERL-1251, PR-10410
Improvements and New Features
Updated the vendor dependencies SHA to improve the accuracy of the source SBOM with
purlpointing to the exact vendor commit that Erlang/OTP builds upon.Own Id: OTP-19777
Related Id(s): PR-10216
OpenVEX statements has been added to rule out false positives on vendor dependencies: CVE-2025-9230, CVE-2025-9231, CVE-2025-9232
Own Id: OTP-19802
Related Id(s): GH-10254, GH-10255, PR-10256
The
mnesia_registrymodule will be removed in Erlang/OTP 29.Own Id: OTP-19808
Related Id(s): PR-10275
Publish OpenVEX statements in https://erlang.org/download/vex/
OpenVEX statements contain the same information as the OTP advisories, with the addition of vendor CVEs for which Erlang/OTP is not affected. This is important to silence vulnerability scanners that may claim Erlang/OTP to be vulnerable to vendor dependency projects, e.g.,
openssl.OpenVEX statements will be published in https://erlang.org/download/vex/ where there will be an OTP file per release, e.g., https://erlang.org/download/vex/otp-28.openvex.json.
Erlang/OTP publishes OpenVEX statements for all supported releases, that is, as of today, OTP-26, OTP-27, and OTP-28.
The source SBOM tooling (oss-review-toolkit) has been updated to produce source SBOM in SPDX v2.3 format, and the source SBOM now links OpenVEX statements to a security external reference. This means that by simply analyzing the source SBOM, everyone can further read the location of the OpenVEX statements and further process them.
Own Id: OTP-19878
Related Id(s): PR-10428, PR-10452
*** HIGHLIGHT ***
common_test-1.29.1
The common_test-1.29.1 application can be applied independently of other applications on a full OTP 28 installation.
Improvements and New Features
Updated the vendor dependencies SHA to improve the accuracy of the source SBOM with
purlpointing to the exact vendor commit that Erlang/OTP builds upon.Own Id: OTP-19777
Related Id(s): PR-10216
compiler-9.0.4
The compiler-9.0.4 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
For some function heads or
caseexpressions with a huge number of clauses, the compiler could spend an inordinate amount of time compiling the code.Own Id: OTP-19797
Related Id(s): PR-10252
Passing a type for a fun as a macro argument would result in a "badly formed argument" error message from the compiler. Example:
Compiling this module would result in the following error message:
Own Id: OTP-19821
Related Id(s): GH-10280, PR-10309
In certain edge cases, the compiler could emit code that would do an unsafe destructive update of a tuple. This has been corrected.
Own Id: OTP-19879
Related Id(s): GH-10367, PR-10435
Improvements and New Features
The compiler option
beam_debug_stackcombined withbeam_debug_infowill attempt to make as many variables as possible visible in the debugger. The option has no effect if given withoutbeam_debug_info.Own Id: OTP-19854
Related Id(s): PR-10374
crypto-5.8
The crypto-5.8 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
The deprecated function
crypto:rand_uniform/2has gotten a new replacement functioncrypto:strong_rand_range/1. When implementing this the documentation ofcryptoandrandhas been rewritten a bit and improved.Own Id: OTP-19841
Related Id(s): PR-10344
Improvements and New Features
You can now build OTP with OpenSSL 3.5 or later on windows.
Own Id: OTP-19848
Added SLH-DSA algorithms for sign/verify. Twelve variants supported in total; all combinations of SHAKE or SHA2 hashing, with 128, 192 or 256 bits, and fast(
f) or small(s).Own Id: OTP-19856
Related Id(s): PR-10268
Made
crypto:generate_key(dh, [P, G, MaxPrivateKeyBitLength])accept values ofMaxPrivateKeyBitLengthto be equal or larger than the bit length ofP. If so, the maximum bit length is adjusted down toP's bit length minus one.Own Id: OTP-19872
Related Id(s): PR-10394
diameter-2.6
The diameter-2.6 application can be applied independently of other applications on a full OTP 28 installation.
Improvements and New Features
Add new option 'indirect_inherits' to diameter_make:codec/2
Own Id: OTP-19626
Related Id(s): GH-8235, PR-10149
erl_interface-5.6.2
The erl_interface-5.6.2 application can be applied independently of other applications on a full OTP 28 installation.
Improvements and New Features
Updated the vendor dependencies SHA to improve the accuracy of the source SBOM with
purlpointing to the exact vendor commit that Erlang/OTP builds upon.Own Id: OTP-19777
Related Id(s): PR-10216
Updated MD5 implementation from OpenSSL 3.5.0 to 3.6.0
Own Id: OTP-19870
Related Id(s): PR-10405
Known Bugs and Problems
The
eiAPI for decoding/encoding terms is not fully 64-bit compatible since terms that have a representation on the external term format larger than 2 GB cannot be handled.Own Id: OTP-16607
Related Id(s): OTP-16608
erts-16.2
The erts-16.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a build issue on modern compilers.
Own Id: OTP-19789
Related Id(s): PR-9983
When multiple processes called the same fun whose defining module was not loaded, a
badfunexception could sometimes occur in one of the calling processes. This would only happen with the JIT runtime system.Own Id: OTP-19803
Related Id(s): PR-10257
Fix a bug where Erlang/OTP tools could load a different boot script from CWD.
Own Id: OTP-19819
Related Id(s): PR-10317
Fixed a bug when more than one session traced the same BIF. Disabling tracing for a BIF in one session could incorrectly disable tracing of the BIF in other trace sessions as well.
Own Id: OTP-19840
Related Id(s): PR-10349
Fixed a slight performance regression in
erlang:binary_to_term/1,2.Own Id: OTP-19859
Related Id(s): GH-8329, PR-10383
Two socket related code warts found by PVS Studio has been fixed. One caused
gen_tcpto no convert the send erroreconnabortedtoeconnreseton Windows. The other causedsocket:sendfile/*to indicate the wrong error for a badOffset.Own Id: OTP-19862
Related Id(s): PR-10362, PR-10388
Fixed bug causing VM crash if an Erlang process gets killed while executing
re:runwith a (presumably) large subject string.Own Id: OTP-19888
Related Id(s): GH-10432, PR-10439
Improvements and New Features
Updated the vendor dependencies SHA to improve the accuracy of the source SBOM with
purlpointing to the exact vendor commit that Erlang/OTP builds upon.Own Id: OTP-19777
Related Id(s): PR-10216
Receive buffer allocation has been optimized for
socketsocket in that an underutilized buffers' content is copied to a freshly allocated binary of the right size instead of being reallocated.This optimization was already implemented for the
socket:recv/1functions, but now the same buffer stragegy is shared between allsocketreceive operations.Own Id: OTP-19794
Related Id(s): PR-10231
Option(s) to create
gen_tcpandsocketsockets with protocol IPPROTO_MPTCP has been implemented.See functions
gen_tcp:listen/2,gen_tcp:connect/4and the typesocket:protocol/0.Own Id: OTP-19814
erlcwill now limit the number of ports and processes when startingerlin order to use less memory.Own Id: OTP-19852
Related Id(s): PR-10364
Support for the socket options TCP_KEEPCNT, TCP_KEEPIDLE, and TCP_KEEPINTVL have been implemented for
gen_tcp, as well as TCP_USER_TIMEOUT for bothgen_tcpandsocket.Own Id: OTP-19857
Related Id(s): PR-10390, OTP-19814
*** HIGHLIGHT ***
Limit size of sctp_event_subscribe on Linux
Own Id: OTP-19863
Related Id(s): PR-10321
Updated MD5 implementation from OpenSSL 3.5.0 to 3.6.0
Own Id: OTP-19870
Related Id(s): PR-10405
Improved performance when doing
socket:accepton the same socket from many processes on large multi core systems under high rate of connections. Mitigating performance regression seen since OTP 28.0.Own Id: OTP-19873
Related Id(s): GH-10322, PR-10323
Updated STL version used.
Own Id: OTP-19876
Updated PCRE2 to 10.47. Also picked newer fix, from upstream PCRE2, to bug that could cause benign random uninitialized data in exported regular expressions.
Own Id: OTP-19880
Related Id(s): PR-10391
eunit-2.10.1
The eunit-2.10.1 application can be applied independently of other applications on a full OTP 28 installation.
Improvements and New Features
The usages of deprecated slave module have been removed from the application. The fixture clause for spawning a test node now accepts Args either as a string or a list of strings (previously only a string was accepted).
Own Id: OTP-19738
Related Id(s): PR-10128
inets-9.5
The inets-9.5 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed uri_string:uri_string() to string() type specs inside httpc.erl module.
Own Id: OTP-19835
Related Id(s): PR-10242
Fixed a bug where request options were not applied to a https proxy connection.
Own Id: OTP-19875
Related Id(s): GH-10368, PR-10369
Improvements and New Features
The usages of slave module in inets were removed. The httpd_bench_suite has been updated for SSL testing and is not skipped anymore. The httpd_load_test example has been removed completely as outdated.
Own Id: OTP-19717
Related Id(s): PR-10064
Replace a call to application:which_applications() in httpc:set_options/2 with try...catch to reduce bottleneck.
Own Id: OTP-19884
Related Id(s): GH-10282, PR-10307
kernel-10.5
The kernel-10.5 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a shell crash when calling io:getopts() when user_drv process is not responding/terminating
Own Id: OTP-19812
Related Id(s): PR-10283
logger:get_handler_config/0will no longer crash if a logger handler is removed concurrently with that call.Own Id: OTP-19837
Related Id(s): GH-9997, PR-10308
Fixed a bug in the shell that made it incorrectly output a newline after the output already containing a newline but followed by an asci escape sequence.
Own Id: OTP-19847
Related Id(s): GH-10299
Improvements and New Features
Receive buffer allocation has been optimized for
socketsocket in that an underutilized buffers' content is copied to a freshly allocated binary of the right size instead of being reallocated.This optimization was already implemented for the
socket:recv/1functions, but now the same buffer stragegy is shared between allsocketreceive operations.Own Id: OTP-19794
Related Id(s): PR-10231
Option(s) to create
gen_tcpandsocketsockets with protocol IPPROTO_MPTCP has been implemented.See functions
gen_tcp:listen/2,gen_tcp:connect/4and the typesocket:protocol/0.Own Id: OTP-19814
Support for the socket options TCP_KEEPCNT, TCP_KEEPIDLE, and TCP_KEEPINTVL have been implemented for
gen_tcp, as well as TCP_USER_TIMEOUT for bothgen_tcpandsocket.Own Id: OTP-19857
Related Id(s): PR-10390, OTP-19814
*** HIGHLIGHT ***
Limit size of sctp_event_subscribe on Linux
Own Id: OTP-19863
Related Id(s): PR-10321
mnesia-4.25
The mnesia-4.25 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Add missing documentation about mnesia:activity/4
Own Id: OTP-19769
Related Id(s): PR-10186
With this change mnesia will try to not leak internal messages to user processes.
Own Id: OTP-19855
Related Id(s): GH-10347, PR-10379
Improvements and New Features
The
mnesia_registrymodule will be removed in Erlang/OTP 29.Own Id: OTP-19808
Related Id(s): PR-10275
os_mon-2.11.2
The os_mon-2.11.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a small documentation mistake in memsup
Own Id: OTP-19836
Related Id(s): GH-10330, PR-10308
public_key-1.20
Note! The public_key-1.20 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
Fixed Bugs and Malfunctions
ASN.1 Encoding and decoding of some extensions did not work, e.g.
CRLEntryExtension.Own Id: OTP-19869
Related Id(s): GH-10404, PR-10406
Improvements and New Features
Add support in public_key and ssl for post quantum algorithm SLH-DSA.
Own Id: OTP-19867
Related Id(s): PR-10398
*** HIGHLIGHT ***
snmp-5.20
The snmp-5.20 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a bug where running snmp:config() from Elixir would crash due to io:get_line/1 returning unexpected datatype.
Own Id: OTP-19883
Related Id(s): PR-10326
Improvements and New Features
Inherit ERL_DETERMINISTIC variable for compiling snmp_pdus_basic.beam.
Own Id: OTP-19885
Related Id(s): PR-10288
ssh-5.4
The ssh-5.4 application can be applied independently of other applications on a full OTP 28 installation.
Improvements and New Features
Adjustment in ssh_file module allowing inclusion of Erlang/OTP license in test files containing keys.
Own Id: OTP-19743
Related Id(s): PR-10177
*** POTENTIAL INCOMPATIBILITY ***
ssl-11.5
Note! The ssl-11.5 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
Fixed Bugs and Malfunctions
Setting the internal process links between TLS distribution processes has been reviewed. In the TLS distribution test framework there were issues fixed, but probably not in the TLS distribution module.
Own Id: OTP-19805
Related Id(s): PR-10232
Correct documentation for fail_if_no_peer_cert option.
Own Id: OTP-19828
Related Id(s): PR-10333
Improvements and New Features
Add support for MLKEM hybrid algorithms x25519mlkem768, secp384r1mlkem1024, secp256r1mlkem768 in TLS-1.3
Own Id: OTP-19767
Related Id(s): PR-10262
*** HIGHLIGHT ***
Property based test needed to compare raw handshakes, that is some utility decoding needs to be converted back.
Own Id: OTP-19829
Related Id(s): PR-10335
Add support in public_key and ssl for post quantum algorithm SLH-DSA.
Own Id: OTP-19867
Related Id(s): PR-10398
*** HIGHLIGHT ***
stdlib-7.2
Note! The stdlib-7.2 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
Fixed Bugs and Malfunctions
When creating a tar archive using
erl_tar, leading slashes would be kept for filenames with up to 100 characters. The slash would be dropped for longer filenames. This has been corrected to always keep the leading slash.Own Id: OTP-19066
Related Id(s): PR-8309
For some function heads or
caseexpressions with a huge number of clauses, the compiler could spend an inordinate amount of time compiling the code.Own Id: OTP-19797
Related Id(s): PR-10252
Passing a type for a fun as a macro argument would result in a "badly formed argument" error message from the compiler. Example:
Compiling this module would result in the following error message:
Own Id: OTP-19821
Related Id(s): GH-10280, PR-10309
Fixed an issue that prohibited the use of user defined functions within a restricted shell.
Own Id: OTP-19833
Related Id(s): PR-10315
The deprecated function
crypto:rand_uniform/2has gotten a new replacement functioncrypto:strong_rand_range/1. When implementing this the documentation ofcryptoandrandhas been rewritten a bit and improved.Own Id: OTP-19841
Related Id(s): PR-10344
Fixed a bug in the shell where a reference to a locally defined function would cause a crash.
Own Id: OTP-19850
Related Id(s): GH-10294
Improvements and New Features
You are now able to read the reference manual with man.
Own Id: OTP-19787
Related Id(s): PR-10237
Improved spec for
ets:lookup_element/4.Own Id: OTP-19798
Related Id(s): PR-10236
The
mnesia_registrymodule will be removed in Erlang/OTP 29.Own Id: OTP-19808
Related Id(s): PR-10275
wx-2.5.3
The wx-2.5.3 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fix getting
wxImagepixel values. For example,wxImage:getRed(Image)returned the wrong value.Creating OpenGL windows should now work again.
Own Id: OTP-19823
Related Id(s): PR-10314
Fixed reading out of array bounds and potential memory leaks.
Own Id: OTP-19843
Related Id(s): PR-10353
Improvements and New Features
Updated the vendor dependencies SHA to improve the accuracy of the source SBOM with
purlpointing to the exact vendor commit that Erlang/OTP builds upon.Own Id: OTP-19777
Related Id(s): PR-10216
Thanks to
Alexandre Rodrigues, Andrew Bennett, Anton Thomasson, Dmytro Lytovchenko, jakob svenningsson, João Henrique Ferreira de Freitas, Marcelino Alberdi Pereira, Maria Scott, Marko Mindek, Michael Neumann, Stavros Aronis, Sundeep Katepalli, Svilen Ivanov, Tom, Vladislav Grishenko, wallacegibbon
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.