Revisions of erlang

Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1167972 from Simon Lees's avatar Simon Lees (simotek) (revision 136)
- Changes for 26.2.4
  * asn1: An ASN.1 module that contains named BIT STRING values
              would fail to compiled if both the BER and JER
              back-ends were enabled.
  * Compiler: In rare circumstances, the compiler code generate
              unsafe code for a bit syntax match.
  * Compiler: In rare circumstances, binary matches that were
              supposed to succeed failed.
  * Compiler: Fixed a bug where a fun's environment could be
              overridden by an argument in some cases.
  * Crypto: Fix building with --enable-fips with OpenSSL 3 on
              MacOS.
  * Debugger: Guards with nested record expression could wrongly
              evaluate to false.
  * Diameter: Reduce the impact of calling service_info by not
              counting the binaries (on the heap) info, This is done
              by introducing an option, bins_info, which controls
              this.
  * erts: Fixed CPU quota determination for cgroup version 2
  * erts: Fix faulty reduction counting in exiting process which
               could cause it to do unnecessary yielding.
  * erts: Fix bug in re:run/3 where if an invalid UTF-8 subject
               was given, re:run could get stuck in an infinite loop.
               Bug was introduced in Erlang/OTP 22.1.
  * erts: On AArch64 (ARM64), Erlang code using bit syntax
               construction compiled using Erlang/OTP 24 could crash
               the runtime system when run in Erlang/OTP 26.2.3.
  * erts: Calling erlang:trace/3 with first argument one of
               ports, processes, existing_ports, existing_processes,
               existing or all, could cause emulator crash if a dirty
               scheduler was executing a simultaneous trace action.
  * erts: Fixed an integer overflow when the monotonic time unit
               reported by the operating system was greater than 10
               and lower than 100 microseconds.
  * erts: Fix option reuseaddr for FreeBSD 14
  * erts: When a traced process executing on a dirty scheduler
               received an exit signal, the dirty scheduler could use
               the wrong thread specific data which could lead to a
               crash.
  * erts: Fixed a more or less harmless bug that caused time
               correction of Erlang monotonic time to become slightly
               off on Windows platforms when QueryPerformanceCounter()
               was used as OS monotonic time source.
               erlang:system_info(os_monotonic_time_source) now also
               returns information about used resolution which not
               always corresponds to the resolution of the OS
               monotonic time source.
  * erts: When using IPv6, classic gen_udp failed to add (group)
               membership (drop was used instead).
  * erts: Fix bug on Windows where "Unknown event: 2" would be
               printed to the console.
  * erts: Checks for monotonicity of monotonic time have been
               improved so that Erlang and OS monotonic time are
               checked separately.
  * erts: For severe errors, when the `socket` module terminates
               the Erlang VM, now an erl_crash.dump is produced, to
               facilitate post mortem debugging.
  * kernel: When using IPv6, classic gen_udp failed to add (group)
               membership (drop was used instead).
  * kernel: The check in inet_res of the RD bit has been relaxed
               slightly.
  * ssh: With this change, owner and group file attributes
               decoding is fixed and results with value of integer
               type.
  * ssl: Cleanup and close all connections in DTLS when the
               listen socket owner dies.
               Improved IPv6 handling in DTLS.
  * ssl: Fixed a crash in dtls accept.
  * stdlib: Attempting to use the maybe construct in a macro
               argument could crash the compiler.
