chore(deps): update dependency erlang to v27 - autoclosed #82
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:
26.2.1
->27.1.1
26.2.2
->27.1.1
Release Notes
erlang/otp (erlang)
v27.1.1
: OTP 27.1.1Compare Source
v27.1
: OTP 27.1Compare Source
Check out the git tag OTP-27.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
The [
zip
][zip] module has been updated with support for:files in archives.
zip:list_dir/2
now also returns directories, not only files. (You candisable this behaviour by using the option
skip_directories
).Various bugs in the original implementation have also been fixed, such as:
(that is the non-extended timestamp).
timestamps for UTC timestamps).
of setting everything to 644.
Own Id: OTP-19214
Application(s): erts, stdlib
Related Id(s): PR-8765
POTENTIAL INCOMPATIBILITIES
Progress reports for a dynamically started supervisor will now be logged at
debug level.
Own Id: OTP-19202
Application(s): stdlib
Related Id(s): GH-8715, PR-8261, PR-8741
OTP-27.1
Fixed Bugs and Malfunctions
The description of the pre-defined macros has been clarified. In particular,
it is now made clear that the release returned by
?OTP_RELEASE
is therelease under which the compiler is run.
Own Id: OTP-19103
Related Id(s): GH-8486, PR-8518
ex_doc
now runs using an explicit escript instance instead of/usr/bin/env
so that package tools such as
nix
can build the documentation.Own Id: OTP-19145
Related Id(s): GH-8378, PR-8596
The
otp_patch_apply
script, used for patching OTP applications, has beenfixed. It was not possible (and still is not possible) to apply applications
from the OTP 27.0.1 patch package onto an OTP 27.0 installation.
Own Id: OTP-19182
./otp_build download_ex_doc
was usingsha1sum
andsha256sum
which workon various Unix systems. macOS does not have these applications installed by
default, so we added a new dependency to the build process,
shasum
, which isinstalled by default on macOS and allows us to check the integrity of
ex_doc
.Own Id: OTP-19193
Related Id(s): GH-8656, PR-8707
On documentation web pages using Mermaid JS scripts for figures, the scripts
are now loaded asynchronously so that the rest of pages can be shown while the
scripts are still downloading.
Own Id: OTP-19197
Related Id(s): PR-8731
Improvements and New Features
The obsolete documentation for OAM Principles has been removed.
Own Id: OTP-19110
Related Id(s): PR-8528
asn1-5.3.1
The asn1-5.3.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
Fixed a cosmetic but harmless issue with the ASN.1 compiler passing on the
undec_rest
option to the Erlang compiler.Own Id: OTP-19218
Related Id(s): GH-8779, PR-8781
common_test-1.27.1
The common_test-1.27.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
Groups with empty list specifying groups and test cases no longer crash
execution.
Own Id: OTP-19032
Related Id(s): GH-4362, PR-7919
The Common_Test documentation and type specs have been polished.
Own Id: OTP-19148
Related Id(s): PR-8516
Man pages are now available for
erl
,erlc
,dialyzer
, and all otherprograms that are included in Erlang/OTP.
Own Id: OTP-19201
Related Id(s): PR-8740
compiler-8.5.2
The compiler-8.5.2 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
Fixed a crash in an optimization pass relating to appending binaries.
Own Id: OTP-19168
Related Id(s): GH-8630
Fixed a bug in the compiler's alias analysis pass that could make it emit
unsafe code.
Own Id: OTP-19178
Related Id(s): PR-8686
crypto-5.5.1
The crypto-5.5.1 application can be applied independently of other applications
on a full OTP 27 installation.
Fixed Bugs and Malfunctions
crypto built with
--enable-fips
will now accept an OpenSSL 3 lib withoutfips provider as long as fips mode is not enabled.
Own Id: OTP-19212
Related Id(s): GH-8562
Improvements and New Features
Added a warning in the documentation to avoid calling
crypto:start/0
as itdoes not work for FIPS mode. Use
application:start(crypto)
instead.Own Id: OTP-19143
Deprecation of RSA encryption functions has been reverted, as there still
exists legitimate use cases with other padding modes than PKCS-1.
While use PCKS-1 padding with some versions of cryptolib could be considered
secure, we still recommend using other algorithms that are less sensitive to
oracle attacks.
Own Id: OTP-19163
Compiler warnings for some removed functions have been corrected to point out
the correct replacement functions.
Own Id: OTP-19186
Related Id(s): PR-8709
dialyzer-5.2.1
The dialyzer-5.2.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
Man pages are now available for
erl
,erlc
,dialyzer
, and all otherprograms that are included in Erlang/OTP.
Own Id: OTP-19201
Related Id(s): PR-8740
diameter-2.4.1
The diameter-2.4.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
Function specs for the main API module has been updated.
Own Id: OTP-19126
Related Id(s): #8399
Man pages are now available for
erl
,erlc
,dialyzer
, and all otherprograms that are included in Erlang/OTP.
Own Id: OTP-19201
Related Id(s): PR-8740
diameter:stop_service/1
has been made more synchronous.Own Id: OTP-19206
Related Id(s): ERIERL-1102
edoc-1.3.2
The edoc-1.3.2 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
Broken links in release notes have been mended.
Own Id: OTP-19139
Related Id(s): PR-8584
erts-15.1
The erts-15.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
The
erl -man example
has been corrected to not consider values set inERL_ZFLAGS
and stop parsing arguments when a--
is encountered.Own Id: OTP-19098
Related Id(s): GH-8477, PR-8478
Compiler warnings for Windows I/O back-end have been silenced.
Own Id: OTP-19113
Bugs related to
return_to
trace have been fixed. It did not work for morethan once trace session and it did sometimes not trigger for exceptions.
Own Id: OTP-19122
Potential deadlocks while writing a crash dump have been eliminated.
Own Id: OTP-19133
Related Id(s): GH-8498, PR-8521
When loading a damaged or too old BEAM file, the runtime system could crash.
Own Id: OTP-19153
Related Id(s): PR-8623
A scheduler thread could get stuck when deleting a memory allocator carrier
when adjacent carriers were deleted and/or inserted simultaneously by other
schedulers. This in turn could cause the other schedulers to get stuck as
well.
Own Id: OTP-19154
Related Id(s): GH-8613, PR-8627
Statistics for number of carriers in a shared pool after calling
instrument:allocations
orinstrument:carriers
are now correct. Also, apotential bug in carrier block scanning was eliminated.
Own Id: OTP-19166
Related Id(s): PR-8636
A race in the kTLS flavour of SSL distribution has been fixed so that
inet_drv.c
doesn't read ahead too much data, which could cause the kTLSencryption to be activated too late when some encrypted data had already been
read into the
inet_drv.c
buffer as unencrypted.Own Id: OTP-19175
Related Id(s): GH-8561, PR-8690
Fixed an emulator crash relating to compressed ETS tables.
Own Id: OTP-19176
Related Id(s): PR-8683
A function (encode_sockaddr) was called with superfluous argument, on Windows,
in the net nif.
Own Id: OTP-19181
Fixed a crash that could happen on reallocation failure.
Own Id: OTP-19192
Man pages are now available for
erl
,erlc
,dialyzer
, and all otherprograms that are included in Erlang/OTP.
Own Id: OTP-19201
Related Id(s): PR-8740
A previous correction in the Erlang/OTP 27.0.1 emergency patch had the
unfortunate side effect of sometimes causing an unnecessary fullsweep (major)
garbage collection instead of a generation (minor) garbage collection. This
has been corrected.
Own Id: OTP-19209
Related Id(s): PR-8539, PR-8751
Fixed trace matchspec functions
trace
andenable_trace
to use the sessiontracer when enabling trace flags on untraced processes.
Own Id: OTP-19211
Related Id(s): GH-8657
Fixed a typo in the type spec for
erlang:garbage_collection_defaults/0
.Own Id: OTP-19215
Related Id(s): PR-8757
Corrected socket:ioctl for genaddr (SIOCGENADDR).
Own Id: OTP-19216
The support for Transparent Huge Pages has been disabled on non-amd64 Linux
systems.
Own Id: OTP-19219
Related Id(s): PR-8702
Fixed a race condition on Windows when upgrading from
-noshell
to a shellthat would cause Erlang to crash with the error:
Own Id: OTP-19220
Related Id(s): GH-7621, PR-8774
Improvements and New Features
Added functions
getservbyname
andgetservbyport
to thenet
module.Own Id: OTP-19101
Related Id(s): OTP-18835
Introduced enet | esock variants of [
inet
][inet] functions, either when calledwith sockets, with explicit inet_backend config or with the e inet_backend
kernel config option.
Own Id: OTP-19132
Related Id(s): OTP-19101
Optimize process and port creation when such tracing is not enabled by any
trace session.
Own Id: OTP-19167
Related Id(s): PR-8655
Compiler warnings for some removed functions have been corrected to point out
the correct replacement functions.
Own Id: OTP-19186
Related Id(s): PR-8709
A boolean option
read_ahead
has been implemented forgen_tcp
, defaulttrue
, to facilitate not reading past (caching data) the end of a packet. Inparticular, for kTLS, caching data could read in data that was supposed to be
decrypted by the platform's network stack, before crypto parameters could be
activated.
Own Id: OTP-19199
Related Id(s): GH-8561, GH-8690, GH-8785, OTP-19175
The [
zip
][zip] module has been updated with support for:files in archives.
zip:list_dir/2
now also returns directories, not only files. (You candisable this behaviour by using the option
skip_directories
).Various bugs in the original implementation have also been fixed, such as:
(that is the non-extended timestamp).
timestamps for UTC timestamps).
of setting everything to 644.
Own Id: OTP-19214
Related Id(s): PR-8765
*** HIGHLIGHT ***
ftp-1.2.3
The ftp-1.2.3 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
Eliminated a race condition that sometimes resulted in
ftp:recv_bin/2
returning
ok
instead of{ok, Data}
.Own Id: OTP-19119
Related Id(s): GH-8454, PR-8543
inets-9.3
The inets-9.3 application can be applied independently of other applications on
a full OTP 27 installation.
Improvements and New Features
The documentation for the [
httpd
][httpd] module has been improved, along withcorrection of headings and types.
Own Id: OTP-19171
Related Id(s): PR-8578
Userinfo is now properly percent-decoded before usage in headers.
Own Id: OTP-19172
Related Id(s): PR-8575
kernel-10.1
Note! The kernel-10.1 application cannot be applied independently of other
applications on an arbitrary OTP 27 installation.
Fixed Bugs and Malfunctions
A faulty assertion was corrected in the
prim_tty
module. This assertioncould trigger when invalid UTF-8 was read from stdin just as the mode was
changed from unicode to latin1.
Own Id: OTP-19097
Related Id(s): PR-8503
Opening a
disk_log
file and combininghead_func
withrotate
options didnot work.
Own Id: OTP-19104
Related Id(s): ERIERL-870
Fixed an error info printout for
erlang:is_process_alive/1
on non-localpids.
Own Id: OTP-19134
Related Id(s): PR-8560
A race in the kTLS flavour of SSL distribution has been fixed so that
inet_drv.c
doesn't read ahead too much data, which could cause the kTLSencryption to be activated too late when some encrypted data had already been
read into the
inet_drv.c
buffer as unencrypted.Own Id: OTP-19175
Related Id(s): GH-8561, PR-8690
Fixed a deadlock when an application crashes during startup and log messages
were sent to standard out. Logger would fail to print the messages to standard
out and instead print them to standard error.
Own Id: OTP-19205
The
-proto_dist
init parameter will no longer be ignored when specifiedmultiple times. It will now log a warning and use the first specified value.
Own Id: OTP-19208
Related Id(s): PR-8672
Corrected socket:ioctl for genaddr (SIOCGENADDR).
Own Id: OTP-19216
Improvements and New Features
Added functions
getservbyname
andgetservbyport
to thenet
module.Own Id: OTP-19101
Related Id(s): OTP-18835
Introduced enet | esock variants of [
inet
][inet] functions, either when calledwith sockets, with explicit inet_backend config or with the e inet_backend
kernel config option.
Own Id: OTP-19132
Related Id(s): OTP-19101
The function
socket:i/0
now uses the [net
][net] module (instead of the [inet
][inet]module) for service translation.
Own Id: OTP-19138
Related Id(s): OTP-19101
A boolean option
read_ahead
has been implemented forgen_tcp
, defaulttrue
, to facilitate not reading past (caching data) the end of a packet. Inparticular, for kTLS, caching data could read in data that was supposed to be
decrypted by the platform's network stack, before crypto parameters could be
activated.
Own Id: OTP-19199
Related Id(s): GH-8561, GH-8690, GH-8785, OTP-19175
odbc-2.15
The odbc-2.15 application can be applied independently of other applications on
a full OTP 27 installation.
Improvements and New Features
Figures in the documentation have been improved.
Own Id: OTP-19130
Related Id(s): PR-7226
public_key-1.16.2
The public_key-1.16.2 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
For completeness handle rsa_pss implicit default value, although this will
probably not be commonly used as it provides very weak security.
Own Id: OTP-19179
The
public_key:cacerts_load()
function could in some error cases returnundefined
instead of{error, Reason}
.Own Id: OTP-19183
Related Id(s): GH-8604
Added support for DragonFly.
Own Id: OTP-19191
Related Id(s): PR-8703
Improvements and New Features
Deprecation of RSA encryption functions has been reverted, as there still
exists legitimate use cases with other padding modes than PKCS-1.
While use PCKS-1 padding with some versions of cryptolib could be considered
secure, we still recommend using other algorithms that are less sensitive to
oracle attacks.
Own Id: OTP-19163
It is now possible to use a verification fun of arity 4, giving the user fun
access to both encoded and decoded versions of the certificate. This is
desirable as a workaround for encoding errors preventing re-encoding from
being reliable. This also saves some work load if the encoded version is
needed.
Note that calling
public_key:pkix_path_validation/3
with only decoded certsis not recommended, due to the decoding workarounds, although it will work as
long as the workarounds are not needed.
If the decoded version is needed before thecall to [
public_key
][public_key] it isrecommend to use the combined_cert- type to avoid double decoding. Note that
the path validation algorithm itself always needs both the encoded and decoded
versions of the certs.
The ssl implementation will now benefit from using this function instead of
emulating the verify_fun/4.
Own Id: OTP-19169
runtime_tools-2.1.1
The runtime_tools-2.1.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
Fixed a bug where dbg sessions on remote nodes were terminated prematurely.
Own Id: OTP-19188
Related Id(s): PR-8692
snmp-5.17
The snmp-5.17 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
Man pages are now available for
erl
,erlc
,dialyzer
, and all otherprograms that are included in Erlang/OTP.
Own Id: OTP-19201
Related Id(s): PR-8740
Improvements and New Features
Figures in the documentation have been improved.
Own Id: OTP-19130
Related Id(s): PR-7226
ssh-5.2.2
The ssh-5.2.2 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
The SSh daemon started with a TCP port number argument will now re-try
obtaining a listen socket before returning an error to the user.
Own Id: OTP-19170
Related Id(s): GH-7746
Robustness has been improved by monitoring the connection handler process
before casting the socket control notification.
Own Id: OTP-19173
Related Id(s): PR-8310
ssl-11.2.2
Note! The ssl-11.2.2 application cannot be applied independently of other
applications on an arbitrary OTP 27 installation.
Fixed Bugs and Malfunctions
A race in the kTLS flavour of SSL distribution has been fixed so that
inet_drv.c
doesn't read ahead too much data, which could cause the kTLSencryption to be activated too late when some encrypted data had already been
read into the
inet_drv.c
buffer as unencrypted.Own Id: OTP-19175
Related Id(s): GH-8561, PR-8690
Improvements and New Features
All TLS-1.3 terminations are now graceful (previous TLS version terminations
already were).
Own Id: OTP-17848
It is now possible to use a verification fun of arity 4, giving the user fun
access to both encoded and decoded versions of the certificate. This is
desirable as a workaround for encoding errors preventing re-encoding from
being reliable. This also saves some work load if the encoded version is
needed.
Note that calling
public_key:pkix_path_validation/3
with only decoded certsis not recommended, due to the decoding workarounds, although it will work as
long as the workarounds are not needed.
If the decoded version is needed before thecall to [
public_key
][public_key] it isrecommend to use the combined_cert- type to avoid double decoding. Note that
the path validation algorithm itself always needs both the encoded and decoded
versions of the certs.
The ssl implementation will now benefit from using this function instead of
emulating the verify_fun/4.
Own Id: OTP-19169
Compiler warnings for some removed functions have been corrected to point out
the correct replacement functions.
Own Id: OTP-19186
Related Id(s): PR-8709
Include more information in logging of SNI (Server Name Indication) mismatch
error.
Own Id: OTP-19187
stdlib-6.1
The stdlib-6.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
The help printout for incorrect
io:format/0
strings now handles thek
modifier correctly.
Own Id: OTP-19146
Related Id(s): GH-8568, PR-8611
Fixed a bug that caused the shell completion to crash when keyword and tuple
appeared on the same line.
Own Id: OTP-19157
Related Id(s): PR-8638
Due to PR-7419/OTP-18671, the cached internal value of the
callback_mode
started leaking out to
logger
reports, which could causelogger
handlersto crash. This has now been fixed to show the value that was set, as before
caching.
Own Id: OTP-19164
Related Id(s): GH-8605, PR-7419, OTP-18671
Fixed an emulator crash relating to compressed ETS tables.
Own Id: OTP-19176
Related Id(s): PR-8683
The error description for
maps:update/3
will no longer insist that the thirdargument is not a map when a key could not be found
Own Id: OTP-19189
Multiple issues have been corrected in the markdown parser that creates
documentation for the shell.
The parser was incorrectly parsing formatted markdown (either bold or italics)
within parenthesis. This used to not be shown correctly in the shell
documentation
(_Option._)
, which was displayed verbatim. This fix makesOption.
to appear in italics.The markdown parser is also used in the creation of other documentation
formats, so this was a bug that affected other generated documentation
formats.
Own Id: OTP-19200
Related Id(s): GH-8738, PR-8739
Fixed category for some codepoint ranges in
unicode_util
.Own Id: OTP-19210
Related Id(s): GH-8748
Fixed [
argparse
][argparse] to print sub-commands help when available.Own Id: OTP-19222
Related Id(s): PR-8777
Improvements and New Features
Class annotation to HTML from fenced blocks have been added.
Own Id: OTP-19105
Related Id(s): PR-8499
Added JSON formatting functions for indented output.
Own Id: OTP-19112
Improved illegal pattern error for accidental map associations.
Own Id: OTP-19128
Related Id(s): PR-8555
Progress reports for a dynamically started supervisor will now be logged at
debug level.
Own Id: OTP-19202
Related Id(s): GH-8715, PR-8261, PR-8741
*** POTENTIAL INCOMPATIBILITY ***
The [
zip
][zip] module has been updated with support for:files in archives.
zip:list_dir/2
now also returns directories, not only files. (You candisable this behaviour by using the option
skip_directories
).Various bugs in the original implementation have also been fixed, such as:
(that is the non-extended timestamp).
timestamps for UTC timestamps).
of setting everything to 644.
Own Id: OTP-19214
Related Id(s): PR-8765
*** HIGHLIGHT ***
syntax_tools-3.2.1
The syntax_tools-3.2.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
The documentation for
syntax_tools
has been polished after the migration tothe new documentation system.
Own Id: OTP-19102
Related Id(s): PR-8515
tftp-1.2.1
The tftp-1.2.1 application can be applied independently of other applications on
a full OTP 27 installation.
Improvements and New Features
The legacy dependency to [
error_logger
][error_logger] has been removed. [logger
][logger] is nowused.
Own Id: OTP-19114
tools-4.1
The tools-4.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
m:tprof
no longer crashes when using pause/restart/continue when profilingall modules.
Own Id: OTP-19136
Related Id(s): GH-8472, PR-8472, PR-8541
On systems supporting native coverage, calls to [
cover
][cover] could hang or crashif cover-compiled module had been reloaded from outside
cover
. This has beencorrected so that
cover
now recovers from the error and and sends a reportto the logger about the failure to retrieve coverage information.
Own Id: OTP-19203
Related Id(s): GH-8661, PR-8742
Improvements and New Features
Figures in the documentation have been improved.
Own Id: OTP-19130
Related Id(s): PR-7226
wx-2.4.3
The wx-2.4.3 application can be applied independently of other applications on a
full OTP 27 installation.
Fixed Bugs and Malfunctions
Documentation has been improved.
Own Id: OTP-19190
xmerl-2.1
The xmerl-2.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
Corrected export functions from internal structure to XML so xmlText items of
type cdata are handled correctly. They were just exported as normal text
instead of output in a CDATA section.
Own Id: OTP-19217
Related Id(s): ERIERL-1104
Improvements and New Features
The type spec for
xmerl_sax_parser:file/2
has been corrected to indicatethat it can return an
{error, _}
tuple.Own Id: OTP-19129
Related Id(s): PR-8583
Thanks to
Aaron Renner, Anders Ågren Thuné, Andrea Leopardi, Anupama Singh, Cesar Guzman,
Dániel Szoboszlay, Douglas Vought, Frej Drejhammar, jakob svenningsson, Jan
Uhlig, Janusz Woźniak, Johannes Christ, Jonatan Kłosko, José Valim, Kian-Meng
Ang, lexprfuncall, Loïc Hoguin, Louis Pilfold, Marcelino Alberdi Pereira, Maria
Scott, Michael Neumann, Michał Muskała, nixxquality, Peter Lemenkov, Roger
Lipscombe, Siim Liiser, Svilen Ivanov, Urban Koistinen, Wojtek Mach
v27.0.1
: OTP 27.0.1Compare Source
Check out the git tag OTP-27.0.1, and build a full OTP system including
documentation. Apply one or more applications from this build as patches to your
installation using the 'otp_patch_apply' tool. For information on install
requirements, see descriptions for each application version below.
OTP-27.0.1
Improvements and New Features
Bump ex_doc version to v0.34.1 and fix copyright in published docs to have
correct year.
Own Id: OTP-19095
Related Id(s): PR-8507
compiler-8.5.1
The compiler-8.5.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
One of the compiler's optimization passes would get very slow when compiling
certain modules. The compiler will now automatically disable that pass for
input that would trigger the slowdown.
Own Id: OTP-19131
Related Id(s): PR-8567
Fix
+deterministic
to work properly with documentation attributes.Own Id: OTP-19142
Related Id(s): GH-8579, PR-8585
edoc-1.3.1
The edoc-1.3.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
Fix broken makefile dependency when building HTML documentation.
Own Id: OTP-19116
Related Id(s): PR-8534
erts-15.0.1
The erts-15.0.1 application can be applied independently of other applications
on a full OTP 27 installation.
Fixed Bugs and Malfunctions
In rare circumstances the JIT could do an unsafe in-place update of a tuple.
Own Id: OTP-19108
Related Id(s): PR-8539
When a port command crashed in the inet driver during
gen_tcp:send/2
, amonitor
'DOWN'
message could be left lingering in the caller's mailbox. Thishas now been fixed.
Own Id: OTP-19121
Related Id(s): GH-8484
'DOWN'
messages originating from a monitored port, contained the atomprocess
instead of the atomport
as the third element when the exit reasonwas not an immediate term.
Own Id: OTP-19123
Related Id(s): GH-8484, PR-8546
Fix so that the options to enable Transparent Huge Page alignment of the
Erlang VM executable are only applied to the Erlang VM and not other native
programs such as
erlc
anddialyzer
. This bug was introduced in Erlang/OTP27.0.
Own Id: OTP-19137
Related Id(s): GH-8574
When [no time warp mode][no time warp mode] was enabled, a smaller Erlang monotonic time could
be read than a previously read time, i.e., breaking the monotonic property.
The runtime system will abort when detecting an issue like this since OTP
24.3.4.17 and OTP 25.0.
Up until OTP 25 no time warp mode is the default. As of OTP 26 [multi time
warp mode][multi time
warp mode] is the default.
Own Id: OTP-19147
Related Id(s): ERIERL-1043, ERIERL-1106, PR-8619
When calling
trace:function(Session, _, true, [meta])
the meta tracer wasincorrectly set to be the calling process. Now it's set to the session tracer
as expected.
Own Id: OTP-19151
Related Id(s): GH-8614, PR-8616
kernel-10.0.1
The kernel-10.0.1 application can be applied independently of other applications
on a full OTP 27 installation.
Improvements and New Features
Polish the [
logger
][logger] documentation.Own Id: OTP-19118
Related Id(s): PR-8534
public_key-1.16.1
The public_key-1.16.1 application can be applied independently of other
applications on a full OTP 27 installation.
Fixed Bugs and Malfunctions
Fix bug in dnsName constraint check, could cause valid cert to be considered
bad during path validation.
Own Id: OTP-19100
Related Id(s): GH-8482, PR-8508
ssh-5.2.1
The ssh-5.2.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
With this change, race condition between connection closing and automatic
window adjustment is fixed.
Own Id: OTP-19109
Related Id(s): PR-8345
ssl-11.2.1
The ssl-11.2.1 application can be applied independently of other applications on
a full OTP 27 installation.
Fixed Bugs and Malfunctions
Check for TLS-1.3 support should check minimum requirements.
Own Id: OTP-19094
Related Id(s): GH-8489
If both TLS-1.3 and TLS-1.2 is supported and TLS-1.2 negotiated convert
TLS-1.3 ECDSA schemes to TLS-1.2 hash and signature pairs for increased
interoperability.
Own Id: OTP-19107
Related Id(s): GH-8376
TLS-1.3 negotiation now uses SNI based options correctly instead of ignoring
them.
Own Id: OTP-19140
Improvements and New Features
Make it easier to distinguish between a invalid signature and unsupported
signature.
Own Id: OTP-19091
Enhance ALERT logs to help understand what causes the alert.
Own Id: OTP-19092
Related Id(s): GH-8482
When the default value for signature_algs is used, default the
signature_algs_cert to the default value + rsa_pkcs1_sha1 to allow this
algorithms for certificates but not for the TLS protocol. This is for better
interoperability. If signature_algs is set explicitly signature_algs_cert must
also be set explicitly if they should be different.
Own Id: OTP-19152
Related Id(s): GH-8588
stdlib-6.0.1
The stdlib-6.0.1 application can be applied independently of other applications
on a full OTP 27 installation.
Fixed Bugs and Malfunctions
Fix so that missing
-doc({file, File})
files only result in a warning andnot an error.
Own Id: OTP-19099
Related Id(s): PR-8542
Fixed [
json
][json] bugs,json:encode_key_value_list/2
did not generate arraysand
json:decode/3
did not invoke the user callback for0
.Own Id: OTP-19106
Related Id(s): GH-8580, PR-8519, PR-8581
Thanks to
Frej Drejhammar, Igor Goryachev, Michał Muskała
v27.0
: OTP 27.0Compare Source
Erlang/OTP 27 Released
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/doc.
You can also install the latest release using kerl like this:
The new Erlang/OTP 27 release contains new features, improvements as well as a few incompatibilities. Some of the new features are highlighted below.
Many thanks to all contributors!
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 themaybe_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 thecover
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}
.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 theERL_COMPILER_OPTIONS
environment variable.Example:
If
some_module.erl
has the following attribute:and the compiler is invoked like so:
no warnings will be issued for functions that do not have any specs.
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 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 usingerl_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 useescript:extract/2
instead oferl_prim_loader
andcode:lib_dir/2
.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 fromerlang:fun_info/1,2
.Multiple trace sessions are now supported.
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. Ifconfigure
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 toconfigure
, which will enableconfigure
to continue without support for timestamps after mid-January 2038.'STDLIB
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 thejer
(JSON Encoding Rules) for ASN.1 for encoding and decoding JSON. Thus, there is no longer any need to supply an external JSON library.Several new functions that accept funs have been added to module
timer
.The functions
is_equal/2
,map/2
, andfiltermap/2
have been added to the modulessets
,ordsets
, andgb_sets
.There are new efficient
ets
traversal functions with guaranteed atomicity. For example,ets:next/2
followed byets:lookup/2
can now be replaced withets:next_lookup/1
.The new function
ets:update_element/4
is similar toets: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 willbe shown by tools such as
c:i/0
andobserver
, and it will be included in crash reports produced by processes usinggen_server
,gen_statem
,gen_event
, andgen_fsm
.Added functions to retrieve the next higher or lower key/element from
gb_trees
andgb_sets
, as well as returning iterators that start at given keys/elements.common_test
Calls to
ct:capture_start/0
andct: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
crypto_dyn_iv_init/3
andcrypto_dyn_iv_update/3
that were marked as deprecated in Erlang/OTP 25 have been removed.dialyzer
--gui
option for Dialyzer has been removed.ssl
ssl
client can negotiate and handle certificate status request (OCSP stapling support on the client side).tools
tprof
, which combines the functionality ofeprof
andcprof
under one interface. It also adds heap profiling.xmerl
xmerl_xml
, a new export modulexmerl_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.
v26.2.5
: OTP 26.2.5Compare Source
Configuration
📅 Schedule: Branch creation - "before 4am" in timezone America/New_York, 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 these updates again.
This PR was generated by Mend Renovate. View the repository job log.