Package Release Info

erlang-27.1.3-160000.2.2

Update Info: Base Release
Available in Package Hub : 16.0

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

erlang-debugger
erlang-debugger-src
erlang-dialyzer
erlang-dialyzer-src
erlang-diameter
erlang-diameter-src
erlang-doc
erlang-et
erlang-et-src
erlang-jinterface
erlang-jinterface-src
erlang-observer
erlang-observer-src
erlang-reltool
erlang-reltool-src
erlang-src
erlang-wx
erlang-wx-src

Change Logs

* Mon May 19 2025 eugenio.paolantonio@suse.com
- Allow disabling building documentation
- Disable building documentation by default on s390x: the
  pre-built ex_doc has a different endianess, and the build
  fails (bsc#1242999)
* Tue Dec 10 2024 matwey.kornilov@gmail.com
- Changes for 27.1.3:
  * public_key: If both ext-key-usage and key-usage are defined for
    a certificate it should be checked that these usages are
    consistent with each other. This will have the affect that such
    certificates where the ext-key-usages is marked as critical and
    the usages is consistent with the key-use it can be considered
    valid without mandatory application specific checks for the
    ext-key-useage extension.
  * public_key: Handle decoding of EDDSA key properly, when
    decoding a PEM file that contains only the public EDDSA key.
  * erts: gen_udp:send on domain local can leak inet_reply
    messages.
  * erts: net:getifaddrs does not properly report the running flag
    on windows.
  * compiler: In rare circumstances, the destructive tuple update
    optimization could be applied when it was unsafe.
  * compiler: In rare circumstances involving appending to multiple
    binaries, the compile could emit unsafe code that would crash
    the runtime system.
  * ssh: With this change, ssh connection does not crash upon
    receiving exit-signal message for an already terminated
    channel.
  * kernel: On windows the socket:recv could return with success
    ({ok, Data}) even though not all data had been read.
  * kernel: gen_udp:send on domain local can leak inet_reply
    messages.
  * kernel: Failure to create an UDP IPv6 socket when inet_backend
    = socket with certain IPv6 socket options.
  * kernel: net:getifaddrs does not properly report the running
    flag on windows.
  * ssl: Avoid generating an internal alert for case that should
    have been an orderly shutdown by the supervisor.
  * ssl: If present, extended key-usage TLS (SSL) role check (pk-
    clientAuth, pk-serverAuth) should always be performed for peer-
    cert. An intermediate CA cert may relax the requirement if
    AnyExtendedKeyUsage purpose is present.
  * ssl: Back port certificate_authorities option for TLS-1.3
    servers to pre TLS-1.3 servers to enable them to disable the
    sending of certificate authorities in their certificate
    request. This will have same affect as the the TLS-1.3 server
    option although it is handled by a different mechanism in these
    versions, where the functionality is described to be more of a
    guidance, although some pre TLS clients have proven to make it
    mandatory as in TLS-1.3 extension handling.
  * common_test: With this change, cth_surefire hook module handles
    group path reduction for a skipped group. This fixes a bug
    manifesting with improper group path for a group executed after
    a group which was skipped.
  * common_test: With this change, prefix option can be specified
    in cth_conn_log option list. Option allows to specify how much
    of additional information is added in raw log output.
* Thu Dec 05 2024 dmueller@suse.com
- drop systemd_requires, see
  https://en.opensuse.org/openSUSE:Systemd_packaging_guidelines#Runtime_requirements
* Sat Nov 30 2024 matwey.kornilov@gmail.com
- Changes for 27.1.2:
  * stdlib: With this change, uri_string:normalize assumes empty
    path (do not crash) when no path is provided in the URI map.
  * stdlib: Fixed spec for json:format/3.
  * kernel: A bug has been fixed where receiving an SCTP message
    with gen_sctp could waste the first fragments of a message and
    only deliver the last fragment.
  * kernel: An boolean option non_block_send for SCTP, has ben
    added to be able to achieve the old behaviour to avoid blocking
    send operations by passing the OS network stack error message
    ({error,eagain} through.
  * common_test: With this change, jquery and tablesorter licenses
    are added to COPYRIGHT file. Also tablesorter is updated to
    version 2.32.
  * ssl: Refactor trying to also make some optimizations introduced
    a bug in signature algorithms checks in OTP-26.2.1. This could
    manifest itself in not being able to negotiate connections
    using certificates needing to use some TLS-1.2 compatibility
    legacy signature schemes.
  * ssl: Correct timeout handling for termination code run for own
    alerts, so that intended timeout is used instead of falling
    back to OS TCP-stack timeout that is unreasonably long on some
    platforms.
  * ssl: Fix assertion so that works as intended. This could result
    in that some TLS-1.2 clients would fail to connect to the the
    erlang server.  Bug introduced in OTP-27.1.1
  * erts: A bug has been fixed where receiving an SCTP message with
    gen_sctp could waste the first fragments of a message and only
    deliver the last fragment.
  * erts: An boolean option non_block_send for SCTP, has ben added
    to be able to achieve the old behaviour to avoid blocking send
    operations by passing the OS network stack error message
    ({error,eagain} through.
  * erts: The call gen_tcp:send/2 could hang indefinitely despite
    having set the send_timeout option for the following
    unfortunate combination of circumstances:
  * erts: In rare circumstances, in code that matches multiple
    tuples, the JIT could generate code that would raise a badmatch
    exception even if the given tuples were correct.
  * erts: Fixed beam crash that could happen if resetting call_time
    or call_memory trace counters of a function while it is called.
    Bug exists since OTP R16.
  * ssh: With this change, a race condition is removed from ssh
    client connection setup procedure.
  * ssh: With this change, ssh:connect is not affected by presence
    of EXIT message in queue.
  * ssh: With this change, ssh appends {active, false} option after
    socket options received from user - so that false value is
    always used.
- Changes for 27.1.1:
  * public_key: Introduction of verify_fun/4 unfortunately
    introduced an argument switch for some specific path validation
    errors so that verify_fun/3 could under these circumstances be
    called with a DER cert instead of a decod cert, also in this
    situation the verify_fun/4 would have the certificates in
    reverse order.
  * public_key: Do not hide crypto badarg reason, this error
    handling enhancement facilitates debugging. These kind of
    runtime errors are not documented and should never be relied on
    for matching, they are intended for catching input errors
    early.
  * stdlib: Remove whitespace stripping of returned binaries in
    json:decode/3.
  * stdlib: Fix zip:unzip/2 to not crash when extracting zip files
    with garbage in the Zip64 extra header. This bug was introduced
    in Erlang 27.1 and has so far only been seen on some archives
    creates by MS Excel.
  * stdlib: With this change, shutdown procedure handles a race
    condition between supervisor executing a shutdown and child
    process termination from other reason.
  * common_test: With this change, HTML reports include jQuery
    version 3.7.1.
  * ssl: Starting from TLS-1.3 some server handshake alerts might
    arrive after ssl:connection/2,3,4 has returned. If the socket
    is in active mode the controlling process will get the alert
    message, but passive sockets would only get {error, closed} on
    next call to ssl:recv/2,3 or ssl/setopts/2. Passive sockets
    calls will now return  {error,  error_alert()}  instead.
  * ssl: Servers configured to support only version (pre TLS-1.2)
    should ignore hello version extension, as it is an unknown
    extension to them, this will result in that new clients that do
    not support the old server version will get an insufficient
    security alert from the server and not a protocol version
    alert, this is consistent with how old servers not able to
    support higher protocol versions work.
  * erts: On Windows, successive failed socket calls caused socket
    to become "uninitialized".
  * erts: The socket framework fails to start on a IPv6-only
    Windows machine.
* Sun Sep 29 2024 matwey.kornilov@gmail.com
- Changes for 27.1:
  * crypto: crypto built with --enable-fips will now accept an
    OpenSSL 3 lib without fips provider as long as fips mode is not
    enabled.
  * crypto: Added a warning in the documentation to avoid calling
    crypto:start/0 as it does not work for FIPS mode. Use
    application:start(crypto) instead.
  * crypto: Deprecation of RSA encryption functions has been
    reverted, as there still exists legitimate use cases with other
    padding modes than PKCS-1.
  * crypto: Compiler warnings for some removed functions have been
    corrected to point out the correct replacement functions.
  * ssh: 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.
  * ssh: Robustness has been improved by monitoring the connection
    handler process before casting the socket control notification.
  * ssl: 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 kTLS encryption to be activated too late
    when some encrypted data had already been read into the
    inet_drv.c buffer as unencrypted.
  * ssl: All TLS-1.3 terminations are now graceful (previous TLS
    version terminations already were).
  * ssl: 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.
  * ssl: Compiler warnings for some removed functions have been
    corrected to point out the correct replacement functions.
  * ssl: Include more information in logging of SNI (Server Name
    Indication) mismatch error.
  * diameter: Function specs for the main API module has been
    updated.
  * diameter: Man pages are now available for erl, erlc, dialyzer,
    and all other programs that are included in Erlang/OTP.
  * diameter: diameter:stop_service/1 has been made more
    synchronous.
  * wx: Documentation has been improved.
  * public_key: For completeness handle rsa_pss implicit default
    value, although this will probably not be commonly used as it
    provides very weak security.
  * public_key: The public_key:cacerts_load() function could in
    some error cases return undefined instead of {error, Reason}.
  * public_key: Added support for DragonFly.
  * public_key: Deprecation of RSA encryption functions has been
    reverted, as there still exists legitimate use cases with other
    padding modes than PKCS-1.
  * public_key: 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.
  * snmp: Man pages are now available for erl, erlc, dialyzer, and
    all other programs that are included in Erlang/OTP.
  * snmp: Figures in the documentation have been improved.
  * tftp: The legacy dependency to m:error_logger has been removed.
    m:logger is now used.
  * ftp: Eliminated a race condition that sometimes resulted in
    ftp:recv_bin/2 returning ok instead of {ok, Data}.
  * odbc: Figures in the documentation have been improved.
  * compiler: Fixed a crash in an optimization pass relating to
    appending binaries.
  * compiler: Fixed a bug in the compiler's alias analysis pass
    that could make it emit unsafe code.
  * common_test: Groups with empty list specifying groups and test
    cases no longer crash execution.
  * common_test: The Common_Test documentation and type specs have
    been polished.
  * common_test: Man pages are now available for erl, erlc,
    dialyzer, and all other programs that are included in
    Erlang/OTP.
  * dialyzer: Man pages are now available for erl, erlc, dialyzer,
    and all other programs that are included in Erlang/OTP.
  * xmerl: 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.
  * xmerl: The type spec for xmerl_sax_parser:file/2 has been
    corrected to indicate that it can return an {error, _} tuple.
  * runtime_tools: Fixed a bug where dbg sessions on remote nodes
    were terminated prematurely.
  * inets: The documentation for the m:httpd module has been
    improved, along with correction of headings and types.
  * inets: Userinfo is now properly percent-decoded before usage in
    headers.
  * stdlib: The help printout for incorrect t:io:format/0 strings
    now handles the k modifier correctly.
  * stdlib: Fixed a bug that caused the shell completion to crash
    when keyword and tuple appeared on the same line.
  * stdlib: Due to PR-7419/OTP-18671, the cached internal value of
    the callback_mode started leaking out to logger reports, which
    could cause logger handlers to crash.  This has now been fixed
    to show the value that was set, as before caching.
  * stdlib: Fixed an emulator crash relating to compressed ETS
    tables.
  * stdlib: The error description for maps:update/3 will no longer
    insist that the third argument is not a map when a key could
    not be found
  * stdlib: Multiple issues have been corrected in the markdown
    parser that creates documentation for the shell.
  * stdlib: Fixed category for some codepoint ranges in
    unicode_util.
  * stdlib: Fixed m:argparse to print sub-commands help when
    available.
  * stdlib: Class annotation to HTML from fenced blocks have been
    added.
  * stdlib: Added JSON formatting functions for indented output.
  * stdlib: Improved illegal pattern error for accidental map
    associations.
  * stdlib: Progress reports for a dynamically started supervisor
    will now be logged at debug level.
  * stdlib: The m:zip module has been updated with support for:
  * edoc: Broken links in release notes have been mended.
  * tools: m:tprof no longer crashes when using
    pause/restart/continue when profiling all modules.
  * tools: On systems supporting native coverage, calls to m:cover
    could hang or crash if cover-compiled module had been reloaded
    from outside cover. This has been corrected so that cover now
    recovers from the error and and sends a report to the logger
    about the failure to retrieve coverage information.
  * tools: Figures in the documentation have been improved.
  * erts: The erl -man example has been corrected to not consider
    values set in ERL_ZFLAGS and stop parsing arguments when a --
    is encountered.
  * erts: Compiler warnings for  Windows I/O back-end have been
    silenced.
  * erts: Bugs related to return_to trace have been fixed. It did
    not work for more than once trace session and it did sometimes
    not trigger for exceptions.
  * erts: Potential deadlocks while writing a crash dump have been
    eliminated.
  * erts: When loading a damaged or too old BEAM file, the runtime
    system could crash.
  * erts: 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.
  * erts: Statistics for number of carriers in a shared pool after
    calling instrument:allocations or instrument:carriers are now
    correct. Also, a potential bug in carrier block scanning was
    eliminated.
  * erts: 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 kTLS encryption to be activated too late
    when some encrypted data had already been read into the
    inet_drv.c buffer as unencrypted.
  * erts: Fixed an emulator crash relating to compressed ETS
    tables.
  * erts: A function (encode_sockaddr) was called with superfluous
    argument, on Windows, in the net nif.
  * erts: Fixed a crash that could happen on reallocation failure.
  * erts: Man pages are now available for erl, erlc, dialyzer, and
    all other programs that are included in Erlang/OTP.
  * erts: 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.
  * erts: Fixed trace matchspec functions trace and enable_trace to
    use the session tracer when enabling trace flags on untraced
    processes.
  * erts: Fixed a typo in the type spec for
    t:erlang:garbage_collection_defaults/0.
  * erts: Corrected socket:ioctl for genaddr (SIOCGENADDR).
  * erts: The support for Transparent Huge Pages has been disabled
    on non-amd64 Linux systems.
  * erts: Fixed a race condition on Windows when upgrading from
  - noshell to a shell that would cause Erlang to crash with the
    error:
  * erts: Added functions getservbyname and getservbyport to the
    net module.
  * erts: Introduced enet | esock variants of m:inet functions,
    either when called with sockets, with explicit inet_backend
    config or with the e inet_backend kernel config option.
  * erts: Optimize process and port creation when such tracing is
    not enabled by any trace session.
  * erts: Compiler warnings for some removed functions have been
    corrected to point out the correct replacement functions.
  * erts: A boolean option read_ahead has been implemented for
    gen_tcp, default true, to facilitate not reading past (caching
    data) the end of a packet.  In particular, 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.
  * erts: The m:zip module has been updated with support for:
  * kernel: A faulty assertion was corrected in the prim_tty
    module. This assertion could trigger when invalid UTF-8 was
    read from stdin just as the mode was changed from unicode to
    latin1.
  * kernel: Opening a disk_log file and combining head_func with
    rotate options did not work.
  * kernel: Fixed an error info printout for
    erlang:is_process_alive/1 on non-local pids.
  * kernel: 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 kTLS encryption to be activated too late
    when some encrypted data had already been read into the
    inet_drv.c buffer as unencrypted.
  * kernel: 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.
  * kernel: The -proto_dist init parameter will no longer be
    ignored when specified multiple times. It will now log a
    warning and use the first specified value.
  * kernel: Corrected socket:ioctl for genaddr (SIOCGENADDR).
  * kernel: Added functions getservbyname and getservbyport to the
    net module.
  * kernel: Introduced enet | esock variants of m:inet functions,
    either when called with sockets, with explicit inet_backend
    config or with the e inet_backend kernel config option.
  * kernel: The function socket:i/0 now uses the m:net module
    (instead of the m:inet module) for service translation.
  * kernel: A boolean option read_ahead has been implemented for
    gen_tcp, default true, to facilitate not reading past (caching
    data) the end of a packet.  In particular, 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.
  * syntax_tools: The documentation for syntax_tools has been
    polished after the migration to the new documentation system.
  * asn1: Fixed a cosmetic but harmless issue with the ASN.1
    compiler passing on the undec_rest option to the Erlang
    compiler.
- Changes for 27.0.1:
  * ssh: With this change, race condition between connection
    closing and automatic window adjustment is fixed.
  * ssl: Check  for TLS-1.3 support should check minimum
    requirements.
  * ssl: 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.
  * ssl: TLS-1.3 negotiation now uses SNI based options correctly
    instead of ignoring them.
  * ssl: Make it easier to distinguish between a invalid signature
    and unsupported signature.
  * ssl: Enhance ALERT logs to help understand what causes the
    alert.
  * ssl: 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.
  * public_key: Fix bug in dnsName constraint check, could cause
    valid cert to be considered bad during path validation.
  * compiler: 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.
  * compiler: Fix +deterministic to work properly with
    documentation attributes.
  * stdlib: Fix so that missing -doc({file, File}) files only
    result in a warning and not an error.
  * stdlib: Fixed m:json bugs, json:encode_key_value_list/2 did not
    generate arrays and json:decode/3 did not invoke the user
    callback for 0.
  * edoc: Fix broken makefile dependency when building HTML
    documentation.
  * erts: In rare circumstances the JIT could do an unsafe in-place
    update of a tuple.
  * erts: When a port command crashed in the inet driver during
    gen_tcp:send/2, a monitor 'DOWN' message could be left
    lingering in the caller's mailbox. This has now been fixed.
  * erts: 'DOWN' messages originating from a monitored port,
    contained the atom process instead of the atom port as the
    third element when the exit reason was not an immediate term.
  * erts: 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 and
    dialyzer. This bug was introduced in Erlang/OTP 27.0.
  * erts: When [*no time warp mode*](time_correction.md#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.
  * erts: When calling trace:function(Session, _, true, [meta]) the
    meta tracer was incorrectly set to be the calling process. Now
    it's set to the session tracer as expected.
  * kernel: Polish the m:logger documentation.
* Fri Sep 20 2024 matwey.kornilov@gmail.com
- Version 27.0:
  * 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>>.
  * The compiler will now merge consecutive updates of the same
    record.
  * Safe destructive update of tuples has been implemented in the
    compiler and runtime system. This allows the VM to update
    tuples in-place when it is safe to do so, thus improving
    performance by doing less copying but also by producing less
    garbage.
  * The maybe expression is now enabled by default, eliminating the
    need for enabling the maybe_expr feature.
  * Native coverage support has been implemented in the JIT. It
    will automatically be used by the cover tool to reduce the
    execution overhead when running cover-compiled code. There are
    also new APIs to support native coverage without using the
    cover tool.
  * The compiler will now raise a warning when updating record/map
    literals to catch a common mistake. For example, the compiler
    will now emit a warning for #r{a=1}#r{b=2}.
  * The erl command now supports the -S flag, which is similar to
    the -run flag, but with some of the rough edges filed off.
  * By default, escripts will now be compiled instead of
    interpreted. That means that the compiler application must be
    installed.
  * The default process limit has been raised to 1048576 processes.
  * The erlang:system_monitor/2 functionality is now able to
    monitor long message queues in the system.
  * The obsolete and undocumented support for opening a port to an
    external resource by passing an atom (or a string) as first
    argument to open_port(), implemented by the vanilla driver, has
    been removed. This feature has been scheduled for removal in
    OTP 27 since the release of OTP 26.
  * The pid field has been removed from erlang:fun_info/1,2.
    Multiple trace sessions are now supported.
  * There is a new module json for encoding and decoding JSON.
  * Several new functions that accept funs have been added to module timer.
  * The functions is_equal/2, map/2, and filtermap/2 have been
    added to the modules sets, ordsets, and gb_sets.
  * There are new efficient ets traversal functions with guaranteed
    atomicity. For example, ets:next/2 followed by ets:lookup/2 can
    now be replaced with ets:next_lookup/1.
  * The new function ets:update_element/4 is similar to
    ets:update_element/3, but takes a default tuple as the fourth
    argument, which will be inserted if no previous record with
    that key exists.
  * binary:replace/3,4 now supports using a fun for supplying the
    replacement binary.
  * The new function proc_lib:set_label/1 can be used to add a
    descriptive term to any process that does not have a registered
    name. The name will be shown by tools such as c:i/0 and
    observer, and it will be included in crash reports produced by
    processes using gen_server, gen_statem, gen_event, and gen_fsm.
  * Added functions to retrieve the next higher or lower
    key/element from gb_trees and gb_sets, as well as returning
    iterators that start at given keys/elements.
  * common_test: Calls to ct:capture_start/0 and ct:capture_stop/0
    are now synchronous to ensure that all output is captured.
  * common_test: The default CSS will now include a basic dark mode
    handling if it is preferred by the browser.
  * crypto: The functions crypto_dyn_iv_init/3 and
    crypto_dyn_iv_update/3 that were marked as deprecated in
    Erlang/OTP 25 have been removed.
  * dialyzer: The --gui option for Dialyzer has been removed.
  * ssl: The ssl client can negotiate and handle certificate status
    request (OCSP stapling support on the client side).
  * tools: There is a new tool tprof, which combines the
    functionality of eprof and cprof under one interface. It also
    adds heap profiling.
  * xmerl: As an alternative to xmerl_xml, a new export module
    xmerl_xml_indent that provides out-of-the box indented output
    has been added.
* Sat Aug 03 2024 matwey.kornilov@gmail.com
- Changes for 26.2.5.2:
  * erts: When 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 is the default.
  * erts: 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.
  * crypto: Add warning in documentation to avoid crypto:start/0 as
    it does not work for FIPS mode. Use application:start(crypto)
    instead.
  * stdlib: Fixed a bug that caused the shell completion to crash
    when keyword and tuple appeared on the same line.
  * ssl: 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.
- Changes for 26.2.5.1:
  * erts: A call to socket:[recv|recvfrom|recvmsg]/* with Timeout =
    0 on Windows could cause a (case clause) crash if data is
    immediately available.
  * erts: When a port command crashed in the inet driver during
    gen_tcp:send/2, a monitor 'DOWN' message could be left
    lingering in the caller's mailbox. This has now been fixed.
  * erts: 'DOWN' messages originating from a monitored port,
    contained the atom process instead of the atom port as the
    third element when the exit reason was not an immediate term.
  * public_key: Fix bug in dnsName constraint check, could cause
    valid cert to be considered bad during path validation.
  * diameter: Pick peer can now also handle request of type
    [#]diameter_packet{}.
  * kernel: A call to socket:[recv|recvfrom|recvmsg]/* with Timeout
    = 0 on Windows could cause a (case clause) crash if data is
    immediately available.
  * kernel: Open a disk_log file and combining head_func with
    rotate options did not work.
  * ssh: With this change, ssh client will automatically adjust
    transfer window size for commands executed remotely over SSH.
  * ssh: With this change, race condition between connection
    closing and automatic window adjustment is fixed.
  * ssl: Check for TLS-1.3 support should check minimum
    requirements.
  * ssl: 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.
  * ssl: TLS-1.3 negotiation now uses SNI based options correctly
    instead of ignoring them.
  * ssl: Make it easier to distinguish between a invalid signature
    and unsupported signature.
  * ssl: Enhance ALERT logs to help understand what causes the
    alert.
- Changes for 26.2.5:
  * erts: gen_sctp:send/3,4 now waits for the send to complete
    instead of returning an OS result such as {error, ewouldblock}.
  * erts: ETS functions did not properly handle keys containing
    maps, sometimes matching too many or too few objects.
  * erts: Fix CPU quota determination for cgroups. The bug was
    introduced through OTP-18999.
  * erts: Added a warning to open_port/2 regarding the BadBatBut
    attack affecting Windows.
  * dialyzer: Fixed an issue with bitstring type inference on
    segments following UTF-8/16/32 segments.
  * kernel: Fix the shell Job Control Mode to not crash when typing
    TAB or CTRL+R.
  * kernel: Fix calls to blocking application APIs to throw an
    exception with reason terminating if called when the system is
    terminating. This is done in order to avoid deadlocks during
    shutdown or restart.
  * stdlib: Fix shell expansion of -type a() :: $a. in the erlang
    shell.
  * stdlib: Fix the shell Job Control Mode to not crash when typing
    TAB or CTRL+R.
  * ssl: Fix certificate authorities check so that CA closest to
    peer is not lost. It could manifest itself in a failed
    connection as the client failed to realize it had a valid
    certificate chain to send to the server.
  * ssl: ssl:signature_algs/2 did not list some legacy algorithm
    schemes correctly when listing all algorithms available.
  * mnesia: Mnesia could crash during startup if del_table_copy/2
    and add_table_copy/3 was invoked when the table was loading.
* Tue Apr 16 2024 sflees@suse.de
- 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
* Thu Feb 22 2024 dimstar@opensuse.org
- Use %patch -P N instead of deprecated %patchN.
* Tue Jan 23 2024 sflees@suse.de
- Disable rpmlint tests on SLE-15 where they currently fail
Version: 20.3.8.15-bp150.5.1
* Sun Dec 09 2018 matwey.kornilov@gmail.com
- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.
* Sun Sep 30 2018 Dirk Mueller <dmueller@suse.com>
- update to 20.3.8.9:
  - Changes for 20.3.8.9:
  - http://erlang.org/download/OTP-20.3.8.9.README
  * Fix a regression in OTP-15204 that removed .beam file metadata
  - Changes for 20.3.8.8:
  - http://erlang.org/download/OTP-20.3.8.8.README
  * inets: Do not use chunked-encoding with 1xx, 204 and 304
    responses when using mod_esi
  * inets: Add robust handling of chunked-encoded HTTP responses
    with an empty body (1xx, 204, 304)
  - Changes for 20.3.8.7:
  - http://erlang.org/download/OTP-20.3.8.7.README
  * crypto: Update the crypto engine functions to handle multiple
    loads of an engine
  * mnesia: Fixed a bug where the bag table index data was not
    deleted when objects were deleted.
* Wed Aug 15 2018 matwey.kornilov@gmail.com
- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501
* Tue Aug 14 2018 matwey.kornilov@gmail.com
- Update to 20.3.8.5.
- Changes for 20.3.8.5:
  * erts: Fixed a bug causing some Erlang references to be
  inconsistently ordered. This could for example cause failure
  to look up certain elements with references as keys in search
  data structures. This bug was introduced in R13B02. Thanks to
  Simon Cornish for finding the bug and supplying a fix.
  * compiler: Fixed an issue where files compiled with the
  +deterministic option differed if they were compiled in a
  different directory but were otherwise identical.
  * crypto: Fixed a node crash in crypto:compute_key(ecdh, ...)
  when passing a wrongly typed Others argument.
  * erts: Fixed a bug which caused an emulator crash when
  enif_send() was called by a NIF that executed on a dirty
  scheduler. The bug was either triggered when the NIF called
  enif_send() without a message environment, or when the process
  executing the NIF was send traced.
  * erts: Fixed a bug causing some Erlang references to be
  inconsistently ordered. This could for example cause failure
  to look up certain elements with references as keys in search
  data structures. This bug was introduced in R13B02. Thanks to
  Simon Cornish for finding the bug and supplying a fix.
  * mnesia: When master node is set do not force a load from
  ram_copies replica when there are no available disc_copies,
  since that would load an empty table. Wait until a disk
  replica is available or until user explicitly force_loads the
  table.
  * mnesia: Allow to add replicas even if all other replicas are
  down when the other replicase are not stored on disk.
  * ssl: Correct handling of empty server SNI extension
  * ssl: Correct cipher suite handling for ECDHE_*, the incorrect
  handling could cause an incorrrect suite to be selected and
  most likly fail the handshake.
- Changes for 20.3.8.4:
  * asn1: A bug in ASN.1 BER decoding has been fixed. When
  decoding a recursively enclosed term the length was not
  propagated to that term decoding, so if the length of the
  enclosed term was longer than the enclosing that error was not
  dectected. A hard coded C stack limitation for decoding
  recursive ASN.1 terms has been introduced. This is currently
  set to 8 kWords giving a nesting depth of about 1000 levels.
  Deeper terms can not be decoded, which should not be much of a
  real world limitation.
- Changes for 20.3.8.3:
  * erts: Fixed a race condition in the inet driver that could
  cause receive to hang when the emulator was compiled with gcc8.
  * erts: Fix bug in generation of erl_crash.dump, which could
  cause VM to crash. Bug exist since erts-9.2 (OTP-20.2).
  * ic: Fixed potential buffer overflow bugs in
  oe_ei_encode_long/ulong/longlong/ulonglong functions on 64-bit
  architectures. These functions expect 32 bit integers as the
  IDL type "long" is defined as 32 bits. But there is nothing
  preventing user code from "breaking" the interface and pass
  larger values on 64-bit architectures where the C type "long"
  is 64 bits.
  * inets: Enhance error handling, that is mod_get will return 403
  if a path is a directory and not a file.
  * kernel: Non semantic change in dist_util.erl to silence
  dialyzer warning.
  * ssl: Improve cipher suite handling correcting ECC and TLS-1.2
  requierments. Backport of solution for ERL-641
  * ssl: Option keyfile defaults to certfile and should be trumped
  with key. This failed for engine keys.
- Changes for 20.3.8.2:
  * erl_interface: Make ei_connect and friends also accept state
  ok_simultaneous during handshake, which means the other node
  has initiated a connection setup that will be cancelled in
  favor of this connection.
  * erts: Fixed a rare bug that could cause processes to be
  scheduled after they had been freed.
  * ic: Fixed bug in ic causing potential buffer overrun in
  funtion oe_ei_encode_atom. Bug exists since ic-4.4.4
  (OTP-20.3.4).
  * kernel: Fix some potential buggy behavior in how ticks are
  sent on inter node distribution connections. Tick is now sent
  to c-node even if there are unsent buffered data, as c-nodes
  need ticks in order to send reply ticks. The amount of sent
  data was also calculated wrongly when ticks were suppressed
  due to unsent buffered data.
- Changes for 20.3.8.1:
  * inets: Options added for setting low-level properties on the
  underlying TCP connections. The options are: sock_ctrl,
  sock_data_act and sock_data_pass. See the manual for details.
  * ssh: SFTP clients reported the error reason "" if a non-OTP
  sftp server was killed during a long file transmission. Now
  the signal name (for example "KILL") will be the error reason
  if the server's reason is empty. The documentation also lacked
  type information about this class of errors.
  * ssh: Fix ssh_sftp decode error for sftp protocol version 4
  * syntax_tools: Fix a bug regarding reverting map types.
- Changes for 20.3.8:
  * erts: Fixed bug in ets that could cause VM crash if process A
  terminates after fixating a table and process B deletes the
  table at "the same time". The table fixation could be done
  with ets:safe_fixtable or if process A terminates in the
  middle of a long running select or match call.
  * snmp: The Snmp MIB compiler now allows using a
  TEXTUAL-CONVENTION type before defining it.
- Changes for 20.3.7:
  * erl_docgen: Update makefile so db_funcs.xsl is a part of the
  installed application.
  * erts: Fixed bug in enif_binary_to_term which could cause
  memory corruption for immediate terms (atoms, small integers,
  pids, ports, empty lists).
  * erts: Fixed bug in erlang:system_profile/2 that could cause
  superfluous {profile,_,active,_,_} messages for terminating
  processes.
  * inets: The option max_headers operated on the individual
  header length instead of the total length of all headers. Also
  headers with empty keys are now discarded.
- Changes for 20.3.6:
  * crypto: If OPENSSL_NO_EC was set, the compilation of the
  crypto nifs failed.
  * crypto: C-compile errors for LibreSSL 2.7.0 - 2.7.2 fixed
  * ssh: Host key hash erroneously calculated for clients
  following draft-00 of RFC 4419, for example PuTTY
  * ssh: Renegotiation could fail in some states
- Changes for 20.3.5:
  * erts: Fixed a crash in heart:get_cmd/0 when the stored command
  was too long.
  * ssl: Proper handling of clients that choose to send an empty
  answer to a certificate request.
- Changes for 20.3.4:
  * erl_interface: Fix bug in ei_connect functions that may cause
  failure due to insufficient buffer space for gethostbyname_r.
  * erl_interface, ic: Optimize encoding/decoding for pure 7-bit
  ascii atoms.
  * inets: Fix broken options handling in httpc (ERL-441).
  * ssh: An ssh_sftp server (running version 6) could fail if it
  is told to remove a file which in fact is a directory.
  * ssh: Fix rare spurios shutdowns of ssh servers when receiveing
  {'EXIT',_,normal} messages.
- Changes for 20.3.3:
  * sasl: When upgrading with instruction 'restart_new_emulator',
  the generated temporary boot file used 'kernelProcess'
  statements from the old release instead of the new release.
  This is now corrected.
Version: 20.3.2-bp150.2.11
* Sat Apr 14 2018 matwey.kornilov@gmail.com
- Update to 20.3.2
  * ssl: Added new API functions to facilitate cipher suite handling
  * erts, observer: More crash dump info such as: process binary
  virtual heap stats, full info for process causing out-of-mem
  during GC, more port related info, and dirty scheduler info.
  * inets: Add support for unix domain sockets in the http client.
* Thu Feb 01 2018 matwey.kornilov@gmail.com
- Update to 20.2.2.
- Changes for 20.2.2:
  * mnesia: Removed a quadratic behavior in startup. This change
  implies that backend plugins (if used) must be set when the
  schema is created or via configuration parameters before mnesia
  is started.
  * mnesia: Bad timing could crash mnesia after a checkpoint was
  deactivated and reactivated with the same checkpoint name on
  different tables.
- Changes for 20.2.1:
  * ssh: Fix problem with OpenSSH 7.2 (and later) clients that has
  used sha1 instead of sha2 for rsa-sha-256/512 user's public
  keys.
- Highlighted changes for 20.2:
  * crypto, ssl: The crypto API is extended to use private/public
  keys stored in an Engine for sign/verify or encrypt/decrypt
  operations. The ssl application provides an API to use this new
  engine concept in TLS.
  * ssh: SSH can now fetch the host key from the private keys stored
  in an Engine. See the crypto application for details about
  Engines.
  * ssl: A new command line option -ssl_dist_optfile has been added
  to facilitate specifying the many options needed when using SSL
  as the distribution protocol.
  * stdlib: Improve performance of the new string functionality when
  handling ASCII characters.
* Mon Nov 27 2017 matwey.kornilov@gmail.com
- Update to 20.1.5:
  * erts: Fixed a regression in zlib:gunzip/1 that prevented it
    from working when the decompressed size was a perfect multiple
    of 16384. This regression was introduced in 20.1.1
  * erts: Fixed a memory corruption bug in enif_inspect_iovec;
    writable binaries stayed writable after entering the iovec.
  * erts: Fixed a crash in enif_inspect_iovec on encountering empty
    binaries.
  * erts: zlib:deflateParams/3 will no longer return buf_error when
    called after zlib:deflate/2 with zlib 1.2.11.
  * inets: Correct the handling of location headers so that the
    status code is not hard coded. This should have been fixed by
    commit 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb but
    unfortunately was broken during a code refactoring and
    unnoticed due to a faulty placed test case.
- Update to 20.1.4:
  * inets: Fix broken handling of POST requests
  * inets: Make sure ints:stop/2 of the service httpd is
    synchronous
  * inets: Honor status code returned by ESI script and modernize
    "location" header handling.
- Update to 20.1.3:
  * diameter: A fault introduced in diameter 2.1 could cause decode
    errors to be ignored in AVPs following the header of aGrouped
    AVP.
  * erts: Added zlib:set_controlling_process/2 to move a zstream()
    between processes.
  * erts: Fix so that schedulers are bound correctly when the first
    available cpu is not the first detected cpu. e.g. when using
    "taskset -c X..Y" when X is not equal to 0.
  * snmp: The recbuf configuration option was not propagated
    correctly to the socket for the SNMP Manager.
* Thu Nov 23 2017 rbrown@suse.com
- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)
* Thu Oct 19 2017 matwey.kornilov@gmail.com
- Update to 21.1.2:
  * diameter: An inadvertently removed monitor in diameter 2.1
    caused the ets table diameter_reg to leak entries, and caused
    service restart and more to fail.
  * erts: Fixed bug that could cause a VM crash when a corrupt
    message is received on distribution channel from other node.
- Update to 20.1.1:
  * compiler: The compiler could issue an incorrect internal
    consistency failure diagnostic for some complicated bit syntax
    maches.
  * erts: The new zlib module returned a data_error when inflating
    concatenated streams, which was incompatible with the old
    module's behavior of returning the uncompressed data up to the
    end of the first stream.
  * erts: zlib:gunzip/1 will no longer stop at the end of the first
    stream when decompressing concatenated gzip files.
  * ssh: Fixed broken printout
  * ssh: Disable aes_gcm ciphers if peer is OpenSSH 6.2 which is
    known to have trouble with them in some cases.
- Update to 20.1:
  * crypto, public_key: Extend crypto and public_key functions
    sign and verify with: support for RSASSA-PS padding for
    signatures and for saltlength setting X9.31 RSA padding. sha,
    sha224, sha256, sha384, and sha512 for dss signatures as
    mentioned in NIST SP 800-57 Part 1. ripemd160 to be used for
    rsa signatures. A new tuple in crypto:supports/0 reports
    supported MAC algorithms.
  * diameter: Add service option decode_format to allow incoming
    messages to be decoded into maps instead of records. Decode
    performance has been improved. Add service/transport option
    avp_dictionaries to give better support for dictionaries only
    defining AVPs.
  * erts: Upgraded the ERTS internal PCRE library from version
    8.40 to version 8.41.
  * erts, kernel, tools: Profiling with lock counting can now be
    fully toggled at runtime in the lock counting emulator
    (-emu_type lcnt). Everything is enabled by default to match
    the old behavior, but specific categories can be toggled at
    will with minimal runtime overhead when disabled. Refer to the
    documentation on lcnt:rt_mask/1 for details.
  * lcnt:collect and lcnt:clear will no longer block all other
    threads in the runtime system. This makes it possible to run
    the lock counting under heavier load.
  * erts: The zlib module has been refactored and all its
    operations will now yield appropriately, allowing them to be
    used freely in concurrent applications.
  * erts, tools: Add erlang:iolist_to_iovec/1, which converts an
    iolist() to an erlang:iovec(), which is suitable for use with
    enif_inspect_iovec().
  * erts: Add new nif API functions for managing an I/O Queue. The
    added functions are: enif_ioq_create(), enif_ioq_destroy(),
    enif_ioq_enq_binary(), enif_ioq_enqv(), enif_ioq_deq(),
    enif_ioq_peek(), enif_inspect_iovec(), enif_free_iovec()
  * observer/crashdump_viewer: Reading of crash dumps with many
    binaries is optimized. A progress bar is shown when the detail
    view for a process is opened. The cdv script now sets
    ERL_CRASH_DUMP_SECONDS=0 to avoid generating a new crash dump
    from the node running the Crashdump Viewer.
  * observer: Add system statistics and limits to frontpage in
    observer.
  * public_key, ssl**: Improved error propagation and reports
  * ssh: A new option modify_algorithms is implemented. It enables
    specifying changes on the default algorithms list. See the
    reference manual and the SSH User's Guide chapter "Configuring
    algorithms in SSH".
  * tools/xref: The predefined Xref analysis locals_not_used now
    understands the -on_load() attribute and does not report
    unused functions.
  * tools/fprof: When sampling multiple processes and analyzing
    with totals set to true, the output now sums together all
    caller and callee entries which concerns the same function.
    Previous behaviour was to report each contributing entry
    separately.
* Thu Sep 14 2017 matwey.kornilov@gmail.com
- Only Java 1.6 is supported by Erlang since 18.0 release
* Thu Sep 14 2017 matwey.kornilov@gmail.com
- Update to 20.0.5:
  * erts: Fixed bug in binary_to_term and binary_to_atom that could
    cause VM crash. Typically happens when the last character of an
    UTF8 string is in the range 128 to 255, but truncated to only
    one byte. Bug exists in binary_to_term since ERTS version
    5.10.2 (OTP_R16B01) and binary_to_atom since ERTS version 9.0
    (OTP-20.0).
  * inets: http_uri aligned to follow RFC 3986 and not convert "+"
    to space when decoding URIs.
  * inets: Added new option max_client_body_chunk to httpd server
    to allow chunked delivery of PUT and POST data to mod_esi
    callback. Note, new mod_esi callback implementation is
    required. Also correct value provided by server_name
    environment variable.
* Sun Aug 27 2017 matwey.kornilov@gmail.com
- Update to 20.0.4:
  * dializer: Fix a bug where merging PLT:s could lose info. The
    bug was introduced in Erlang/OTP 20.0.
  * erts: A timer internal bit-field used for storing scheduler id
    was too small. As a result, VM internal timer data structures
    could become inconsistent when using 1024 schedulers on the
    system. Note that systems with less than 1024 schedulers are
    not effected by this bug. This bug was introduced in ERTS
    version 7.0 (OTP 18.0).
  * erts: Automatic cleanup of a BIF timer, when the owner process
    terminated, could race with the timeout of the timer. This
    could cause the VM internal data structures to become
    inconsistent which very likely caused a VM crash. This bug was
    introduced in ERTS version 9.0 (OTP 20.0).
- Update to 20.0.3:
  * asn1: Default values now work in extension for PER, so if you
    give the atom asn1_DEFAULT instead of a value it will become
    the default value.
  * compiler: Fail labels on guard BIFs weren't taken into account
    during an optimization pass, and a bug in the validation pass
    sometimes prevented this from being noticed when a fault
    occurred.
  * erts: Binary append operations did not check for overflow,
    resulting in nonsensical results when huge binaries were
    appended.
  * ssh: All unknown options are sent to the transport handler
    regardless of type.
* Sun Aug 20 2017 matwey.kornilov@gmail.com
- Update to 20.0.2:
  * asn: Fixed compilation error of generated code caused by a
  missing quotation of function names as part of an external call for
  encoding.
  * erts: Added missing release notes for OTP-14491 ("performance
  bug in pre-allocators") which was included in erts-9.0.1 (OTP-20.0.1).
  * erts: Fixed a bug that prevented TCP sockets from being
  closed properly on send timeouts.
  * erts: Fixed bug in operator bxor causing erroneuos result
  when one operand is a big *negative* integer with the lowest N*W bits as
  zero and the other operand not larger than N*W bits. N is an integer of 1
  or larger and W is 32 or 64 depending on word size.
  * kernel: The documentation for the 'quiet' option in
  disk_log:open/1 had an incorrect default value.
* Mon Jul 31 2017 matwey.kornilov@gmail.com
- erlang-gs application has been depricated
* Mon Jul 17 2017 matwey.kornilov@gmail.com
- Update to 20.0.1:
  * erts: Fixed a bug in gen_tcp:send where it never returned when
  repeatedly called on a remotely closed TCP socket.
  * erts: Fixed segfault that could happen during cleanup of aborted
  erlang:port_command/3 calls. A port_command is aborted if the
  port is closed at the same time as the port_command was issued.
  This bug was introduced in erts-8.0.
  * erts: Fixed implementation of statistics(wall_clock) and
  statistics(runtime) so that values do not unnecessarily wrap due
  to the emulator. Note that the values returned by
  statistics(runtime) may still wrap due to limitations in the
  underlying functionality provided by the operating system.
  * erts: Fix performance bug in pre-allocators that could cause
  them to permanently fall back on normal more expensive memory
  allocation. Pre-allocators are used for quick allocation of
  short lived meta data used by messages and other scheduled
  tasks. Bug exists since OTP_R15B02.
  * runtime_tools: A faulty encoding comment was added when saving
  trace patterns to file. This is now corrected.
  * stdlib: A bug in proc_lib:format() introduced in Erlang/OTP 20.0
  is corrected.
  * stdlib: Fix string:len/1 to be compatible with previous
  versions.
  * stdlib: In OTP-20.0, the behavior of c, make, and ct_make was
  changed so that in some cases the beam files by default would be
  written to the directory where the source files were found. This
  is now changed back to the old behavior so beam files are by
  default written to current directory.
- Update to 20.0.0:
  * Potential Incompatibilities
  * ERTS:
  * The non SMP Erlang VM is deprecated and not built by default
  * Remove deprecated erlang:hash/2
  * erlang:statistics/1 with scheduler_wall_time now also
    includes info about dirty CPU schedulers.
  * The new purge strategy introduced in OTP 19.1 is mandatory
    and slightly incompatible for processes holding funs
  * see erlang:check_process_code/3.
  * The NIF library reload is not supported anymore.
  * Atoms can now contain arbitrary unicode characters which
    means that the DFLAG_UTF8_ATOMS capability in the
    distribution protocol must be supported if an OTP 20 node
    should accept the connection with another node or library.
    Third party libraries which uses the distribution protocol
    need to be updated with this.
  * Asn1: Deprecated module and functions removed (asn1rt,
    asn1ct:encode/3 and decode/3)
  * Ssh: client only option in a call to start a daemon will now fail
  * Highlights
  * Erts:
  * Dirty schedulers enabled and supported on VM with SMP support.
  * support for ?dirty? BIFs and ?dirty? GC.
  * erlang:garbage_collect/2 for control of minor or major GC
  * Erlang literals are no longer copied when sending messages.
  * Improved performance for large ETS tables, >256 entries
    (except ordered_set)
  * erlang:system_info/1 atom_count and atom_limit
  * Reduced memory pressure by converting sub-binaries to
    heap-binaries during GC
  * enif_select, map an external event to message
  * Improvements of timers internally in the VM resulting in
    reduced memory consumption and more efficient administration
    for timers
  * Compiler:
  * Code generation for complicated guards is improved.
  * Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2,
    'a'=>3} will warn for the repeated key a.
  * By default there is now a warning when export_all is used.
    Can be disabled
  * Pattern matching for maps is optimized
  * New option deterministic to omit path to source + options
    info the BEAM file.
  * Atoms may now contain arbitrary unicode characters.
  * compile:file/2 has an option to include extra chunks in the
    BEAM file.
  * Misc other applications:
  * Significantly updated string module with unicode support and
    many new functions
  * crypto now supports OpenSSL 1.1
  * Unnamed ets tables optimized
  * gen_fsm is deprecated and replaced by gen_statem
  * A new event manager to handle a subset of OS signals in
    Erlang
  * Optimized sets add_element, del_element and union
  * Added rand:jump/0-1
  * When a gen_server crashes, the stacktrace for the client
    will be printed to facilitate debugging.
  * take/2 has been added to dict, orddict, and gb_trees.
  * take_any/2 has been added to gb_trees
  * erl_tar support for long path names and new file formats
  * asn1: the new maps option changes the representation of
    SEQUENCE to be maps instead of records
  * A TLS client will by default call
    public_key:pkix_verify_hostname/2 to verify the hostname
  * ssl: DTLS documented in the API, experimental
  * ssh: improving security, removing and adding algorithms
  * New math:fmod/2
* Sat May 06 2017 meissner@suse.com
- Disable global PIE for erlang, code is currently not fully
  ready.
* Sun Apr 30 2017 matwey.kornilov@gmail.com
- Update to 19.3.2:
  * erts: The +Bi command line argument of erl erroneously caused
  SIGTERM to be ignored by the VM as well as of all its child
  processes. This bug was introduced in erts version 8.3.
* Thu Apr 06 2017 matwey.kornilov@gmail.com
- Update to 19.3.1:
  * crypto: Fix a bug with AES CFB 128 for 192 and 256 bit keys.
  Thanks to kellymclaughlin !
  * erts: Trying to open a directory with file:read_file/1 on Unix
  leaked a file descriptor. This bug has now been fixed.
  * erts: Invoking init:stop/0 via the SIGTERM signal, in a non-SMP
  BEAM, could cause BEAM to terminate with fatal error. This has
  now been fixed and the BEAM will terminate normally when SIGTERM
  is received.
  * inets: Fixed a bug in ftp that made further operations after a
  recv_chunk operation impossible.
  * ssh: ssh:daemon_info/1 crashed if the listening IP was not 'any'
  * ssl: Correct active once emulation, for TLS. Now all data
  received by the connection process will be delivered through
  active once, even when the active once arrives after that the
  gen_tcp socket is closed by the peer.
* Thu Apr 06 2017 matwey.kornilov@gmail.com
- Changes since 19.2:
  * crypto, ssh: The implementation of the key exchange algorithms
  diffie-hellman-group-exchange-sha* are optimized, up to a factor
  of 11 for the slowest ( = biggest and safest) group size.
  * dialyzer: The peak memory consumption is reduced. Analyzing
  modules with binary construction with huge strings is now much
  faster.
  * erts: A received SIGTERM signal to beam will generate a 'stop'
  message to the init process and terminate the Erlang VM nicely.
  This is equivalent to calling init:stop/0.
  * kernel: The functions in the file module that take a list of
  paths (e.g. file:path_consult/2) will now continue to search in
  the path if the path contains something that is not a directory.
  * kernel: Two OTP processes that are known to receive many
  messages are rex (used by rpc) and error_logger. Those processes
  will now store unprocessed messages outside the process heap,
  which will potentially decrease the cost of garbage collections.
  * public_key: New function pkix_verify_hostname/2,3 implements
  certificate hostname checking. See the manual and RFC 6125.-
  * public_key, ssh: The ssh host key fingerprint generation now
  also takes a list of algorithms and returns a list of
  corresponding fingerprints. See
  public_key:ssh_hostkey_fingerprint/2 and the option
  silently_accept_hosts in ssh:connect.
  * ssl: Move PEM cache to a dedicated process, to avoid making the
  SSL manager process a bottleneck. This improves scalability of
  TLS connections.
  * stdlib: filename:safe_relative_path/1 to sanitize a relative
  path has been added.
* Fri Mar 10 2017 matwey.kornilov@gmail.com
- Add missed scripts requires for erlang-epmd package
* Thu Feb 02 2017 matwey.kornilov@gmail.com
- Update to 19.2.2:
  * mnesia: Fixed crash in checkpoint handling when table was
    deleted during backup.
* Sun Dec 18 2016 matwey.kornilov@gmail.com
- Update to 19.2:
  * stdlib: The new behaviour gen_statem has been improved with 3
    new features: the possibility to use old style non-proxy
    timeouts for gen_statem:call/2,3, state entry code, and state
    timeouts. These are backwards compatible. Minor code and
    documentation improvements has been performed including a
    borderline semantics correction of timeout zero handling.
  * ssl: Experimental version of DTLS. It is runnable but not
    complete and cannot be considered reliable for production usage.
    To use DTLS add the option {protocol, dtls} to ssl:connect and
    ssl:listen.
  * ssh: Extended the option silently_accept_hosts for ssh:connect
    to make it possible for the client to check the SSH host key
    fingerprint string. Se the reference manual for SSH.
  * ~40 contributions since the previous service release OTP 19.1
* Thu Sep 29 2016 kruber@zib.de
- Update to 19.1:
  * erts: Improved dirty scheduler support. A purge of a module
    will not have to wait for completion of all ongoing dirty
    NIF calls
  * erts: Improved accuracy of timeouts on MacOS X
  * kernel: Add net_kernel:setopts/2 and net_kernel:getopts/2 to
    control options for distribution sockets in runtime
  * asn1: Compiling multiple ASN.1 modules in the same directory
    with parallel make (make -j) should now be safe
  * httpd: support for PUT and DELETE in mod_esi
  * ~30 contributions since 19.0
* Fri Aug 12 2016 matwey.kornilov@gmail.com
- Update to 19.0.4:
  * erts: Fixed a race that could cause a lost wakeup of a process
    that timed out in a receive ... after. This bug was introduced
    in ERTS version 7.0.
  * erts: Fixed segfault after writing an erl crash dump.