- Changes for 26.2.3
  * otp: Quote uninstall path in registry when installing on
               windows.
  * compiler: In rare circumstances, an unsafe optimization could
               cause the compiler to generate incorrect code for list
               matching.
  * compiler: Fix the compilation server to restart if the
               applications in its lib dir changes inbetween erlc
               invokations.
  * crypto: Fix compile error when OPENSSL_NO_DES is defined.
  * crypto: The function crypto:pbkdf2_hmac will no longer block
               the main schedulers. If the iteration count or block
               size parameters are such that the function is likely to
               take a long time to execute, the function will be
               scheduled to run on a dirty CPU scheduler.
  * erts: Fixed compile warning in erl_nif.c for gcc-13.
  * erts: Fix C++ compile error for macros enif_select_read and
               friends.
  * erts: Fixed a name clash on Solaris that prevented the JIT
               from being built.
  * erts: Fix termcap detection on solaris.
  * erts: Fix heap corruption bug that could cause runaway memory
               consumption due to circular offheap list at process
               exit. Other symptoms may also be possible. Bug exists
               since OTP 25.0.
  * erts: Do not clear tracing in old module instance if load
               fails with 'not_purged'.
  * erts: When exceeding the `max_heap_size` limit in a garbage
               collection initiated by some bit syntax operations, the
               process would not always terminate immediately.
  * erts: The code server could be hanging if a module with
               on_load function was loaded at the same time as another
               module was purged using erlang:purge_module directly.
  * erts: A process optimized for parallel signal delivery could
               under some circumstances lose wakeup information. That
               is, the processes was not woken up to take care of the
               signal, so the signal would not be taken care of until
               the process was woken by another signal. Only processes
               configured with message_queue_data set to off_heap
               utilize this optimization.
  * erts: Fix segfault when generating crashdump containing a fun
               places in persistent_term storage.
  * erts: By default the JIT is disabled on Intel Macs, because
               of annoying poups on macOS Sonoma. It is now possible
               to explicitly enable the JIT on Intel Macs. Here is
               how: ./configure --enable-jit
  * kernel: Fix performance bug when using io:fread to read from
               standard_io. This regression was introduced in OTP
               26.0.
  * kernel: A bug in the code server could cause it to crash in
               some concurrent scenarios. This bug was introduced in
               26.1.
  * kernel: Fixed gen_udp:open/2 type spec to include already
               supported module socket address types.
  * kernel: Fix reading of password for ssh client when in
               user_interactive mode.
  * odbc: Use spec for API doc
  * public_key: Hostname prefix with X number of dots should not be
               accepted.
  * ssh: With this change, acceptor_sup is not started for ssh
               client as it is not needed in that role.
  * ssh: With this change, more secure algorithms are preferred
               by ssh and documentation is updated to reflect that.
  * ssh: With this change, KEX strict terminal message is
               emitted with debug verbosity.
  * ssh: Fix reading of password for ssh client when in
               user_interactive mode.
  * ssl: ssl:prf/5, will start working instead of hanging in a
               TLS-1.3 context if called appropriately. Note that the
               implementation has changed and in OTP-27 a more
               adequate API will be documented.
  * ssl: Server name verification didn't work if a connection
               was made with IP-address as a string.
  * ssl: The fallback after "dh" ssl option was undefined was to
               get "dh" from ssl options again. This is clearly wrong
               and now changed to the documented fallback "dhfile" ssl
               option.
  * ssl: Correct default value selection for DTLS. Will only
               affect users linked with really old version of
               cryptolib library.
  * ssl: Adhere elliptic curves with RFC 8422 pre TLS-1.3, that
               is Edwards curves are added to curves that can be used
               for key exchange, and documentation and implementation
               of eccs/0,1 are aligned.
  * ssl: Improve alert reason when ecdhe_rsa key_exchange does
               not have any common curves to use
  * stdlib: The help texts shown by argparse will now display
               sub-command arguments in the correct order.
  * stdlib: Clarified the argparse documentation regarding the
               user-defined help template.
  * stdlib: Fix shell expansion to not crash when expanding invalid
               using invalid atoms.
  * wx: Add option to silence wx depracation macros.
- Changes for 26.2.2
  * common_test: Fix how CT finds Erlang/OTP releases for compatability
               testing. This functionality is only used to test
               Erlang/OTP.
  * erl_interface: Fix bug where the system installed openssl/md5.h would
               be confused with the vendored md5.h.
  * erts: 32-bit runtime systems on most Unix like platforms
               could crash if a BIF timer was set with a huge timeout
               of more than 68 years into the future. In order for the
               crash to occur, the huge timer (at a later time than
               when it was set) had to become the nearest active timer
               set on the specific scheduler on which it was set. This
               could not happen on a system with only one scheduler
               since there would always be shorter timers in the
               system.
               Setting a timer larger than 49 days on Windows could
               under rare circumstances cause the timeout to be
               delayed.
  * erts: Fix bug where the system installed openssl/md5.h would
               be confused with the vendored md5.h.
  * erts: The JIT has now been disabled on x86 Macs to prevent
               annoying the "verifying shm-xyz" popups introduced in
               MacOS Sonoma.
               ARM Macs are unaffected.
  * erts: Garbage collection of a process on a dirty scheduler
               could collide with signal handling for that process
               causing a crash of the runtime system. This bug was
               introduced in OTP 25.3.2.8 and OTP 26.2.
  * kernel: Fix group (that is the shell) to properly handle when
               an get_until callback function returned {done, eof, []}
               when an eof was detected.
  * ssh: With this change, Curve25519 and Curve448 KEX methods
               become most preferred (related to RFC8731).
  * ssl: Legacy name handling could cause interop problems
               between TLS-1.3/1.2 client and TLS-1.2 server.
