chore(deps): update dependency erlang to v28 #296
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
24.1.7->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
v28.2: OTP 28.2Compare Source
Check out the git tag OTP-28.2, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.
compiler-9.0.3
The compiler-9.0.3 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed broken type inference for lists:mapfoldl/r.
Own Id: OTP-19845
Related Id(s): GH-10354, PR-10358
erts-16.1.2
The erts-16.1.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a JIT bug that could miscompile equality tests on empty bitstrings.
Own Id: OTP-19846
Related Id(s): PR-10359
The documentation building code produced warnings during the build, if none of the applications were skipped. The warnings were resolved.
Own Id: OTP-19865
Related Id(s): ERIERL-1251, PR-10396
kernel-10.4.2
The kernel-10.4.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a race condition when registering the standard error process.
Own Id: OTP-19832
Related Id(s): PR-10290
public_key-1.19
Note! The public_key-1.19 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
Improvements and New Features
Added support for the Public-Key Infrastructure Certificate Management Protocol (PKICMP) ASN.1 specification.
Own Id: OTP-19861
Related Id(s): PR-10386
ssh-5.3.4
The ssh-5.3.4 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
With this change user space buffers are used to limit ssh hello message size instead of kernel buffers
Own Id: OTP-19839
Related Id(s): ERIERL-1273, PR-10350
ssl-11.4.2
Note! The ssl-11.4.2 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
Fixed Bugs and Malfunctions
Graceful error handling added in negative test scenario.
Own Id: OTP-19813
Related Id(s): PR-10284
Handle duplicate change_cipher_spec message with an unexpected message alert instead of failing later in corrupted state.
Own Id: OTP-19818
Related Id(s): PR-10296
Make sure TLS-1.3 protocol spec is followed, that is psk-hello extension is guaranteed to be included as the last extension in the list of client hello extensions and internal hello message truncation in handshake history is handled correctly, the previous handling could cause interoperability issues.
Own Id: OTP-19825
Related Id(s): PR-10296
If two certificate massages are sent to the server generate an unexpected message alert for the second one.
Own Id: OTP-19830
Related Id(s): PR-10339
syntax_tools-4.0.2
The syntax_tools-4.0.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Annotate map comprehensions and generators
Own Id: OTP-19817
Related Id(s): GH-10119
Thanks to
Dmytro Lytovchenko, Nelson Vides
v28.1.1: OTP 28.1.1Compare Source
Check out the git tag OTP-28.1.1, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.
OTP-28.1.1
Improvements and New Features
When building OTP, some applications may be skipped due to lacking dependencies, or due to user choice. Such skipped applications are excluded from the docs build step and a placeholder page is displayed in their stead.
Own Id: OTP-19771
Related Id(s): ERIERL-1251, PR-10194
diameter-2.5.2
The diameter-2.5.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Added documentation about 'proxy' and 'resend' options in diameter:handle_request/3
Own Id: OTP-19768
Related Id(s): GH-10150, PR-10182
erts-16.1.1
The erts-16.1.1 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed the
erldocumentation of the default timewarp mode used.Own Id: OTP-19790
Related Id(s): PR-9970
The
erlang:suspend_process()BIFs failed to suspend processes currently executing on dirty schedulers.Own Id: OTP-19799
Related Id(s): PR-10241
kernel-10.4.1
The kernel-10.4.1 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
With this change group.erl will not crash when receiving unknown message.
Own Id: OTP-19796
Related Id(s): ERIERL-1264, PR-10248
ssl-11.4.1
Note! The ssl-11.4.1 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed so that sending of application data will adhere to max_fragment_length. This was broken in OTP-27 release by an optimization.
Own Id: OTP-19774
Related Id(s): GH-10191, PR-10201
PR-10046 put to hard requirements on key file content. Make sure same file can be used as keyfile and certfile
Own Id: OTP-19780
Related Id(s): GH-10212, GH-10217, PR-10221
Assert that hello extensions are unique and send an illegal parameter alert if they are not.
Own Id: OTP-19791
Related Id(s): PR-10245
Avoid sending an internal message to the user process in conjunction with handling a key update.
Own Id: OTP-19806
Related Id(s): PR-10274
xmerl-2.1.7
The xmerl-2.1.7 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
The XSD validation failed due to not handling the optional text blocks correctly in an XSD complex type with attribute
mixed=true.Own Id: OTP-19792
Related Id(s): PR-10249, ERERL-1261
Thanks to
Daniel Gorin, Dmytro Lytovchenko, Jean-Philippe Jodoin
v28.1: OTP 28.1Compare Source
Check out the git tag OTP-28.1, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.
HIGHLIGHTS
Added support for quantum crypto signature algorithm ML-DSA (ssl and public_key) and key exchange algorithm ML-KEM (ssl).
Own Id: OTP-19552
Application(s): public_key, ssl
Related Id(s): [PR-10004]
A User's Guide to
dbgis now available in the documentation.Own Id: OTP-19655
Application(s): runtime_tools
Related Id(s): [PR-9853]
Support for ML-DSA and ML-KEM provided by OpenSSL 3.5.
Algorithms
mldsa44,mldsa65andmldsa87can be passed tocrypto:sign/4andcrypto:verify/5.New functions
crypto:encapsulate_key/2andcrypto:decapsulate_key/3can be used withmlkem512,mlkem768andmlkem1024to safely generate and communicate an encapsulated shared secret.Own Id: OTP-19657
Application(s): crypto
Related Id(s): [PR-9900]
TLS server now fails early for supplied PEM file issues, such as the file not being found.
Own Id: OTP-19706
Application(s): ssl
Related Id(s): [GH-9631], [PR-10046]
POTENTIAL INCOMPATIBILITIES
The internal
inet_dns_tsigandinet_resmodules have been fixed to TSIG verify the correct timestamp.In the process two undocumented error code atoms have been corrected to
notauthandnotzoneto adhere to the DNS RFCs. Code that relied on the previous incorrect values may have to be corrected.Own Id: OTP-19756
Application(s): kernel
Related Id(s): [PR-10146]
OTP-28.1
Fixed Bugs and Malfunctions
When any Erlang/OTP application has been disabled by
configure, warnings fromex_docwhen building the documentation are now disabled.Own Id: OTP-19646
Related Id(s): [GH-9875], [PR-9876]
./otp_buildnow respectsTYPEandFLAVORto when set.Own Id: OTP-19677
Related Id(s): [PR-9954]
Rendering of some tables in the documentation has been improved.
Own Id: OTP-19752
Related Id(s): [PR-10142]
Improvements and New Features
In [Efficiency Guide], the section about
setelement/3in Common Caveats has been updated.Own Id: OTP-19749
Related Id(s): [PR-10140]
asn1-5.4.2
The asn1-5.4.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Decoding a constrained BIT STRING using JER was broken.
Own Id: OTP-19681
Related Id(s): [PR-9949]
NIFs and linked-in drivers are now loadable when running in an Erlang source tree on Windows.
Own Id: OTP-19686
Related Id(s): [PR-9969]
common_test-1.29
The common_test-1.29 application can be applied independently of other applications on a full OTP 28 installation.
Improvements and New Features
Improved printing of maps. Map keys are now printed in the same order as
maps:iterator(Map, ordered)would sort them.Own Id: OTP-19642
Related Id(s): ERIERL-1231, [PR-9862]
ct:printwill now suppress printing of timestamp and heading when the heading option is set to the empty string.Own Id: OTP-19714
Related Id(s): [PR-10051]
compiler-9.0.2
The compiler-9.0.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a compiler crash caused by patch order in destructive update.
Own Id: OTP-19660
Related Id(s): [GH-9903], [PR-9909]
Fixed a compiler crash in
beam_ssa_pre_codegencaused by wrong handling of multiple phi patches in the destructive update pass.Own Id: OTP-19689
Related Id(s): [GH-9987], [PR-9990]
Fixed a crash when a zip generator contains a map pattern.
Own Id: OTP-19693
Related Id(s): [GH-10002], [PR-10009]
In rare circumstances, the compiler could crash when compiling code using bit syntax construction.
Own Id: OTP-19722
Related Id(s): [GH-10077], [PR-10090]
A few minor bugs that could affect the
beam_debug_infooption were fixed.Own Id: OTP-19758
Related Id(s): [PR-10153]
crypto-5.7
The crypto-5.7 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
NIFs and linked-in drivers are now loadable when running in an Erlang source tree on Windows.
Own Id: OTP-19686
Related Id(s): [PR-9969]
Fixed bug seen to cause beam crash when doing
init:restart()withcryptostatically linked to OpenSSL (--disable-dynamic-ssl-lib). Bug exists since OTP 28.0.Own Id: OTP-19721
Related Id(s): [GH-10061], [PR-10076]
Fixed
crypto:strong_rand_bytesfailing afterinit:restarton MacOS with statically linked OpenSSL.Own Id: OTP-19725
Related Id(s): [GH-10079], [PR-10085]
Fixed
crypto:hash(shake128 | shake256)for OpenSSL 3.4 and newer.Own Id: OTP-19733
Related Id(s): [GH-9901], [PR-9982]
Rendering of some tables in the documentation has been improved.
Own Id: OTP-19752
Related Id(s): [PR-10142]
Improvements and New Features
Support for ML-DSA and ML-KEM provided by OpenSSL 3.5.
Algorithms
mldsa44,mldsa65andmldsa87can be passed tocrypto:sign/4andcrypto:verify/5.New functions
crypto:encapsulate_key/2andcrypto:decapsulate_key/3can be used withmlkem512,mlkem768andmlkem1024to safely generate and communicate an encapsulated shared secret.Own Id: OTP-19657
Related Id(s): [PR-9900]
*** HIGHLIGHT ***
Added support for SHA2 512/224 and SHA2 512/256 truncated hashes.
Own Id: OTP-19666
Related Id(s): [PR-9721]
debugger-6.0.3
The debugger-6.0.3 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed unbound error in interpreted modules
Own Id: OTP-19719
Related Id(s): [GH-10057], [PR-10066]
edoc-1.4.1
The edoc-1.4.1 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Rendering of some tables in the documentation has been improved.
Own Id: OTP-19752
Related Id(s): [PR-10142]
erl_interface-5.6.1
The erl_interface-5.6.1 application can be applied independently of other applications on a full OTP 28 installation.
Improvements and New Features
Fixed C compiler warnings generated by codechecker.
Own Id: OTP-19671
Related Id(s): [PR-9832]
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.1
The erts-16.1 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Made sure to not set any terminal settings when they have not been changed. Doing so can trigger a SIGTTOU signal which would terminate Erlang when it should not.
Own Id: OTP-19685
Related Id(s): [PR-9906]
As an optimization, when the
unicode:characters_to_binary/3was used to convert fromlatin1toutf8or vice versa, it would return the original binary unchanged if it only contained 7-bit ASCII characters. That otpimization was broken in Erlang/OTP 27, and has now been mended.Own Id: OTP-19728
Related Id(s): [GH-10072], [PR-10093]
Improvements and New Features
Fixed C compiler warnings generated by codechecker.
Own Id: OTP-19671
Related Id(s): [PR-9832]
Added support in module
refor export and import of compiled regular expression in order to safely move them between Erlang node instances.Own Id: OTP-19730
Related Id(s): [PR-9976]
Added new
erlcommand line flag+Mumadtn <bool>causingMADV_DONTNEEDto be passed tomadvise()instead ofMADV_FREE.Own Id: OTP-19739
Related Id(s): [PR-10113]
inets-9.4.2
The inets-9.4.2 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Fixed a RFC 2616 violation, where a http request, made by httpc, without providing any options, would be sent with an empty TE header, without also having a TE value in the connection header. Now the default request doesn't send a TE header at all.
Own Id: OTP-19760
Related Id(s): [GH-10065], [PR-10120]
kernel-10.4
The kernel-10.4 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
A remote shell can now exit by closing the input stream, without terminating the remote node.
Own Id: OTP-19667
Related Id(s): [PR-9912]
The internal
inet_dns_tsigandinet_resmodules have been fixed to TSIG verify the correct timestamp.In the process two undocumented error code atoms have been corrected to
notauthandnotzoneto adhere to the DNS RFCs. Code that relied on the previous incorrect values may have to be corrected.Own Id: OTP-19756
Related Id(s): [PR-10146]
*** POTENTIAL INCOMPATIBILITY ***
Improvements and New Features
The rudimentary DNS resolver
inet_reshas aqcuired 3 new functionsinet_res:gethostbyname/4,inet_res;getbyname/4andinet_res:gethostbyaddr/3, that all take an option list argument.This option list can be used to override the Kernel application's resolver options when calling the
inet_resfunction directly.Own Id: OTP-19737
Related Id(s): ERIERL-1209, [PR-10112]
megaco-4.8.1
The megaco-4.8.1 application can be applied independently of other applications on a full OTP 28 installation.
Fixed Bugs and Malfunctions
Documentation improvements.
Own Id: OTP-19669
Related Id(s): [PR-9927]
Rendering of some tables in the documentation has been improved.
Own Id: OTP-19752
Related Id(s): [PR-10142]
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.