- Fix for bsc#1222591
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1149268 from Dominique Leuenberger's avatar Dominique Leuenberger (dimstar) (revision 135)
Prepare for RPM 4.20
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1140834 from Simon Lees's avatar Simon Lees (simotek) (revision 134)
- Disable rpmlint tests on SLE-15 where they currently fail
- This codestream wasn't affected by bsc#1207113
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1138050 from Simon Lees's avatar Simon Lees (simotek) (revision 133)
- Changes for 26.2.1:
  * erts: Removed unnecessary PCRE source tar-ball.
  * ssh: With this change (being response to CVE-2023-48795),
    ssh can negotiate "strict KEX" OpenSSH extension with
    peers supporting it; also
    'chacha20-poly1305@openssh.com' algorithm becomes a
    less preferred cipher.
    If strict KEX availability cannot be ensured on both
    connection sides, affected encryption modes(CHACHA and
    CBC) can be disabled with standard ssh configuration.
    This will provide protection against vulnerability, but
    at a cost of affecting interoperability. See
    Configuring algorithms in SSH. (bsc#1218192, CVE-2023-48795)
- Changes for 26.2:
  * all: Replaced unintentional Erlang Public License 1.1
    headers in some files with the intended Apache License
    2.0 header.
  * otp: The removal of the deprecated slave module, originally
    planned for OTP 27, has been postponed to OTP 29.
  * asn1: Fix benign warning from gcc 11 about mismatching call
    to free().
  * crypto: Enable engine support for OpenSSL versions 3.
  * edoc: Emit <code> instead of <tt>.
- Disable test suite for now, it has many false positives and
  takes a very long time.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1120360 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 132)
- Changes for 26.1.2:
  * erts: If the external term format encoding of an argument list
    part of a distributed spawn operation was faulty, the newly
    spawned remote process could misbehave. The misbehavior
    included hanging or interpret an incoming message as an
    argument list to use. This was very unlikely to happen unless
    using an alternate implementation of the distribution protocol
    which made a faulty encoding of the argument list. The child
    process will now detect this error and terminate before
    executing the user specified code.
  * erts: Fix bugs where if the body of a matchspec would return a
    map with a variable ('$1', '$_' etc) as one of the keys or
    values and the variable was not an immidiate, the term would
    not be copied to the receiving processes heap. This would later
    corrupt the term in the table as the GC could place move
    markers in it, which in turn would cause the VM to crash. Bug
    has been present for since OTP 17.0.
  * xmerl: The xmerl version 1.3.32 was released in OTP 26.0.1, but
    the incorrect version number of 1.3.31.1 was used for it. This
    incorrect version number continued to appear in OTP 26.0.2, OTP
    26.1, and OTP 26.1.1. The actual xmerl code in these OTP
    versions however corresponds to xmerl version 1.3.32.
- Changes for 26.1.1:
  * wx: The wx application would fail to build on macOS with Xcode
    15.
  * compiler: The compiler could become extremely slow for modules
    containing huge functions.
  * stdlib: Garbage collect the shell process when reducing the
    amount of saved history and results.
- Changes for 26.1:
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1094953 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 131)
- Changes for 25.3.2.2:
  * compiler: The compiler could be very slow when compiling guards
    with multiple guard tests separated with 'or' or ';'.
- Changes for 25.3.2.1:
  * xmerl: New options to xmerl_scan and xmerl_sax_parser so one
    can limit the behaviour of the parsers to avoid some XML
    security issues. xmerl_scan gets one new option:
    xmerl_sax_parser gets the following options: The old option
    skip_external_dtd is still valid and the same as
    {external_entities, none} and {fail_undeclared_ref, false} but
    just affects DTD's and not other external references.
  * erts: Fixed a crash during tracing on certain platforms that
    cannot use the machine stack for Erlang code (mainly OpenBSD
    and Linux with musl).
  * erts: Constructing a binary segment not aligned with a byte
    boundary, with a size not fitting in 31 bits, and with a value
    not fitting in a 64-bit word could crash the runtime system.
  * erts: Further robustify implementation of large maps (> 32
    keys). Keys that happen to have same internal 32-bit hash
    values are now put in collision nodes which are traversed with
    linear search. This removes the demand for the internal hash
    function when salted to eventually produce different hashes for
    all possible pairs of unequal terms.
  * stdlib: Static supervisors are very idle processes after they
    have started so they will now be hibernated after start to
    improve resource management.
  * compiler: Fixed a bug where a failing bsl expression in a guard
    threw an exception instead of causing the guard to fail.
  * compiler: Complex guard expression using the or operator and
    guard BIFs that can fail could sometimes be miscompiled so that
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1085293 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 130)
- Changes for 25.3.2:
  * compiler: Fixed type handling bugs that could cause an internal
    error in the compiler for correct code.
  * os_mon: Avoid error report from failing erlang:port_close at
    shutdown of cpu_sup and memsup. Bug exists since OTP 25.3
    (os_mon-2.8.1).
  * erts: If a runtime system which was starting the distribution
    already had existing pids, ports, or references referring to a
    node with the same nodename/creation pair that the runtime
    system was about to use, these already existing pids, ports, or
    references would not work as expected in various situations
    after the node had gone alive. This could only occur if the
    runtime system was communicated such pids, ports, or references
    prior to the distribution was started. That is, it was
    extremely unlikely to happen unless the distribution was
    started dynamically and was even then very unlikely to happen.
    The runtime system now checks for already existing pids, ports,
    and references with the same nodename/creation pair that it is
    about to use. If such are found another creation will be chosen
    in order to avoid these issues.
- Changes for 25.3.1:
  * snmp: Attempts to minimize the number of the error reports
    during a failed agent init.
  * compiler: When a map update such as #{}#{key:=value} that
    should fail with an exception was unused, the exception would
    be lost.
  * compiler: Fixed bug in the validator that made it reject valid
    code.
  * crypto: With this change, random errors are fixed for
    crypto:generate_key calls with OpenSSL 3.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1074311 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 129)
- Changes for 25.3:
  * reltool: Fixed a bug that would cause analysis to crash.
  * stdlib: Fixed a bug that would cause analysis to crash.
  * stdlib: Fixed a crash when formatting stack traces for error
    reports.
  * stdlib: Instead of crashing, the list_to_integer/1 and
    list_to_integer/2 BIFs now raise the system_limit exception for
    overlong lists that can't be converted to integers. Similarly,
    the string:to_integer/1 BIF now returns {error,system_limit}
    for overlong lists.
  * stdlib: Removal of non-necessary undefined types added to the
    state's supervisor record.
  * compiler: Fixed a bug that would cause the compiler to hang.
  * compiler: Fixed a crash when compiling code that contained
    maybe expressions.
  * compiler: Constructing a binary with an explicit size of all
    for a binary segment would crash the compiler.
  * compiler: The compiler would generate incorrect code for the
    following type of expression: Pattern = BoundVar1 = . . . =
    BoundVarN = Expression An exception should be raised if any of
    the bound variables have different values than Expression. The
    compiler would generate code that would cause the bound
    variables to be bound to the value of Expressionwhether the
    value matched or not.
  * xmerl: Replace size/1 with either tuple_size/1 or byte_size/1
    The size/1 BIF is not optimized by the JIT, and its use can
    result in worse types for Dialyzer. When one knows that the
    value being tested must be a tuple, tuple_size/1 should always
    be preferred. When one knows that the value being tested must
    be a binary, byte_size/1 should be preferred. However,
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1043584 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 128)
- Changes for 25.2:
  * erts: Fix perf/gdb JIT symbols to not contain CodeInfoPrologue
    for the JIT internal module erts_beamasm.
  * erts: Fixed minor memory leaks.
  * erts: Fix bugs in ets:insert and ets:insert_new when called
    with a list of tuples to insert while a concurrent process
    either deletes or renames the table. The table deletion could
    be done with ets:delete/1 or be caused by termination of the
    table owning process. Symptoms are either VM crash or strange
    incorrect behavior from the insert operation. The risk of
    triggering the bugs increases with the length of the list of
    tuple to insert. Bugs exist since OTP 23.0.
  * erts: Boost execution of scheduled thread progress jobs. This
    to prevent memory exhaustion in extremely rapid
    allocation/deallocation scenarios, such as repeated ETS table
    creations/deletions.
  * erts: Fix segv crash during crash dumping an ETS table doing
    ets:delete_all_objects.
  * erts: Spec for function net:if_names/0 incorrect
  * erts: Fix bug in binary_to_term decoding a binary term 2Gbyte
    or larger.
  * erts: Documentation of erlang:module_loaded/1 has been
    adjusted:
  * erts: Fix list_to_atom/1 for negative code points. Could either
    return with a positive code point or fail with an incorrect
    exception.
  * erts: Fix rare bug causing VM crash when sending to a pid of a
    spawning process returned from erlang:processes/0. Only seen
    when provoked by system process literal_area_collector,
    triggered by a module purge operation, on a VM started with
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1037964 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 127)
- Changes for 25.1.2:
  * mnesia: Don't fill the logs if mnesia can't connect to all
    nodes, due to partitioned network.
  * erts: Add abandon carrier free utilization limit (+Muacful)
    option to erts_alloc. This option allows the user to mark
    unused segments in a memory carrier as re-useable by the OS if
    needed. This functionality was a non-configurable default
    before Erlang/OTP 25, but removed due to performance issues.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 1010504 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 126)
- Changes for 25.1.1:
  * dialyzer: Dialyzer could crash when analyzing Elixir code that
    used intricate macros.
  * dialyzer: The --input_list_file option has been added.
  * ssl: Fixes handling of symlinks in cacertfile option.
  * eunit: With this change, eunit exact_execution option works
    with application primitive.
  * stdlib: peer nodes failed to halt when the process supervising
    the control connection crashed. When an alternative control
    connection was used, this supervision process also quite
    frequently crashed when the peer node was stopped by the node
    that started it which caused the peer node to linger without
    ever halting.
  * asn1: For the per and uper ASN.1 encoding rules, encoding and
    decoding the SEQUENCE OF and SET OF constructs with 16384 items
    or more is now supported.
  * erts: Listen sockets created with the socket module, leaked
    (erlang-) monitors.
  * erts: Notifications about available distribution data sent to
    distribution controller processes could be lost. Distribution
    controller processes can be used when implementing an
    alternative distribution carrier. The default distribution over
    tcp was not effected and the bug was also not present on
    x86/x86_64 platforms.
  * kernel: Listen sockets created with the socket module, leaked
    (erlang-) monitors.
  * kernel: peer nodes failed to halt when the process supervising
    the control connection crashed. When an alternative control
    connection was used, this supervision process also quite
    frequently crashed when the peer node was stopped by the node
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 999523 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 125)
- Changes for 25.0.4:
  * kernel: A call to net_kernel:setopts(new, Opts) at the same
    time as a connection was being set up could cause a deadlock
    between the net_kernel process and the process setting up the
    connection.
  * erts: The monitor/3 BIF did not apply options to the created
    monitor if the target process or port did not exist. That is,
    the corresponding down message would get a `DOWN` tag even if a
    custom tag had been set, and the returned reference was not an
    alias even if the alias option had been passed.
  * erts: The erlang:monotonic_time/1, erlang:system_time/1,
    erlang:time_offset/1, and os:system_time/1 BIFs erroneously
    failed when passed the argument native.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 993957 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 124)
- Changes for 25.0.3:
  * erts: Distributed exit signals could be lost under the
    following conditions:
  * erts: A race could cause process_info(Pid, message_queue_len)
    on other processes to return invalid results.
  * erts: Fixed reduction counting for handling process system
    tasks.
  * erts: Priority elevation of terminating processes did not work
    which could cause execution of such processes to be delayed.
  * erts: An unlink operation made by a process that terminated
    before the unlink operation completed, i.e., before it had
    received an unlink-ack signal from the linked process, caused
    an exit signal to erroneously be sent from the terminating
    process to the process being unlinked. This exit signal would
    most often be ignored by the receiver, but if the receiver of
    the exit signal concurrently set up a new link, it could
    receive the exit signal with the actual exit reason of the
    terminating process instead of a noproc exit reason. It is
    however very hard to detect that this has happened and has no
    obvious negative consequences, so it should be considered
    harmless. A distributed unlink-ack signal received by a
    terminating process was also not properly removed which could
    cause a minor memory leak.
  * ssl: The link to crypto:engine_load refered the function with
    wrong arity.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 986437 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 123)
- Changes for 25.0.2:
  * ssl: Improved handling of unexpected messages during the
    handshake, taking the right action for unexpected messages.
  * erts: On computers with the ARM64 (AArch64) architecture (such
    as Apple Silicon Macs) a rem expression followed by a div
    expression with the same operands could evaluate to the wrong
    result if the result of the rem expression was unused.
- Changes for 25.0.1:
  * ssl: When a TLS-1.3 enabled client tried to talk to a TLS-1.2
    server that coalesces TLS-1.2 handshake message over one TLS
    record, the connection could fail due to some message being
    handled in the wrong state, this has been fixed.
  * ssl: Correctly handles supported protocol version change from
    default to something else by sni_fun supplied to
    ssl:handshake/[2,3] together with a TCP-socket (so called
    upgrade).
  * ssl: Also, TLS-1.3 should respond with a protocol version alert
    if previous versions, that are supported but not configured,
    are attempted.
  * kernel: The DNS resolver inet_res has been fixed to ignore
    trailing dot difference in the request domain between the sent
    request and the received response, when validating a response.
  * kernel: A bug in inet_res has been fixed where a missing
    internal {ok,_} wrapper caused inet_res:resolve/* to return a
    calculated host name instead of an `{ok,Msg} tuple, when
    resolving an IP address or a host name that is an IP address
    string.
  * kernel: The erlang:is_alive() BIF could return true before
    configured distribution service was available. This bug was
    introduced in OTP 25.0 ERTS version 13.0. The
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 978543 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 122)
Version 25.0
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 967370 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 121)
- Fix build for Factory. Currently, any Java version
  is fine for Erlang.

- Changes for 24.3.2:
  * erl_interface: Fix compile error regarding gethostbyaddr_r on
    Android. Error introduced in OTP 24.3.
  * kernel: Fix failed accepted connection setup after previous
    established connection from same node closed down silently.
  * kernel: Fixed a problem where typing Ctrl-R in the shell could
    hang if there were some problem with the history log file.
- Changes for 24.3.1:
  * dialyzer: There could be spurious warnings for unknown types
    when a type was a subtype of an existing type that was a
    subtype of an unknown type.
  * ssl: Client certification could fail for TLS-1.3 servers that
    did not include the certificat_authorties extension in its
    certificate request message.
- Changes for 24.3:
  * megaco: The compilation time is no longer recorded in BEAM
    files. There remained several undocumented functions that
    attempted to retrieve compilation times. Those have now been
    removed.
  * megaco: Update the performance and debug chapters of the megaco
    user's guide. Also some updates to the meas tools.
  * compiler: The expression <<0/native-float>>=Bin would always
    fail to match, while <<0/float-native>>=Bin would match
    (provided that Bin contained the binary representation of 0.0)
  * compiler: The compiler will now compile huge functions with
    straight-line code faster.
  * erl_interface: Add --enable-ei-dynamic-lib configure option
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 959708 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 120)
- Changes for 24.2.2:
  * inets: Avoid intermediate ungraceful shutdown of the HTTP
    server.
  * ssh: The ssh sever parallel_login option was missing in OTP-24
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 956544 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 119)
- Changes for 24.2.1:
  * ssl: Improve SNI (server name indication) handling so that
    protocol version can be selected with regards to SNI. Also,
    make sure that ssl:connection_information/1 returns the correct
    SNI value.
  * ssl: Fixed cipher suite listing functions so that the listing
    of all cipher suites will be complete. Another fix for cipher
    suite handling in OTP-24.1 accidentally excludes a few cipher
    suites from the listing of all cipher suites.
  * ssl: Reenable legacy cipher suite TLS_RSA_WITH_3DES_EDE_CBC_SHA
    for explicit configuration in TLS-1.2, not supported by
    default.
  * ssl: Avoid unnecessary logs by better adjusting the tls_sender
    process to the new supervisor structure in OTP-24.2
  * erts: Fixed a memory leak in file:read_file_info/2 and
    file:read_file/1 on Windows.
  * erts: Fix GC emulator crash when spawn_request was used when
    message tracing was enabled.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 953011 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 118)
- Changes for 24.2:
  * compiler: When the compiler is invoked by Dialyzer, it will no
    longer apply an optimization of binary patterns that would turn
    the pattern <<"bar">> into <<6447474:24>>, which would be very
    confusing when printed out by Dialyzer.
  * compiler: The compiler would replace known failing calls (such
    as atom_to_list(42)) with a call to error(badarg). With the
    extended error information introduced in OTP 24 (EEP 54), those
    "optimized" calls would not have extended error information. To
    ensure that as much extended error information as possible is
    available, the compiler now keeps the original call even when
    it is known to fail.
  * sasl: Make release_handler even more resilient against exiting
    processes during upgrade. Same kind of bug fix as OTP-16744
    released in sasl-4.0.1 (OTP 23.1).
  * ssl: Allow re-connect on DTLS sockets Can happen when a
    computer reboots and connects from the same client port without
    the server noticing should be allowed according to RFC.
  * ssl: Fix tls and non-tls distribution to use
    erl_epmd:address_please to figure out if IPv4 or IPv6 addresses
    should be used when connecting to the remote node. Before this
    fix, a dns lookup of the remote node hostname determined which
    IP version was to be used which meant that the hostname had to
    resolve to a valid ip address.
  * ssl: Use supervisor significant child to manage tls connection
    process and tls sender process dependency.
  * ssl: Random generation adjustment for TLS1.3
  * ssl: Allow any {03,XX} TLS record version in the client hello
    for maximum interoperability
  * mnesia: Documentation and minor code cleanup.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 926548 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 117)
- Changes for 24.1.2:
  * kernel: The undocumented DNS encode/decode module inet_dns has
    been cleaned up to handle the difference between "symbolic" and
    "raw" records in a more consistent manner. PR-5145/OTP-17584
    introduced a change that contributed to an already existing
    confusion, which this correction should remedy.
  * erts: The python scripts that existed in
    erts/lib_src/yielding_c_fun/lib/tiny_regex_c/scripts had a
    license that was incompatible with Erlang/OTP's license. This
    ticket removes these scripts that were not used by us.
  * ssl: Before that change, TLS downgrade could occasionally fail
    when data intended for downgraded socket were delivered
    together with CLOSE_NOTIFY alert to ssl app.
  * ssl: Avoid re-encoding of decoded certificates. This could
    cause unexpected failures as some subtle encoding errors can be
    tolerated when decoding but hence creating another sequence of
    bytes if the decoded value is re-encoded.
  * ssl: Fix possible process leak when the process doing
    ssl:transport_accept dies before initiating the TLS handshake.
  * ssl: Fix dtls memory leak, the replay window code was broken.
  * public_key: Avoid re-encoding of decoded certificates. This
    could cause unexpected failures as some subtle encoding errors
    can be tolerated when decoding but hence creating another
    sequence of bytes if the decoded value is re-encoded.
  * crypto: Fixed minor memory leak at crypto module purge.
  * crypto: Fix possible inconsistency in fips mode when linking
    with some cryptolibs.
- Changes for 24.1.1:
  * kernel: Add more info about the socket 'type' ('socket' or
    'port') for the DOWN message when monitoring sockets.
Displaying revisions 1 - 20 of 136
openSUSE Build Service is sponsored by