File erlang.changes of Package erlang

-------------------------------------------------------------------
Sat Aug 03 07:23:34 UTC 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 06:33:05 UTC 2024 - Simon Lees <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 11:41:18 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>

- Use %patch -P N instead of deprecated %patchN.

-------------------------------------------------------------------
Tue Jan 23 09:35:11 UTC 2024 - Simon Lees <sflees@suse.de>

- Disable rpmlint tests on SLE-15 where they currently fail

-------------------------------------------------------------------
Tue Jan 23 01:27:26 UTC 2024 - Simon Lees <sflees@suse.de>

- This codestream wasn't affected by bsc#1207113

-------------------------------------------------------------------
Thu Jan 11 06:09:29 UTC 2024 - Simon Lees <sflees@suse.de>

- 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.

-------------------------------------------------------------------
Wed Oct 25 15:15:02 UTC 2023 - matwey.kornilov@gmail.com

- 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:
  * crypto: Fix VM crash caused by crypto being purged and reloaded
    (by init:restart for example) on OS with musl libc (such as
    Alpine linux).
  * crypto: Improved understanding of LibreSSL versions. Support
    chacha20 and chacha20_poly1305 for LibreSSL 3.7. Reflect
    removal of support for the DSS/DSA algorithm which was done in
    LibreSSL 2.6.1.
  * crypto: FIPS supported by crypto for OpenSSL 3.0.* and 3.1.*.
  * asn1: The ASN.1 compiler would ignore a constraint such as
    (SIZE (1..4), ...), causing incorrect behavior of the encoding
    and decoding function for the PER and UPER backends. Corrected
    to handle the constraint in the same way as (SIZE (1..4, ...)).
  * asn1: The JER backend has been internally refactored in a way
    that is compatible for applications that use the documented
    API. However, for a group of ASN.1 modules that depend on each
    other (for example, S1AP-PDU-Descriptions, S1AP-Contents, and
    so on), all modules in the group must be recompiled if on of
    the group members is recompiled.
  * observer: Closing the trace log window via the menu did not
    work.
  * erts: maps:put with existing key and identical value was not
    optimized as a no-op correctly if having the same 32-bit hash
    as another key in the map. In practice very rare and harmless.
  * erts: Fixed an issue with truncated crash slogans on failed
    emulator start.
  * erts: Fixed a bug where the emulator was unable to determine
    the current cgroup CPU quota.
  * 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: Function socket:close/1 could cause a VM crash on
    Windows.
  * erts: Fixed a bug in the ARM JIT where it could accidentally
    add garbage trailing bits when creating bitstrings whose size
    wasn't an even multiple of 8 bits.
  * erts: Fix erlang:system_info/1 documentation to show correct
    types.
  * erts: Expanded the documentation about how to use the
    standard_io, standard_error and user I/O devices. Added the
    types io:standard_io/0, io:standard:error/0 and io:user/0.
  * erts: Fix compilation with GNU termcap.
  * erts: Delivery time of message signals to a process not
    executing any receive expressions could become very long,
    potentially infinite. For example, a process checking for
    messages using process_info(self(), message_queue_len) or
    process_info(self(), messages) and avoiding to execute a
    receive expression matching on messages could be very slow in
    detecting new messages. Note that you are still discouraged
    from using process_info() this way. A process that wants to
    check if there are messages available to handle should execute
    a receive expression matching on messages.
  * erts: On AArch64 (ARM64), when calculating both the quotient
    and remainder with a divisor begin a power two, the remainder
    could be incorrectly calculated.
  * erts: Fix bug causing "magic" references in a compressed ETS
    table to not keep the referred object alive. The symptom would
    be the referred object being garbage collected prematurely and
    the reference appearing stale, not referring to anything.
    Examples of such magically referred objects are atomics and NIF
    resources.
  * erts: Matching out short bitstrings with a fixed size not
    divisible by 8 could could lead to the runtime system
    terminating with an "Overrun heap and stack" error.
  * erts: A constant flow of incoming non-message signals could
    prevent a process needing to execute dirty from doing so.
  * erts: A BEAM file usually contains a chunk with the tag "Type"
    containing type information that can be used by the JIT. The
    beam_lib:strip/1 takes care to preserve that chunk, but a
    build/release tool that does customized stripping could
    accidentally remove the chunk. Loading a BEAM file without the
    "Type" chunk could cause incorrect behavior of the loaded code.
  * erts: gen_udp:recv/* for Unix Domain Socket in binary mode and
    passive mode has been fixed to not crash.
  * erts: The cleanup operation of not yet delivered signals to a
    terminated process yielded excessively.
  * erts: Fixed minor hashing issue with the local option of
    term_to_binary()/term_to_iovec().
  * erts: Update gen_tcp_socket and gen_udp_socket to handle
    'completion' (socket on Windows).
  * erts: Add support for Unix Domain Sockets (only for STREAM
    sockets) on Windows for 'socket'.
  * erts: In Erlang/OTP 27, by default escripts will be compiled
    before being executed. That means that the compiler application
    must be installed. It is possible to force the escript to be
    interpreted by adding the directive -mode(interpret). to the
    escript file. In Erlang/OTP 28, support for interpreting an
    escript will be removed.
  * erts: Add basic support for socket ioctl on Windows.
  * erts: Removed erts/etc/darwin/Info.plist, as it is no longer
    necessary after macos 10.12
  * erts: Add support for (Windows) socket option exclusiveaddruse.
  * erts: [socket] Add support for the 'nopush' option.
  * erts: Add support for socket option 'BSP STATE'.
  * erts: Add tcp socket options 'keepcnt', 'keepidle' and
    'keepintvl'.
  * erts: Add support for misc (Windows) socket options
    ('max_msg_size' and 'maxdg').
  * compiler: The compiler could run forever when compiling a call
    to is_record/3 with a huge positive tuple size. The call
    is_record(A, a, 0) would crash the compiler when used in a
    function body. When used in a guard the compiler would emit
    incorrect code that would accept {a> as a record.
  * compiler: Fixed a bug that caused dialyzer to crash when
    analyzing bogus code that contained the literal atom undefined
    in segment sizes.
  * compiler: The compiler would crash when compiling some modules
    that contained a call to erlang:load_nif/2.
  * compiler: Fixed a bug that caused the compiler to crash on
    legal code.
  * compiler: The compiler could crash when attempting to compile a
    call to is_list/1 in a complex expression.
  * compiler: A complex guard expression using the or operator
    could succeed when it was supposed to fail.
  * compiler: Compiling nested try/catch and catch expression could
    result in an internal compiler error.
  * compiler: Using the bnot operator in a complex expression could
    cause the compiler to terminate with an internal consistency
    failure diagnostic.
  * compiler: Fixed a bug that caused the compiler to crash in a
    binary optimization pass.
  * compiler: The compiler could terminate with an internal error
    when attempting to compile a binary pattern that could not
    possibly match.
  * compiler: Fixed various performance issues related to the alias
    optimization pass.
  * erl_docgen: Expanded the documentation about how to use the
    standard_io, standard_error and user I/O devices. Added the
    types io:standard_io/0, io:standard:error/0 and io:user/0.
  * mnesia: Do not delete old backup file if the new backup fails.
  * megaco: Make megaco transports handle gen_tcp | gen_udp with
    socket backend on Windows (completion).
  * common_test: With this change, ct_hooks manual refers to CTH
    execution order section in user guide.
  * common_test: With this change, Config data from
    pre_end_per_testcase hook is delivered to post_end_per_testcase
    callback in case of testcase timetrap or linked process crash.
  * common_test: With this change, remaining references to not
    supported vts tool in ct_run are removed (mainly relates to
    docs and ct_run help message).
  * common_test: With this change, prompt search functionality in
    ct_telnet handles unicode input.
  * common_test: Expanded the documentation about how to use the
    standard_io, standard_error and user I/O devices. Added the
    types io:standard_io/0, io:standard:error/0 and io:user/0.
  * stdlib: The compiler could run forever when compiling a call to
    is_record/3 with a huge positive tuple size. The call
    is_record(A, a, 0) would crash the compiler when used in a
    function body. When used in a guard the compiler would emit
    incorrect code that would accept {a> as a record.
  * stdlib: Fix bug in ets:tab2file that could make it fail if
    another Erlang process created the same file at the same time.
  * stdlib: An {else_clause,Value} exception will now be reported
    nicely in the shell.
  * stdlib: Correct return value for error case, so that it matches
    the documented and intended return value {error,
    {already_started, pid()} when local registered names are used.
  * stdlib: sys:get_state/1,2 and sys:replace_state/2,3 has been
    corrected to handle a state named error as a state name, not as
    a failed system callback. For the standard server behaviours
    this was an issue only for gen_statem (and gen_fsm) when the
    state name was error, and for gen_server if the complete state
    was {error,_}.
  * stdlib: Multiple problems were fixed in
    filelib:safe_relative_path/2. If its second argument was a path
    that contained symbolic links, an incorrect result patch could
    be returned. Also, paths were sometimes falsely considered
    unsafe.
  * stdlib: Fix deadlock when erl.exe is used as part of a pipe on
    Windows and trying to set the encoding of the standard_io
    device.
  * stdlib: Expanded the documentation about how to use the
    standard_io, standard_error and user I/O devices. Added the
    types io:standard_io/0, io:standard:error/0 and io:user/0.
  * stdlib: Fix h/2,3 to properly render multi-clause
    documentation.
  * stdlib: Timers created by timer:apply_after/4,
    apply_interval/4, and apply_repeatedly/4 would silently fail to
    do the apply if it was not possible to spawn a process when the
    timer expired. This has now been corrected, and if the spawn
    fails, the system will be taken down producing a crash dump.
  * stdlib: When an Erlang source file lacked a module definition,
    there would be a spurious "module name must not be empty"
    diagnostic for each spec in the file.
  * stdlib: The argument descriptions for option types in argparse
    have been made less ambiguous.
  * stdlib: Clarified the documentation of normal shutdown reason
    on gen_server:call/2,3
  * stdlib: Pattern matching and equivalence (=:=, =/=) comparisons
    on 0.0 will now raise a warning, as it will no longer be
    considered equivalent to -0.0 in OTP 27. If a match on 0.0
    specifically is desired (distinct from -0.0), the warning can
    be suppressed by writing +0.0 instead. The arithmetic
    comparison operators are unaffected, including arithmetic
    equality (==). *** POTENTIAL INCOMPATIBILITY ***
  * stdlib: The semantics of the gen_{server,statem,event}
    behaviour's synchronous start behaviour introduced in OTP-26.0
    with OTP-18471, has been clarified in the documentation.
  * stdlib: Added functionality to set a custom multiline prompt.
  * stdlib: A warning for (accidental use of) Triple-Quoted Strings
    has been implemented as per EEP 64. *** POTENTIAL
    INCOMPATIBILITY ***
  * stdlib: The keyboard shortcuts for the shell are now
    configurable.
  * kernel: Fixed an issue with truncated crash slogans on failed
    emulator start.
  * kernel: Fix shell:start_interactive function specification.
  * kernel: Fix code:get_doc/1 to return missing, when it can't
    find erts instead of crashing.
  * kernel: Function socket:close/1 could cause a VM crash on
    Windows.
  * kernel: Fix deadlock when erl.exe is used as part of a pipe on
    Windows and trying to set the encoding of the standard_io
    device.
  * kernel: Expanded the documentation about how to use the
    standard_io, standard_error and user I/O devices. Added the
    types io:standard_io/0, io:standard:error/0 and io:user/0.
  * kernel: Fix logger's overload protection mechanism to only
    fetch memory used by messages when needed.
  * kernel: Fixed a number of socket-related issues causing
    incompatibilities with gen_tcp and gen_udp respectively.
  * kernel: gen_tcp:connect with socket address and socket (inet-)
    backend fails because of missing callback function.
  * kernel: The DNS RR cache used by `inet_res` has been fixed to
    preserve insert order, which is beneficial when the DNS server
    returns RRs in some specific order for e.g load balancing
    purposes.
  * kernel: The options `reuseport`, `reuseport_lb` and
    `exclusiveaddruse` were accidentally not allowed for e.g
    `gen_udp:open/1,2`, which has now been corrected.
  * kernel: gen_udp:recv/* for Unix Domain Socket in binary mode
    and passive mode has been fixed to not crash.
  * kernel: Fixed issue where cursor would not be placed at the end
    of the expression when navigating shell history.
  * kernel: Update gen_tcp_socket and gen_udp_socket to handle
    'completion' (socket on Windows).
  * kernel: Add support for Unix Domain Sockets (only for STREAM
    sockets) on Windows for 'socket'.
  * kernel: Add basic support for socket ioctl on Windows.
  * kernel: The file:location/0 type is now exported.
  * kernel: Add support for (Windows) socket option
    exclusiveaddruse.
  * kernel: [socket] Add support for the 'nopush' option.
  * kernel: Add support for socket option 'BSP STATE'.
  * kernel: Add tcp socket options 'keepcnt', 'keepidle' and
    'keepintvl'.
  * kernel: Add support for misc (Windows) socket options
    ('max_msg_size' and 'maxdg').
  * kernel: The keyboard shortcuts for the shell are now
    configurable.
  * kernel: Optimized code_server to reduce repeated work when
    loading the same module concurrently.
  * debugger: The call int:no_break(Module) did not remove any
    breakpoints.
  * debugger: The maybe expression is now supported in the
    Debugger.
  * debugger: The maybe expression is now supported in the
    Debugger.
  * debugger: The call int:no_break(Module) did not remove any
    breakpoints.
  * ssl: Avoid function clause error in ssl:getopts/2 by handling
    that inet:getopts may return an empty list during some
    circumstances, such as the socket being in a closing state.
  * ssl: The API function `ssl:recv/3` has been tightened to
    disallow negative length, which has never been documented to
    work, but was passed through and caused strange errors.
  * ssl: When a client initiated renegotiation was rejected and the
    client socket was in active mode the expected error message to
    the controlling process was not sent.
  * ssl: Add some guidance for signature algorithms configuration
    in ssl applications users guide.
  * snmp: Make snmp handle gen_udp with socket backend on Windows
    (completion).
  * public_key: Country name comparison shall be case insensitive
  * public_key: Add check to disallow duplicate certs in a path
  * inets: With this change, re_write httpd works as expected and
    does not return error.
  * inets: Fixed a bug so httpd does not crash when stopped at the
    wrong time during TLS connection negotiation, or any other
    theoretically as slow connection setup.
  * inets: Enhance error handling and avoid that the HTTP client
    hangs on headers provided on the wrong format.
  * inets: With this change, error report generated by httpd during
    connection setup contains socket type information.
  * inets: Stop and restart of the httpd server in the Inets
    application has been refactored to a more synchronous and OTP
    supervisor friendly approach. This should increase stability
    and for example avoid a supervisor report from
    httpd_connection_sup about killed child process(es) in some
    cases when stopping or restarting httpd.
  * dialyzer: Fixed a bug that caused dialyzer to crash when
    analyzing bogus code that contained the literal atom undefined
    in segment sizes.
  * dialyzer: Dialyzer could crash when attempting to analyze a
    module that defined a type called product/.
- Changes for 26.0.2:
  * erts: Fix using the IME (Input Method Editor) to enter text in
    cmd.exe and powershell.exe on Windows.
  * erts: Multiple socket:accept calls issue. When making multiple
    accept calls, only the last call is active.
  * erts: Fix the shell to ignore terminal delay when the terminal
    capabilities report that they should be used.
  * erts: Fix "oldshell" to echo characters while typing on
    Windows.
  * erts: On Windows, a call to the function socket:close, when
    there are waiting active calls to read, write or accept
    functions, could hang.
  * erts: Fix issues when reading or configuring standard_io on
    Windows when erl.exe is started using -noshell flag.
  * erts: The following functions are now much faster when given a
    long list or binary:
  * erts: On AArch64 (ARM64), equality and non-equality tests with
    literal bitstrings could succeed when they should fail and vice
    versa.
  * compiler: Fixed a type handling bug that would cause an
    internal consistence failure for correct code.
  * compiler: Fixed a bug that could cause the stack trace of throw
    exceptions to be erroneously optimized out.
  * compiler: Complex guard expression using 'or' were not always
    fully evaluated, making guards that were supposed to fail
    succeed.
  * stdlib: Fix bug where when you entered Alt+Enter in the
    terminal, the cursor would move to the last line, instead of
    moving to the next line.
  * stdlib: Fix eof handling when reading from stdin when erlang is
    started using -noshell.
  * stdlib: Fixed problem where output would disappear if it was
    received after a prompt was written in the shell.
  * stdlib: The following functions are now much faster when given
    a long list or binary:
  * kernel: Fix bug where when you entered Alt+Enter in the
    terminal, the cursor would move to the last line, instead of
    moving to the next line.
  * kernel: Fix so that the shell does not crash on startup when
    termcap is not available.
  * kernel: Multiple socket:accept calls issue. When making
    multiple accept calls, only the last call is active.
  * kernel: Fix the shell to ignore terminal delay when the
    terminal capabilities report that they should be used.
  * kernel: Fix "oldshell" to echo characters while typing on
    Windows.
  * kernel: Fix eof handling when reading from stdin when erlang is
    started using -noshell.
  * kernel: On Windows, a call to the function socket:close, when
    there are waiting active calls to read, write or accept
    functions, could hang.
  * kernel: Fix issues when reading or configuring standard_io on
    Windows when erl.exe is started using -noshell flag.
  * kernel: gen_udp:connect with inet_backend = socket fails when
    the Address is a hostname (string or atom).
  * kernel: Fixed problem which would cause shell to crash if
    particular escape sequence was written to stdout.
  * kernel: Fixed problem where output would disappear if it was
    received after a prompt was written in the shell.
  * kernel: Fix a crash where the location of erts could not be
    found in rebar3 dev builds.
  * kernel: Introduce the KERNEL application parameter
    standard_io_encoding that can be used to set the default
    encoding for standard_io. This option needs to be set to latin1
    if the application wants to treat all input data as bytes
    rather than utf-8 encoded characters.
  * ssl: Added keylog information to all protocol versions in
    ssl:connection_information/2.
  * ssl: Add RFC-6083 considerations for DTLS to enable gen_sctp
    based callback for the transport.
  * ssh: Added multiline editing support to ssh clients connected
    through OTP ssh daemon.

-------------------------------------------------------------------
Sat Jun 24 11:03:03 UTC 2023 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Changes for 26.0.1:
  * erts: Build of the socket nif failed on Solaris 11.
  * erts: Fixed two reduction-counting bugs relating to binaries.
  * 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: When a binary construction failed because of bad size for
    a segment, the error information was not always correct.
  * erts: Fixed a crash when calling a fun that was defined in a
    module that had been upgraded.
  * kernel: The POSIX error exdev was sometimes incorrectly
    described as "cross domain link" in some error messages.
  * kernel: Corrected the socket send function description (send
    with Timeout = nowait). The send function(s) could not return
    {ok, {RestData, SelectInfo}}
  * stdlib: The POSIX error exdev was sometimes incorrectly
    described as "cross domain link" in some error messages.
  * ssl: Make sure that selection of client certificates handle
    both TLS-1.3 and TLS-1.2 names correctly. Could cause valid
    client certificate to not be selected, and an empty client
    certificate message to be sent to server.
  * ssl: Improved ssl:format_error/1 to handle more error tuples.
  * ssl: Fixed hanging ssl:connect when ssl application is not
    started.
  * ssl: Correct handling of retransmission timers, current
    behavior could cause unwanted delays.
  * inets: Do not make the default ssl options by calling
    httpc:ssl_verify_host_options(true) if ssl options are supplied
    by the user.
  * 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.
  * compiler: Fixed a bug where a failing bsl expression in a guard
    threw an exception instead of causing the guard to fail.
  * compiler: Fixed a bug that would case the validator to reject
    legal code.
  * compiler: The compiler could re-order clauses matching binaries
    so that the incorrect clause would match. That could only
    happen for code that used the option {error_location,line} or
    for code without line or column number information (e.g.
    generated by a parse transform).
  * compiler: Complex guard expression using the or operator and
    guard BIFs that can fail could sometimes be miscompiled so that
    the guard would succeed even if a call to a guard BIF failed.
  * compiler: With optimizations disabled, a try/catch construct
    could return an incorrect value.
  * compiler: In rare circumstance, a combination of binary
    construction and binary_part/3 would cause the compiler to
    generate unsafe code that would crash the runtime system.
  * compiler: The compiler could be very slow when compiling guards
    with multiple guard tests separated with 'or' or ';'.
  * compiler: Complex guard expressions using 'or' and map updates
    could succeed even if the map update failed.

-------------------------------------------------------------------
Sat Jun 24 10:18:24 UTC 2023 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Version 26.0:
  * Leex has been extended with optional column number support.
  * The family of enumeration functions in module lists has been
    extended with enumerate/3 that allows a step value to be
    supplied.
  * Update Unicode to version 15.0.0.
  * proc_lib:start*/* has become synchronous when the started
    process fails. This requires that a failing process use a new
    function proc_lib:init_fail/2,3, or exits, to indicate failure. All
    OTP behaviours have been fixed to do this.
  * auto-complete of variables, record names, record fields names,
    map keys, function parameter types and filenames.
  * Open external editor in the shell to edit the current
    expression.
  * defining records (with types), functions, specs and types in
    the shell.
  * Creation and matching of binaries with segments of fixed sizes
    have been optimized.
  * Creation and matching of UTF-8 segments have been optimized.
  * Appending to binaries has been optimized.
  * The compiler and JIT now generate better code for creation of
    small maps where all keys are literals known at compile time.
  * Thanks to the optimizations above the performance of the base64
    module has been significantly improved. For example, on an
    x86_64 system with the JIT both encode and decode are almost
    three times faster than in Erlang/OTP 25.
  * Map comprehensions as suggested in EEP 58 has now been
    implemented.
  * Some map operations have been optimized by changing the
    internal sort order of atom keys. This changes the
    (undocumented) order of how atom keys in small maps are printed
    and returned by maps:to_list/1 and maps:next/1. The new order
    is unpredictable and may change between different invocations
    of the Erlang VM.
  * Introducing the new function maps:iterator/2 for creating an
    interator that return the map elements in a deterministic
    order. There are also new modifiers k and K for the format
    string in io:format() to support printing map elements ordered.
  * Added the new built-in type dynamic() introduced in EEP 61, PR
    introducing EEP 61 improving support for gradual type checkers.
  * Dialyzer has a new incremental mode that be invoked by giving
    the --incremental option when running Dialyzer. This new
    incremental mode is likely to become the default in a future
    release.
  * Multi time warp mode is now enabled by default. This assumes
    that all code executing on the system is time warp safe.
  * Support for UTF-8 atoms and strings in the NIF interface
    including new functions enif_make_new_atom,
    enif_make_new_atom_len and enif_get_string_length.
  * The BIFs min/2 and max/2 are now allowed to be used in guards
    and match specs.
  * Improved the selective receive optimization, which can now be
    enabled for references returned from other functions. This
    greatly improves the performance of gen_server:send_request/3,
    gen_server:wait_response/2, and similar functions.
  * It is no longer necessary to enable a feature in the runtime
    system in order to load modules that are using it. It is
    sufficient to enable the feature in the compiler when compiling
    it.
  * inet:setopts/2 has got 3 new options: reuseport, reuseport_lb
    and exclusiveaddruse.
  * Fix so that -fno-omit-frame-pointer is applied to all of the
    Erlang VM when using the JIT so that tools, such as perf, can
    crawl the process stacks.
  * In the lists module, the zip family of functions now takes
    options to allow handling lists of different lengths.
  * Added the zip:zip_get_crc32/2 function to retrieve the CRC32
    checksum from an opened ZIP archive. gen_server optimized by
    caching callback functions
  * The modules Erlang DNS resolver inet_res and helper modules
    have been updated for RFC6891; to handle OPT RR with DNSSEC OK
    (DO) bit.
  * Introduced application:get_supervisor/1.
  * Cache OTP boot code paths, to limit how many folders that are
    being accessed during a module lookup. Can be disabled with
    -cache_boot_path false.
  * Support for Kernel TLS (kTLS), has been added to the SSL
    application, for TLS distribution (-proto_dist inet_tls), the
    SSL option {ktls, true}.
  * Improved error checking and handling of ssl options.
  * Mitigate memory usage from large certificate chains by lowering
    the maximum handshake size. This should not effect the common
    cases, if needed it can be configured to a higher value.
  * For security reasons the SHA1 and DSA algorithms are no longer
    among the default values.
  * Add encoding and decoding of use_srtp hello extension to
    facilitate for DTLS users to implement SRTP functionality.

-------------------------------------------------------------------
Fri Jun 23 19:39:26 UTC 2023 - matwey.kornilov@gmail.com

- 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
    the guard would succeed even if a call to a guard BIF failed.

-------------------------------------------------------------------
Sun May 07 09:41:11 UTC 2023 - matwey.kornilov@gmail.com

- 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.
  * erts: Fixed a bug in the loader that prevented certain modules
    compiled with no_ssa_opt from being loaded.
  * erts: Implementations of the call() driver callback that
    returned a faulty encoded result could cause a memory leak and
    could cause invalid data on the heap of the processes calling
    erlang:port_call/3.
  * erts: Fixed a memory corruption issue when upgrading code. The
    bug was introduced in OTP 25.3
  * erts: Fixed configure tests for a few ARM-specific
    instructions, which prevented the emulator from being built on
    some platforms.
  * erts: Aliases created in combination with a monitor using the
    {alias, explicit_unalias} option stopped working from remote
    nodes when a 'DOWN' signal had been received due to the monitor
    or if the monitor was removed using the erlang:demonitor() BIF.
    This bug was introduced in OTP 24.3.4.10 and OTP 25.3.
  * erts: In rare circumstances, bit syntax matching of an invalid
    code point for a utf32 would crash the runtime system.
  * erts: Building the runtime system failed when native atomic
    support was missing. Note that execution on such systems have
    only been rudimentary tested.
  * erl_interface: Fixed configure tests for a few ARM-specific
    instructions, which prevented the emulator from being built on
    some platforms.
  * eldap: Added a new function eldap:info/1 that returns the
    socket and the transport protocol for the eldap connection.
  * inets: Correct timing related pipelining/keepalive queue bug,
    that could result in unexpected "socket_remotly_closed" errors.
  * inets: With this change, upon remote socket closure current
    request is added to a retried queue (either pipeline or
    keep_alive, but not both).
  * ssl: With this change, ssl:connection_information/2 returns
    correct keylog data after TLS1.3 key update.
  * ssl: Client signature algorithm list input order is now honored
    again , it was accidently reversed by a previous fix.
  * stdlib: The type specs in the erl_parse module has been updated
    to include the maybe construct and the ! operator.
  * wx: Improve debug prints from the nifs. Some minor fixes for
    wxWidgets-3.2. Fixed OpenGL debug functions.

-------------------------------------------------------------------
Sat Mar 25 10:06:34 UTC 2023 - matwey.kornilov@gmail.com

- 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * megaco: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * debugger: Fixed a bug that would cause analysis to crash.
  * erts: Fixed a bug on Windows where file:read_file_info/1 would
    fail for files with corrupt metadata.
  * erts: Fix process_info(_, binary) to again include "writable
    binaries" which were lost in OTP-25.0. Writable binaries are an
    optimization used when binaries are appended upon in a loop.
  * erts: Fix rare race when receiving fragmented messages on a
    terminating connection. Could potentially cause memory leaks as
    well as double free crashes. Bug exists since OTP 22.0.
  * erts: Fixed bug that could maybe cause problems when a file
    descriptor number is closed by a linked in driver and then
    opened (reused) and passed to enif_select by a NIF. No actual
    symptoms seen, only failed internal assertions in debug build.
  * erts: The runtime system could crash when tracing a process
    executing on a dirty scheduler.
  * erts: In the binary syntax, attempting to match out integers
    with size exceeding 2 GiB could crash the runtime system.
  * erts: Fixed edge case in floating-point negation where A = 0.0,
    B = -A did not produce B = -0.0 on x86_64 JIT.
  * erts: Fixed an issue in the JIT that could crash the emulator
    on some platforms.
  * erts: Added meta data to the windows installer.
  * erts: Fixed ETS insertion order into bag and duplicate_bag of
    tuples with identical keys when passed in a list to
    ets:insert/2. The insert order has been head-to-tail but was
    accidentally changed in OTP 23.0. For bag it was reverted
    (tail-to-head), while for duplicate_bag it was sometimes
    reverted depending on the length of the list and number of
    "reductions" left for the calling process. This fix changes the
    insert order of ets:insert/2 back to always be head-to-tail of
    the list argument.
  * erts: With the JIT for AArch64 (AMD64), calling bxor in with
    non-integer arguments in a guard would crash the runtime
    system.
  * erts: Fix bug regarding process flag max_heap_size. Could cause
    strange behavior when a process was killed due to exceeding the
    limit.
  * erts: Fixed binary comprehensions to be similar to other
    creation of binary data with respect to its contribution of
    triggering garbage collection.
  * erts: In rare circumstances, when a process exceeded its
    allowed heap size set by option max_heap_size, it would not be
    killed as it should be, but instead enter a kind of zombie
    state it would never get out of.
  * erts: 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.
  * erts: Active process aliases of a process at its termination
    leaked memory.
  * erts: Support for fully asynchronous distributed signaling
    where send operations never block. This functionality is by
    default disabled and can be enabled per process. For more
    information see the documentation of process_flag(async_dist,
    Bool).
  * erts: Added the +JPperf no_fp option to explicitly disable
    Erlang frame pointers otherwise added when using the +JPperf
    map option.
  * erl_interface: Accept connection setup from OTP 23 and 24 nodes
    that are not using epmd.
  * erl_interface: The ei API for decoding/encoding terms is not
    fully 64-bit compatible since terms that have a representation
    on the external term format larger than 2 GB cannot be handled.
  * syntax_tools: erl_syntax_lib:annotate_bindings/1,2 will now
    properly annotate named functions and their arguments.
  * kernel: Fixed a bug on Windows where file:read_file_info/1
    would fail for files with corrupt metadata.
  * kernel: Accept connection setup from OTP 23 and 24 nodes that
    are not using epmd.
  * public_key: As different solutions of verifying certificate
    revocation exists move the decode of 'CRLDistributionPoints' so
    that it will only be decode. When it is actually used in the
    verification process. This would enable interoperability with
    systems that use certificates with an invalid empty
    CRLDistributionPoints extension that they want to ignore and
    make verification by other means.
  * public_key: public_key:pkix_path_validation validates
    certificates expiring after 2050
  * public_key: Do not leave exit message in message queue after
    calling cacerts_load() on MacOS.
  * public_key: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * ssl: Fixed that new dtls connections from the same client ip
    port combination works. If there is a process waiting for
    accept the new connection will connect to that, otherwise it
    will try to re-connect to the old server connection.
  * ssl: When shutting down a node that uses SSL distribution
    (-proto_dist inet_tls), a confusing error message about an
    unexpected process exit was printed. This particular message is
    no longer generated.
  * ssl: fixes the type spec for ssl:format_error/1
  * ssl: 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, byte_size/1
    also accepts a bitstring (rounding up size to a whole number of
    bytes), so one must make sure that the call to byte_size/ is
    preceded by a call to is_binary/1 to ensure that bitstrings are
    rejected. Note that the compiler removes redundant calls to
    is_binary/1, so if one is not sure whether previous code had
    made sure that the argument is a binary, it does not harm to
    add an is_binary/1 test immediately before the call to
    byte_size/1.
  * jinterface: Accept connection setup from OTP 23 and 24 nodes
    that are not using epmd.
  * os_mon: The port programs used by cpu_sup and memsup are now
    gracefully shut down when cpu_sup and memsup are shut down.
  * eunit: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * crypto: A user defined runtime library path configured using
    --with-ssl-rpath=<PATHS> could fail to be enabled.
  * crypto: Ensure that configure fails if a user defined runtime
    library path has been passed by the user, but cannot set.
  * mnesia: Improved consistency for dirty writes when a table was
    added with add_table_copy/3. Fixed a problem with sticky write,
    which could lead to inconsistent data.
  * mnesia: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * common_test: Renamed undocumented macro CT_PEER/3 to
    CT_PEER_REL/3.
  * ssh: With this change, PKCS8 formatted private key file is
    properly decoded and SSH daemon with such key can be started.
  * ssh: 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, byte_size/1
    also accepts a bitstring (rounding up size to a whole number of
    bytes), so one must make sure that the call to byte_size/ is
    preceded by a call to is_binary/1 to ensure that bitstrings are
    rejected. Note that the compiler removes redundant calls to
    is_binary/1, so if one is not sure whether previous code had
    made sure that the argument is a binary, it does not harm to
    add an is_binary/1 test immediately before the call to
    byte_size/1.
  * inets: With this change, handling of URI to a folder, with
    missing trailing / and a query component present is fixed.
  * inets: Adds more type information to the inets app, thus
    improving the errors that static analysis tools can detect. The
    addition of type information to records and the updates to
    function heads help static analysis tools to understand that
    some values in the records cannot be 'undefined', thus making
    static tools to type check correctly more modules in the inets
    app
  * inets: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * snmp: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * ftp: 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, byte_size/1
    also accepts a bitstring (rounding up size to a whole number of
    bytes), so one must make sure that the call to byte_size/ is
    preceded by a call to is_binary/1 to ensure that bitstrings are
    rejected. Note that the compiler removes redundant calls to
    is_binary/1, so if one is not sure whether previous code had
    made sure that the argument is a binary, it does not harm to
    add an is_binary/1 test immediately before the call to
    byte_size/1.
  * dialyzer: Fixed a bug that would cause analysis to crash.
  * dialyzer: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
  * tftp: 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,
    byte_size/1 also accepts a bitstring (rounding up size to a
    whole number of bytes), so one must make sure that the call to
    byte_size/ is preceded by a call to is_binary/1 to ensure that
    bitstrings are rejected. Note that the compiler removes
    redundant calls to is_binary/1, so if one is not sure whether
    previous code had made sure that the argument is a binary, it
    does not harm to add an is_binary/1 test immediately before the
    call to byte_size/1.
- Changes for 25.2.3:
  * erts: Comparisons between small numbers and pids or ports would
    in some edge cases say that the number was greater than the pid
    or port, violating the term order.
  * erts: process_info(Pid, status) when Pid /= self() could return
    an erroneous result.
  * ssl: Maximize compatibility by ignoring change_cipher_spec
    during handshake even if middle_box_mode is not negotiated
    (mandated by client)
  * ssl: Move assert of middlebox message after an
    hello_retry_request to maximize interoperability. Does not
    changes semantics of the protocol only allows unexpected
    message delay from server.
  * ssh: With this change, ssh application does not crash when
    formatting some of info reports for unsuccessful connections.
  * ssh: With this change, ssh does not log extensively long
    messages.
  * inets: Ensure graceful shutdown
  * inets: Return type of the type specification for function
    httpc:cookie_header/{1,2,3} has been fixed from -spec
    cookie_header(url()) -> [{ field(), value() }] | {error,
    Reason} to -spec cookie_header(url()) -> { field(), value() } |
    {error, Reason}
- Changes for 25.2.2:
  * ftp: Fixes calls to ftp:nlist/2 returning {error, epath} when
    the file / folder exists
- Changes for 25.2.1:
  * compiler: Fixed a bug that could cause legal code to fail
    validation.
  * compiler: Eliminated a rare crash in the beam_types module.
  * erts: Fixed a bug in selective receive optimization that could
    crash 32-bit emulators.
  * erts: A race condition which was very rarely triggered could
    cause the signal queue of a process to become inconsistent
    causing the runtime system to crash.
  * kernel: The tcp connect option 'bind_to_device' could not be
    used with inet_backend = 'socket'. 'inet' requires value type
    binarry() and 'socket' requires value type 'string()'.
  * kernel: Minor issue processing options when calling
    gen_tcp:connect with a sockaddr() and inet_backend = socket.
  * common_test: Change timeout to infinity for gen_server calls in
    cth_log_redirect
  * inets: fixes a missing case of the type specification for
    httpd:info/2/3/4
  * snmp: Single threaded agent crash when vacm table not properly
    initiated.

-------------------------------------------------------------------
Sun Dec 18 08:45:06 UTC 2022 - matwey.kornilov@gmail.com

- 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
    +Meamin (no customized allocators).
  * erts: gen_udp:open/2 with option(s) add_membership or
    drop_membership would drop earlier options.
  * erts: The inet:setopts/2 {reuseaddr, true} option will now be
    ignored on Windows unless the socket is an UDP socket. For more
    information see the documentation of the reuseaddr option part
    of the documentation of inet:setopts/2. Prior to OTP 25 the
    {reuseaddr, true} option was ignored for all sockets on
    Windows, but as of OTP 25.0 this was changed so that it was not
    ignored for any sockets. *** POTENTIAL INCOMPATIBILITY ***
  * erts: Fix bug in binary_to_term decoding a list of length 1G or
    longer.
  * erts: Fix bug in binary_to_term (and distributed receive) when
    decoding a large map (>32 keys) with unsorted small maps (<=
    32) as keys of the large map. This was only a problem if the
    term was encoded by erl_interface, jinterface or otherwise, as
    the VM itself always encodes small maps with sorted keys. The
    "binary_to_term" would appear as successful but the created
    large map was internally inconsistent. The smaller key-maps
    could not be found with maps:get and friends. Other operations
    such as map compare and merge could probably also give
    incorrect results.
  * erts: Fix Windows bug in open_port({spawn, Command}, ..) when
    Command is found via the OS search PATH and that directory path
    contains white spaces. The port program would start but the
    command line arguments to it could be incorrect.
  * ftp: fix unexpected result ok when calling ftp:nlist repeatedly
  * inets: This change allows body requests to httpc:request/5 be
    an iolist()
  * inets: addition of type specs in httpc.erl
  * inets: httpc: Add support for HTTP 308 status code
  * dialyzer: Dialyzer would crash when attempting to analyze a bit
    syntax segment size having an literal non-integer size such as
    [].
  * dialyzer: Dialyzer could crash when trying to analyze a
    convoluted nested expression involving funs,
  * kernel: Fixed shutdown crash in gen_tcp socket backend, when
    the other end closed the socket.
  * kernel: erl_tar can now read gzip-compressed tar files that are
    padded. There is a new option compressed_one for file:open/2
    that will read a single member from a gzip file,
  * kernel: Fix os:cmd to not translate all exceptions thrown to
    badarg. For example emfile from erlang:open_port was translated
    to badarg. This bug has existed since Erlang/OTP 24.
  * kernel: Spec for function net:if_names/0 incorrect
  * kernel: Missing ctrl option name transation for TOS and TTL (on
    FreeBSD) when using gen_udp with the 'socket' inet_backend.
  * kernel: gen_udp:open/2 with option(s) add_membership or
    drop_membership would drop earlier options.
  * kernel: The inet:setopts/2 {reuseaddr, true} option will now be
    ignored on Windows unless the socket is an UDP socket. For more
    information see the documentation of the reuseaddr option part
    of the documentation of inet:setopts/2. Prior to OTP 25 the
    {reuseaddr, true} option was ignored for all sockets on
    Windows, but as of OTP 25.0 this was changed so that it was not
    ignored for any sockets. *** POTENTIAL INCOMPATIBILITY ***
  * kernel: The distribution socket option handling in
    inet_tcp_dist has been cleaned up to clarify which were
    mandatory and which just had default values.
  * kernel: Improve warning message format for gen_tcp_socket.
  * snmp: Explicitly close the socket(s) when terminating
    (default-) net-if process.
  * stdlib: erl_tar can now read gzip-compressed tar files that are
    padded. There is a new option compressed_one for file:open/2
    that will read a single member from a gzip file,
  * stdlib: A concurrent call to ets:rename could cause
    ets:delete_all_objects to fail halfway through with badarg.
  * stdlib: It is not allowed to call functions from guards. The
    compiler failed to reject a call in a guard when done by
    constructing a record with a default initialization expression
    that called a function.
  * stdlib: The compiler could crash when using a record with
    complex field initialization expression as a filter in a list
    comprehension.
  * stdlib: unicode:characters_to_binary() could build
    unnecessarily large call stack.
  * stdlib: Improve error message for ets:new/2 name clash. Say
    "name already exists" instead of less specific "invalid
    options".
  * mnesia: Fixed crash which could happen during startup if too
    many decisions where sent from remote nodes.
  * os_mon: The disk_space_check_interval configuration parameter
    of disksup can now be set to values smaller than a minute.
  * ssh: graceful shutdown of ssh_conection_handler when connection
    is closed by peer
  * common_test: Fix starting of peer nodes on old releases when
    the compile server was active and the current Erlang
    installation contained non-latin1 characters in its path.
  * public_key: Disregard LDAP URIs when HTTP URIs are expected.
  * ssl: With this change, tls_sender process is hibernated after
    sufficient inactivity.
  * ssl: Correct handling of legacy schemes so that ECDSA certs
    using sha1 may be used for some TLS-1.3 configurations.
  * ssl: With this change, tls_sender does not cause logger crash
    upon key update.
  * ssl: Enhance warning message
  * ssl: Provide server option to make certificate_authorities
    extension in the TLS-1.3 servers certificate request optional.
    This will allow clients to send incomplete chains that may be
    reconstructable and thereby verifiable by the server, but that
    would not adhere to the certificate_authorities extension.
  * ssl: If the verify_fun handles four arguments the DER cert will
    be supplied as one of the arguments.
  * megaco: A very minor improvement to the measurement tool.
  * observer: A WX event race could causes a crash in when handling
    socket or port info.
  * observer: Improve the nodes menu to include more nodes.
  * compiler: Line number in compiler messages would be truncated
    to 4 digits for line numbers greater than 9999.
  * compiler: In rare circumstance, matching a binary as part of a
    receive clause could cause the compiler to terminate because of
    an internal consistency check failure.
  * compiler: Compiling a function with complex bit syntax matching
    such as f(<<X:0, _:X>>, <<Y:0, _:Y>>) -> ok. could crash the
    compiler.
  * compiler: It is not allowed to call functions from guards. The
    compiler failed to reject a call in a guard when done by
    constructing a record with a default initialization expression
    that called a function.
  * compiler: The compiler could crash when using a record with
    complex field initialization expression as a filter in a list
    comprehension.
  * wx: Added environment variable WX_MACOS_NON_GUI_APP to allow
    user to override OSXIsGUIApplication behavior.

-------------------------------------------------------------------
Thu Nov 24 17:37:54 UTC 2022 - matwey.kornilov@gmail.com

- 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.

-------------------------------------------------------------------
Thu Oct 13 16:02:52 UTC 2022 - opensuse-packaging@opensuse.org

- 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
    that started it which caused the peer node to linger without
    ever halting.
- Changes for 25.1:
  * dialyzer: Two bugs have been fixed in Dialyzer's checking of
    behaviors: When a mandatory callback function is present but
    not exported, Dialyzer would not complain about a missing
    callback. When an optional callback function was not exported
    and had incompatible arguments and/or the return values were
    incompatible, Dialyzer would complain. This has been changed to
    suppress the warning, because the function might not be
    intended to be a callback function, for instance if a release
    added a new optional callback function (such as format_status/1
    for the gen_server behaviour added in OTP 25).
  * dialyzer: The no_extra_return and no_missing_return warnings
    can now be suppressed through -dialyzer directives in source
    code.
  * jinterface: Fix javadoc build error by adding option -encoding
    UTF-8.
  * diameter: There is a new configure option, --enable-
    deterministic-build, which will apply the deterministic
    compiler option when building Erlang/OTP. The deterministic
    option has been improved to eliminate more sources of non-
    determinism in several applications.
  * crypto: Fix configure with --with-ssl and --disable-dynamic-
    ssl-lib on Windows.
  * crypto: Remove all references correctly in the garbage
    collection if an engine handle was not explicit unloaded.
  * crypto: Changed the behaviour of the engine load/unload
    functions The engine load/unload functions have got changed
    semantics to get a more consistent behaviour and work correct
    when variables are garbage collected. The load functions now
    don't register the methods for the engine to replace. That will
    now be handled with the new functions
    engine_register/engine_unregister if needed. Some functions are
    removed from the documentation and therefor the API, but they
    are left in the code for compatibility. *** POTENTIAL
    INCOMPATIBILITY ***
  * crypto: Fixed a naming bug for AES-CFB and Blowfish-CFB/OFB
    when linked with OpenSSL 3.0 cryptolib.
  * crypto: Sign/verify does now behave as in OTP-24 and earlier
    for eddsa.
  * crypto: Pass elliptic curve names from crypto.erl to crypto's
    nif.
  * crypto: The configure option --disable-deprecated-warnings is
    removed. It was used for some releases when the support for
    OpenSSL 3.0 was not completed. It is not needed in OTP 25.
  * crypto: Crypto is now considered to be usable with the OpenSSL
    3.0 cryptolib for production code. ENGINE and FIPS are not yet
    fully functional.
  * crypto: Do not exit if the legacy provider is missing in
    libcrypto 3.0.
  * ssl: Reject unexpected application data in all relevant places
    for all TLS versions. Also, handle TLS-1.3 middlebox
    compatibility with more care. This will make malicious
    connections fail early and further, mitigate possible DoS
    attacks, that would be caught by the handshake timeout. Thanks
    to Aina Toky Rasoamanana and Olivier Levillain from Télécom
    SudParis for alerting us of the issues in our implementation.
  * ssl: With this change, value of cacertfile option will be
    adjusted before loading certs from the file. Adjustments
    include converting relative paths to absolute and converting
    symlinks to actual file path. Thanks to Marcus Johansson
  * ssl: In TLS-1.3, if chain certs are missing (so server auth
    domain adherence can not be determined) send peer cert and hope
    the server is able to recreate a chain in its auth domain.
  * ssl: Make sure periodical refresh of CA certificate files
    repopulates cache properly.
  * ssl: Correct internal CRL cache functions to use internal
    format consistently.
  * ssl: Incorrect handling of client middlebox negotiation for
    TLS-1.3 could result in that a TLS-1.3 server would not use
    middlebox mode although the client was expecting it too and
    failing the negotiation with unexpected message.
  * ssl: If the "User" process, the process starting the TLS
    connection, gets killed in the middle of spawning the dynamic
    connection tree make sure we do not leave any processes behind.
  * ssl: A vulnerability has been discovered and corrected. It is
    registered as CVE-2022-37026 "Client Authentication Bypass".
    Corrections have been released on the supported tracks with
    patches 23.3.4.15, 24.3.4.2, and 25.0.2. The vulnerability
    might also exist in older OTP versions. We recommend that
    impacted users upgrade to one of these versions or later on the
    respective tracks. OTP 25.1 would be an even better choice.
    Impacted are those who are running an ssl/tls/dtls server using
    the ssl application either directly or indirectly via other
    applications. For example via inets (httpd), cowboy, etc. Note
    that the vulnerability only affects servers that request client
    certification, that is sets the option {verify, verify_peer}.
    (bsc#1205318)
  * eunit: With this change, Eunit can optionally not try to
    execute related module with "_tests" suffix. This might be used
    for avoiding duplicated executions when source and test modules
    are located in the same folder.
  * erl_docgen: Update DTD to allow XML tag em under pre.
  * inets: Add httpc:ssl_verify_host_options/1 to help setting
    default ssl options for the https client.
  * inets: This change fixes dialyzer warnings generated for
    inets/httpd examples (includes needed adjustment of spec for
    ssh_sftp module).
  * inets: Remove documentation of no longer supported callback.
  * stdlib: Fixed inconsistency bugs in global due to
    nodeup/nodedown messages not being delivered before/after
    traffic over connections. Also fixed various other
    inconsistency bugs and deadlocks in both global_group and
    global. As building blocks for these fixes, a new BIF
    erlang:nodes/2 has been introduced and
    net_kernel:monitor_nodes/2 has been extended. The -hidden and
    -connect_all command line arguments did not work if multiple
    instances were present on the command line which has been
    fixed. The new kernel parameter connect_all has also been
    introduced in order to replace the -connect_all command line
    argument.
  * stdlib: Fix the public_key:ssh* functions to be listed under
    the correct release in the Removed Functionality User's Guide.
  * stdlib: The type spec for format_status/1 in gen_statem,
    gen_server and gen_event has been corrected to state that the
    return value is of the same type as the argument (instead of
    the same value as the argument).
  * stdlib: If the timer server child spec was already present in
    kernel_sup but it was not started, the timer server would fail
    to start with an {error, already_present} error instead of
    restarting the server.
  * stdlib: When changing callback module in gen_statem the
    state_enter calls flag from the old module was used in for the
    first event in the new module, which could confuse the new
    module and cause malfunction. This bug has been corrected. With
    this change some sys debug message formats have been modified,
    which can be a problem for debug code relying on the format.
    *** POTENTIAL INCOMPATIBILITY ***
  * stdlib: There is a new configure option, --enable-
    deterministic-build, which will apply the deterministic
    compiler option when building Erlang/OTP. The deterministic
    option has been improved to eliminate more sources of non-
    determinism in several applications.
  * stdlib: The rfc339_to_system_time/1,2 functions now allows the
    minutes part to be omitted from the time zone.
  * stdlib: The receive statement in gen_event has been optimized
    to not use selective receive (which was never needed, and could
    cause severe performance degradation under heavy load).
  * stdlib: Add new API function erl_features:configurable/0
  * parsetools: There is a new configure option, --enable-
    deterministic-build, which will apply the deterministic
    compiler option when building Erlang/OTP. The deterministic
    option has been improved to eliminate more sources of non-
    determinism in several applications.
  * public_key: Support more Linux distributions in cacerts_load/0.
  * public_key: Correct asn1 typenames available in type
    pki_asn1_type()
  * public_key: Sign/verify does now behave as in OTP-24 and
    earlier for eddsa.
  * snmp: Improved the get-bulk response max size calculation. Its
    now possible to configure 'empty pdu size', see appendix c for
    more info.
  * snmp: Fix various example dialyzer issues
  * ssh: Handling rare race condition at channel close.
  * ssh: New ssh option no_auth_needed to skip the ssh
    authentication. Use with caution!
  * ssh: This change fixes dialyzer warnings generated for
    inets/httpd examples (includes needed adjustment of spec for
    ssh_sftp module).
  * ssh: The new function ssh:daemon_replace_options/2 makes it
    possible to change the Options in a running SSH server.
    Established connections are not affected, only those created
    after the call to this new function.
  * ssh: Add a timeout as option max_initial_idle_time. It closes a
    connection that does not allocate a channel within the timeout
    time. For more information about timeouts, see the Timeouts
    section in the User's Guide Hardening chapter.
  * observer: Fixed units in gui.
  * xmerl: There is a new configure option, --enable-deterministic-
    build, which will apply the deterministic compiler option when
    building Erlang/OTP. The deterministic option has been improved
    to eliminate more sources of non-determinism in several
    applications.
  * asn1: There is a new configure option, --enable-deterministic-
    build, which will apply the deterministic compiler option when
    building Erlang/OTP. The deterministic option has been improved
    to eliminate more sources of non-determinism in several
    applications.
  * erts: Fixed inconsistency bugs in global due to nodeup/nodedown
    messages not being delivered before/after traffic over
    connections. Also fixed various other inconsistency bugs and
    deadlocks in both global_group and global. As building blocks
    for these fixes, a new BIF erlang:nodes/2 has been introduced
    and net_kernel:monitor_nodes/2 has been extended. The -hidden
    and -connect_all command line arguments did not work if
    multiple instances were present on the command line which has
    been fixed. The new kernel parameter connect_all has also been
    introduced in order to replace the -connect_all command line
    argument.
  * erts: Fixed IPv6 multicast_if and membership socket options.
  * erts: Accept funs (NEW_FUN_EXT) with incorrectly encoded size
    field. This is a workaround for a bug (OTP-18104) existing in
    OTP 23 and 24 that could cause incorrect size fields in certain
    cases. The emulator does not use the decoded size field, but
    erl_interface still does and is not helped by this workaround.
  * erts: Fixed issue with inet:getifaddrs hanging on pure IPv6
    Windows
  * erts: Fix faulty distribution encoding of terms with either The
    symptom could be failed decoding on the receiving side leading
    to aborted connection. Fix OTP-18093 is a workaround for theses
    bugs that makes the VM accepts such faulty encoded funs. The
    first encoding bug toward pending connection exists only in OTP
    23 and 24, but the second one exists also on OTP 25.
  * erts: Fixed emulator crash that could happen during crashdump
    generation of ETS tables with options ordered_set and
    {write_concurrency,true}.
  * erts: Retrieval of monotonic and system clock resolution on
    MacOS could cause a crash and/or erroneous results.
  * erts: Fix bug where the max allowed size of erl +hmax was lower
    than what was allowed by process_flag.
  * erts: On computers with ARM64 (AArch64) processors, the JIT
    could generate incorrect code when more than 4095 bits were
    skipped at the tail end of a binary match.
  * erts: In rare circumstances, an is_binary/1 guard test could
    succeed when given a large integer.
  * erts: Fix bug causing ets:info (and sometimes ets:whereis) to
    return 'undefined' for an existing table if a concurrent
    process were doing ets:insert with a long list on the same
    table.
  * erts: Fix writing and reading of more than 2 GB in a single
    read/write operation on macOS. Before this fix attempting to
    read/write more than 2GB would result in {error,einval}.
  * erts: Fix bug sometimes causing emulator crash at node shutdown
    when there are pending connections. Only seen when running duel
    distribution protocols, inet_drv and inet_tls_dist.
  * erts: Yield when adjusting large process message queues due to
    The message queue adjustment work will now be interleaved with
    all other types of work that processes have to do, even other
    message queue adjustment work.
  * erts: Add rudimentary debug feature (option) for the inet-
    driver based sockets, such as gen_tcp and gen_udp.
  * erts: Introduced the hidden and dist_listen options to
    net_kernel:start/2. Also documented the -dist_listen command
    line argument which was erroneously documented as a kernel
    parameter and not as a command line argument.
  * erts: New documentation chapter "Debugging NIFs and Port
    Drivers" under Interoperability Tutorial.
  * erts: Add new API function erl_features:configurable/0
  * kernel: Fixed inconsistency bugs in global due to
    nodeup/nodedown messages not being delivered before/after
    traffic over connections. Also fixed various other
    inconsistency bugs and deadlocks in both global_group and
    global. As building blocks for these fixes, a new BIF
    erlang:nodes/2 has been introduced and
    net_kernel:monitor_nodes/2 has been extended. The -hidden and
    -connect_all command line arguments did not work if multiple
    instances were present on the command line which has been
    fixed. The new kernel parameter connect_all has also been
    introduced in order to replace the -connect_all command line
    argument.
  * kernel: Fixed IPv6 multicast_if and membership socket options.
  * kernel: Fixed issue with inet:getifaddrs hanging on pure IPv6
    Windows
  * kernel: The type specifications for inet:getopts/2 and
    inet:setopts/2 have been corrected regarding SCTP options.
  * kernel: The type specifications for inet:parse_* have been
    tightened.
  * kernel: Fix gen_tcp:connect/3 spec to include the inet_backend
    option.
  * kernel: Fix bug where using a binary as the format when calling
    logger:log(Level, Format, Args) (or any other logging function)
    would cause a crash or incorrect logging.
  * kernel: Add rudimentary debug feature (option) for the inet-
    driver based sockets, such as gen_tcp and gen_udp.
  * kernel: Introduced the hidden and dist_listen options to
    net_kernel:start/2. Also documented the -dist_listen command
    line argument which was erroneously documented as a kernel
    parameter and not as a command line argument.
  * kernel: Scope and group monitoring have been introduced in pg.
    For more information see the documentation of
    pg:monitor_scope(), pg:monitor(), and pg:demonitor().
  * kernel: A new function global:disconnect/0 has been introduced
    with which one can cleanly disconnect a node from all other
    nodes in a cluster of global nodes.
  * compiler: The compiler will now forbid using the empty atom ''
    as module name. Also forbidden are modules names containing
    control characters, and module names containing only spaces and
    soft hyphens.
  * compiler: The bin_opt_info and recv_opt_info options would
    cause the compiler to crash when attempting to compile
    generated code without location information.
  * compiler: In rare circumstances involving floating point
    operations, the compiler could terminate with an internal
    consistency check failure.
  * compiler: In rare circumstances when doing arithmetic
    instructions on non-numbers, the compiler could crash.
  * compiler: In rare circumstances, complex boolean expressions in
    nested cases could cause the compiler to crash.
  * compiler: Expression similar to #{assoc:=V} = #key=>self()}, V
    would return the empty map instead of raising an exception.
  * compiler: Eliminated a crash in the beam_ssa_bool pass of the
    compiler when compiling a complex guard expression.
  * compiler: In rare circumstances, the compiler could crash with
    an internal consistency check failure.
  * compiler: When compiling with the option inline_list_funcs, the
    compiler could produce a nonsensical warning.
  * compiler: When given the no_ssa_opt option, the compiler could
    terminate with an internal consistency failure diagnostic when
    compiling map matching.
  * compiler: Made warnings for existing atoms being keywords in
    experimental features more precise, by not warning about quoted
    atoms.
  * compiler: There is a new configure option, --enable-
    deterministic-build, which will apply the deterministic
    compiler option when building Erlang/OTP. The deterministic
    option has been improved to eliminate more sources of non-
    determinism in several applications.
  * megaco: Fixed various dialyzer related issues in the examples
    and the application proper.
  * megaco: There is a new configure option, --enable-
    deterministic-build, which will apply the deterministic
    compiler option when building Erlang/OTP. The deterministic
    option has been improved to eliminate more sources of non-
    determinism in several applications.
  * common_test: Fix cth_surefire to handle when a suite is not
    compiled with debug_info. This bug has been present since
    Erlang/OTP 25.0.
  * common_test: Common Test now preserves stack traces for throws.

-------------------------------------------------------------------
Sat Aug 27 07:16:06 UTC 2022 - matwey.kornilov@gmail.com

- 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.

-------------------------------------------------------------------
Tue Aug 09 08:24:52 UTC 2022 - matwey.kornilov@gmail.com

- 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.

-------------------------------------------------------------------
Sun Jul 03 09:28:47 UTC 2022 - matwey.kornilov@gmail.com

- 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
    erlang:monitor_node() and erlang:monitor() BIFs could
    erroneously fail even though configured distribution service
    was available. This occurred if these BIFs were called after
    the distribution had been started using dynamic node name
    assignment but before the name had been assigned.
  * kernel: Added the missing mandatory address/0 callback in the
    gen_tcp_dist example.
  * erts: A spawn_reply signal from a remote node could be delayed
    and be delivered after other signals from the newly spawned
    process. When this bug triggered, the connection to the node
    where the process was spawned sometimes could be taken down due
    to the bug. The following error message would then be logged if
    this happened: Missing 'spawn_reply' signal from the node
    <RemoteNode> detected by <Pid> on the node <LocalNode>. The
    node <RemoteNode> probably suffers from the bug with ticket id
    OTP-17737. This bug only affected processes which had enabled
    off_heap message_queue_data and parallel reception of signals
    had been automatically enabled. This bug was introduced in OTP
    25.0, ERTS version 13.0.
  * erts: Fixed type spec of erlang:system_info(dist_ctrl).
  * erts: The zlib built in to the runtime system has been updated
    to version 1.2.12. (Note that on most platforms, the platform's
    own zlib is used.)
  * erts: 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
    erlang:monitor_node() and erlang:monitor() BIFs could
    erroneously fail even though configured distribution service
    was available. This occurred if these BIFs were called after
    the distribution had been started using dynamic node name
    assignment but before the name had been assigned.
  * crypto: Note in the documentation that MODP (rfc3526) groups
    and OpenSSL 3.0 can give an error if a call to
    crypto:generate_key/2 specifies a key length, and that length
    is to small.
  * crypto: The cmac now uses only the 3.0 API
  * crypto: Documentation is now updated with which OpenSSL
    cryptolib versions that OTP currently is tested.
  * dialyzer: Fixed the documentation for the missing_return and
    extra_return options.
  * mnesia: Fixed add_table_copy which could leave a table lock if
    the receiving node went down during the operation.
  * ssh: Binaries can be limited in logs with the parameter
    max_log_item_len. The default value is 500 bytes.
  * stdlib: In the initial release of Erlang/OTP 25, the expression
    bound to the _ pseudo-field in a record initialization would
    always be evaluated once, even if all other fields in the
    record were explicitly initialized. That would break the use
    case of binding the expression error(...) to _ in order to get
    an exception if not all fields were initialized. The behavior
    of binding to _ has been reverted to the pre-OTP 25 behavior,
    that is, to not evaluate the expression if all fields have been
    bound to explicit values.

-------------------------------------------------------------------
Sun May 22 11:19:11 UTC 2022 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Version 25.0:
  - stdlib
    * New function filelib:ensure_path/1 will ensure that all
      directories for the given path exists
    * New functions groups_from_list/2 and groups_from_list/3 in
      the maps module
    * New functions uniq/1 uniq/2 in the lists module
    * New PRNG added to the rand module, for fast pseudo-random
      numers.
  - compiler, kernel, stdlib, syntax_tools:
    * Added support for selectable features as described in EEP-60.
      Features can be enabled/disabled during compilation with
      options (ordinary and +term) to erlc as well as with
      directives in the file. Similar options can be used to erl
      for enabling/disabling features allowed at runtime. The new
      maybe expression EEP-49 is fully supported as the feature
      maybe_expr.
  - erts & JIT:
    * The JIT now works for 64-bit ARM processors.
    * The JIT now does type-based optimizations based on type
      information in the BEAM files.
    * Improved the JIT’s support for external tools like perf and
      gdb, allowing them to show line numbers and even the original
      Erlang source code when that can be found.
  - erts, stdlib, kernel:
    * Users can now configure ETS tables with the
      {write_concurrency, auto} option. This option forces tables
      to automatically change the number of locks that are used at
      run-time depending on how much concurrency is detected. The
      {decentralized_counters, true} option is enabled by default
      when {write_concurrency, auto} is active.
    * Benchmark results comparing this option with the other ETS
      optimization options are available here: benchmarks.
    * To enable more optimizations, BEAM files compiled with OTP 21
      and earlier cannot be loaded in OTP 25.
    * The signal queue of a process with the process flag
      message_queue_data=off_heap has been optimized to allow
      parallel reception of signals from multiple processes. This
      can improve performance when many processes are sending in
      parallel to one process. See benchmark.
    * The Erlang installation directory is now relocatable on the
      file system given that the paths in the installation’s
      RELEASES file are paths that are relative to the
      installations root directory.
    * A new option called short has been added to the functions
      erlang:float_to_list/2 and erlang:float_to_binary/2. This
      option creates the shortest correctly rounded string
      representation of the given float that can be converted back
      to the same float again.
    * Introduction of quote/1 and unquote/1 functions in the
      uri_string module - a replacement for the deprecated
      functions http_uri:encode and http_uri:decode.
    * The new module peer supersedes the slave module. The slave
      module is now deprecated and will be removed in OTP 27.
    * global will now by default prevent overlapping partitions due
      to network issues. This is done by actively disconnecting
      from nodes that reports that they have lost connections to
      other nodes. This will cause fully connected partitions to
      form instead of leaving the network in a state with
      overlapping partitions.
    * It is possible to turn off the new behavior by setting the
      the kernel configuration parameter
      prevent_overlapping_partitions to false. Doing this will
      retain the same behavior as in OTP 24 and earlier.
    * The format_status/2 callback for gen_server, gen_statem and
      gen_event has been deprecated in favor of the new
      format_status/1 callback.
    * The new callback adds the possibility to limit and change
      many more things than the just the state.
    * The timer module has been modernized and made more efficient,
      which makes the timer server less susceptible to being
      overloaded. The timer:sleep/1 function now accepts an
      arbitrarily large integer.
  - compiler:
    * The maybe ... end construction as proposed in EEP-49 has been
      implemented. It can simplify complex code where otherwise
      deeply nested cases would have to be used.
    * To enable maybe, give the option {enable_feature,maybe_expr}
      to the compiler. The exact option to use will change in a
      coming release candidate and then it will also be possible to
      use from inside the module being compiled.
    * When a record matching or record update fails, a {badrecord,
      ExpectedRecordTag} exception used to be raised. In this
      release, the exception has been changed to {badrecord,
      ActualValue}, where ActualValue is the value that was found
      instead of the expected record.
    * Add compile attribute -nifs() to empower compiler and loader
      with information about which functions may be overridden as
      NIFs by erlang:load_nif/2.
    * Improved and more detailed error messages when binary
      construction with the binary syntax fails. This applies both
      for error messages in the shell and for
      erl_error:format_exception/3,4.
    * Change format of feature options and directives for better
      consistency. Options to erlc and the -compile(..) directive
      now has the format {feature, feature-name, enable | disable}.
      The -feature(..) now has the format -feature(feature-name,
      enable | disable).
  - crypto:
    * Add crypto:hash_equals/2 which is a constant time comparision
      of hashvalues.
  - ssl:
    * Introducing a new (still experimental) option
      {certs_keys,[cert_key_conf()]}. With this a list of a
      certificates with their associated key may be used to
      authenticate the client or the server. The certificate key
      pair that is considered best and matches negotiated
      parameters for the connection will be selected.
  - public_key:
    * Functions for retrieving OS provided CA-certs added.
  - dialyzer:
    * Optimize operations in the erl_types module. Parallelize the
      Dialyzer pass remote.
    * Added the missing_return and extra_return options to raise
      warnings when specifications differ from inferred types.
      These are similar to, but not quite as verbose as overspecs
      and underspecs.
    * Dialyzer now better understands the types for min/2, max/2,
      and erlang:raise/3. Because of that, Dialyzer can potentially
      generate new warnings. In particular, functions that use
      erlang:raise/3 could now need a spec with a no_return()
      return type to avoid an unwanted warning.

-------------------------------------------------------------------
Wed Apr  6 17:29:51 UTC 2022 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Fix build for Factory. Currently, any Java version
  is fine for Erlang.

-------------------------------------------------------------------
Sun Mar 27 10:40:39 UTC 2022 - matwey.kornilov@gmail.com

- 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
    that will make erl_interface also release a dynamic library
    version of libei.
  * erl_interface: The ei API for decoding/encoding terms is not
    fully 64-bit compatible since terms that have a representation
    on the external term format larger than 2 GB cannot be handled.
  * sasl: Fix bug in systools:make_script/1 documentation.
  * inets: 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.
  * inets: Documentation fix for inets:services_info/0, which now
    describes that Info might be a Reason term() in case when
    {error, Reason} is returned as service info.
  * crypto: The crypto app in OTP can since OTP-24.2 be compiled,
    linked and used with the new OpenSSL 3.0 cryptolib. The crypto
    app has 3.0 support has been improved, but is still *not
    recommended* for other usages than experiments and alpha
    testing. There are not yet any guaranties that it works, not
    even together with other OTP applications like for example SSL
    and SSH, although there are no known errors. Since the previous
    release, OTP-24.2, the following improvements have been done: -
    It has been tested during nearly every nightly test on the OTP
    lab - The hash algorithms md4 and ripemd160 have been enabled
    with OpenSSL 3.0. - The ciphers blowfish_cbc, blowfish_ecb,
    des_cbc, des_cfb, des_ecb, rc2_cbc and rc4 have been enabled
    with OpenSSL 3.0. Disabled or unsupported with OpenSSL 3.0 are
    still: - ENGINE support - FIPS mode - Other providers than the
    built-in ones - Compiling and linking with OpenSSL 3.0
    cryptolib in compatibility modes (for example to behave as
    1.1.1) and, the ciphers blowfish_cfb64 and blowfish_ofb64 are
    not supported and will not be either. Deprecated functions in
    the OpenSSL 3.0 cryptolib must not be disabled as OTP/crypto
    still uses some of the deprecated API functions. The gcc flag
    -Wno-deprecated-declarations is set to prevent deprecation
    warnings to be printed when compiling.
  * crypto: Crypto is adapted to LibreSSL 3.5.0 on OpenBSD.
  * crypto: New configure option ( --disable-otp-test-engine) to
    prohibit the build of the OTP test engine used in some test
    suites. The reason is that the test engine could be hard to
    compile on for instance LibreSSL 3.5.0. For that particular
    cryptolib version (or higher), this configure option is set
    automatically.
  * jinterface: Fix bug in OtpOutputStream.write_pid/4 and
    write_ref/3 causing faulty encodig. Bug exists since OTP 23.0.
  * wx: Removed the static_data option from wxImage creation
    functions, as it was broken and could lead to crashes. Now
    image data is always copied to wxWidgets as was the default
    behavior. Removed some non working wxGridEvent event types,
    which have there own events in newer wxWidgets versions, and
    added a couple of event types that where missing in wx.
  * asn1: Add support for the maps option in combination with the
    jer backend.
  * snmp: 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.
  * snmp: [agent] Remove expectation of socket being a port.
  * common_test: OTP internal test fix.
  * runtime_tools: Fixed bug in scheduler:utilization(Seconds) that
    would leave the scheduler_wall_time system flag incorrectly
    enabled.
  * runtime_tools: Add scheduler:get_sample/0 and get_sample_all/0.
    Also clarify scheduler module documentation about how it
    depends on system flag scheduler_wall_time.
  * erts: Fixed a bug in the x86 JIT that might cause floating
    point instructions to wrongly throw an exception.
  * erts: Preserve correct nodedown_reason if supervised
    distribution controller processes exit with {shutdown, Reason}.
  * erts: Handling of send_timeout for gen_tcp has been corrected
    so that the timeout is honored also when sending 0 bytes.
  * erts: By default global does not take any actions to restore a
    fully connected network when connections are lost due to
    network issues. This is problematic for all applications
    expecting a fully connected network to be provided, such as for
    example mnesia, but also for global itself. A network of
    overlapping partitions might cause the internal state of global
    to become inconsistent. Such an inconsistency can remain even
    after such partitions have been brought together to form a
    fully connected network again. The effect on other applications
    that expects that a fully connected network is maintained may
    vary, but they might misbehave in very subtle hard to detect
    ways during such a partitioning. In order to prevent such
    issues, we have introduced a prevent overlapping partitions fix
    which can be enabled using the prevent_overlapping_partitions
    kernel(6) parameter. When this fix has been enabled, global
    will actively disconnect from nodes that reports that they have
    lost connections to other nodes. This will cause fully
    connected partitions to form instead of leaving the network in
    a state with overlapping partitions. Note that this fix has to
    be enabled on all nodes in the network in order to work
    properly. Since this quite substantially changes the behavior,
    this fix is currently disabled by default. Since you might get
    hard to detect issues without this fix you are, however,
    strongly advised to enable this fix in order to avoid issues
    such as the ones described above. As of OTP 25 this fix will
    become enabled by default.
  * erts: Corrected the type specification of erlang:seq_trace/2.
  * erts: Fix memory leak when tracing on running on a process that
    only handle system tasks or non-message signals (for example
    process_info requests).
  * erts: Add support for using socket:sockaddr_in() and
    socket:sockaddr_in6() when using gen_sctp, gen_tcp and gen_udp.
    This will make it possible to use Link Local IPv6 addresses.
  * erts: Show on_load failure reasons in embedded mode.
  * erts: Compile date saved in the Erlang VM executable has been
    removed.
  * erts: Improve documentation for the dynamic node name feature.
  * ssh: Fix makefile dependency bugs.
  * ssh: Fixed faulty OpenSSH decoding of Ed25519/Ed448 keys in the
    OpenSSH format openssh_key_v1.
  * ssh: Correction of ssh_file typing, specially for the
    experimental openssh-key-v1 encoding.
  * ssh: Improper tag for private ED keys when encoding with
    ssh:encode/2. The tuple had ed_priv as first element, but
    should have had ed_pri. This is now corrected. *** POTENTIAL
    INCOMPATIBILITY ***
  * ssh: Add support for Ed25519/Ed448 SSH host keys in the RFC
    4716 format ("-----BEGIN EC PRIVATE KEY-----") generated by for
    example openssl or via Erlang functions (i.e.
    public_key:generate_key({namedCurve, ed25519})). Ed25519 SSH
    host keys generated by ssh-keygen was, and are still,
    supported.
  * kernel: Handling of send_timeout for gen_tcp has been corrected
    so that the timeout is honored also when sending 0 bytes.
  * kernel: By default global does not take any actions to restore
    a fully connected network when connections are lost due to
    network issues. This is problematic for all applications
    expecting a fully connected network to be provided, such as for
    example mnesia, but also for global itself. A network of
    overlapping partitions might cause the internal state of global
    to become inconsistent. Such an inconsistency can remain even
    after such partitions have been brought together to form a
    fully connected network again. The effect on other applications
    that expects that a fully connected network is maintained may
    vary, but they might misbehave in very subtle hard to detect
    ways during such a partitioning. In order to prevent such
    issues, we have introduced a prevent overlapping partitions fix
    which can be enabled using the prevent_overlapping_partitions
    kernel(6) parameter. When this fix has been enabled, global
    will actively disconnect from nodes that reports that they have
    lost connections to other nodes. This will cause fully
    connected partitions to form instead of leaving the network in
    a state with overlapping partitions. Note that this fix has to
    be enabled on all nodes in the network in order to work
    properly. Since this quite substantially changes the behavior,
    this fix is currently disabled by default. Since you might get
    hard to detect issues without this fix you are, however,
    strongly advised to enable this fix in order to avoid issues
    such as the ones described above. As of OTP 25 this fix will
    become enabled by default.
  * kernel: Fix bug where logger would crash when logging a report
    including improper lists.
  * kernel: Make erlang:set_cookie work for dynamic node names.
  * kernel: Add support for using socket:sockaddr_in() and
    socket:sockaddr_in6() when using gen_sctp, gen_tcp and gen_udp.
    This will make it possible to use Link Local IPv6 addresses.
  * kernel: A net_tickintensity kernel parameter has been
    introduced. It can be used to control the amount of ticks
    during a net_ticktime period. A new net_kernel:start/2 function
    has also been introduced in order to make it easier to add new
    options. The use of net_kernel:start/1 has been deprecated.
  * kernel: Improve documentation for the dynamic node name
    feature.
  * erl_docgen: Fix css for large tables and images on small
    screens
  * erl_docgen: Fix bug with codeinclude tag that caused it to not
    include the code if used in a correct, but unexpected way.
  * observer: Calculate the display width in etop, instead of hard-
    coding it to 89 characters.
  * debugger: Fix record index matching, it was broken and could
    never match.
  * ssl: Improved error handling.
  * ssl: Before this change, net_kernel used with TLS distribution
    might be leaking processes in case of connectivity issues.
  * ssl: Fix makefile dependency bugs.
  * ssl: Make sure the TLS sender process handles explicit calls to
    erlang:disconnect_node properly, avoiding potential hanging
    problems in net_kernel.
  * ssl: Add support for TLS-1.3 certificate_authorities extension.
    And process certificate_authorities field in pre-TLS-1.3
    certificate requests.
  * ssl: Support password fun for protected keyfiles in ssl:connect
    function.
  * ssl: Add in some cases earlier detection of possible DoS
    attacks by malicious clients sending unexpected TLS messages
    instead of the client hello. Note that such attacks are already
    mitigated by providing a timeout for the TLS handshake.
  * eldap: Fix eldap extensibleMatch dnAttributes option. According
    to the ldap ASN1 the dnAttributes should be a bool, instead it
    was generated as a string.
  * eldap: Implemented paged searches according to https://www.rfc-
    editor.org/rfc/rfc2696.txt
  * public_key: Support password fun for protected keyfiles in
    ssl:connect function.
  * stdlib: 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.
  * mnesia: Reduce the number of locks taken during table copying,
    should reduce the startup time on large systems.
  * diameter: 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.

-------------------------------------------------------------------
Sun Mar 06 07:18:42 UTC 2022 - matwey.kornilov@gmail.com

- 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

-------------------------------------------------------------------
Mon Feb 21 18:12:08 UTC 2022 - matwey.kornilov@gmail.com

- 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.

-------------------------------------------------------------------
Fri Jan 21 21:11:53 UTC 2022 - matwey.kornilov@gmail.com

- 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.
  * common_test: Before this change, group handling grammar was
    ambiguous and also group paths did not support test specs.
  * common_test: Before this change, it was not possible to link to
    a particular header entry in Common Test log. Change adds right
    aligned anchor icons in HTML test logs.
  * parsetools: The default parser include file for yecc (yeccpre)
    will no longer crash when attempting to print tokens when
    reporting an error.
  * tools: Erlang-mode fixed for newer versions of xref using CL-
    Lib structures instead of EIEIO classes.
  * inets: Correct HTTP server URI handling to fully rely on
    uri_string. The server could mistreat some URI paths that in
    turn could result in incorrect responses being generated.
  * inets: Extend header values to httpc:request/5 to allow
    binary() as well. Make error detection of invalid arguments to
    httpc:request/5 be more precise so an error is returned in more
    cases instead of causing a hang or function_clause. Be more
    precise in documentation regarding the types of arguments being
    accepted.
  * crypto: Fixed the C-warning "implicit declaration of function
    'OpenSSL_version_num'" if compiling with an early LibreSSL
    version.
  * crypto: FIPS availability was not checked correctly for AEAD
    ciphers.
  * crypto: Fixed that cipher aliases (like aes_cbc etc) could be
    present even if the aliased cipher(s) (like aes_128_cbc,
    aes_256_cbc,... etc) was missing.
  * crypto: The crypto app in OTP can now be compiled, linked and
    used with the new OpenSSL 3.0 cryptolib. It has not yet been
    extensively tested and is in this release *not recommended* for
    other usages than experiments and alpha testing. There are not
    yet any guaranties that it works, not even together with other
    OTP applications like for example SSL and SSH, although there
    are no known errors. Compiling and linking with OpenSSL 3.0
    cryptolib in compatibility modes (for example to behave as
    1.1.1) are not tested. It is not tested with external
    providers. The support for FIPS mode does not yet work, and is
    disabled when compiled with OpenSSL 3.0. Deprecated functions
    in the OpenSSL 3.0 cryptolib must not be disabled as OTP/crypto
    still uses some of the deprecated API functions. The gcc flag
    -Wno-deprecated-declarations is set to prevent deprecation
    warnings to be printed when compiling. The hash algorithms md4
    and ripemd160 are disabled temporarily when compiled with
    OpenSSL 3.0. The ciphers blowfish_cbc, blowfish_cfb64,
    blowfish_ecb, blowfish_ofb64, des_cbc, des_cfb, des_ecb,
    rc2_cbc and rc4 are disabled temporarily when compiled with
    OpenSSL 3.0.
  * crypto: The error handling in crypto is partly refactored using
    the new error reporting support. Errors earlier propagated like
    exceptions are still so, but when the failing function is
    called from the terminal - for example during failure hunting -
    a more descriptive text is produced.
  * crypto: A new function crypto:info/0 which presents some data
    about the compilation and linkage of the crypto nif is added.
  * crypto: Added the pbkdf2_hmac/5 function to the crypto module.
    It calls the PKCS5_PBKDF2_HMAC function which implements PBKD2
    with HMAC in an efficient way.
  * stdlib: Fix rendering of nbsp on terminals that do not support
    unicode.
  * stdlib: Improved the erl_error printout for when re fails to
    compile a regular expression to also print hints about why the
    compilation failed.
  * stdlib: Fixed spec for supervisor_bridge:start_link().
  * stdlib: Added missing shutdown clauses in supervisor which
    could cause erroneous error reports.
  * stdlib: Add the no_auto_import_types to erl_lint to allow a
    module to define types of the same name as a predefined type.
  * erts: When matching and constructing utf16 segments in the
    binary syntax, the native flag would be ignored. That is, the
    endian would always be big endian even on a little-endian
    computer (almost all modern computers).
  * erts: Fix the help printout of +JPperf.
  * erts: Fix bug that could cause Erlang to deadlock during
    creation of an Erlang crash dump.
  * erts: Fixed C++ build errors on some aarch64 platforms.
  * erts: For macOS, the Info.plist file embedded in the runtime
    system now only contains the absolute minimum amount of
    information needed for the web view in wx to work towards
    localhost. The other fields have been removed, allowing an
    application packaged in a bundle to specify the application
    name and other parameter in its own Info.plist file.
  * erts: Fix bug in internal stacks (WSTACK and ESTACK) used by
    term_to_binary/2 to encode terms. The bug could cause a
    segfault if a very very large map was to be encoded with the
    deterministic option given.
  * erts: Improve the error printout when open_port/2 fails because
    of invalid arguments.
  * erts: Fix bug in crash dumps where the stackframe of a process
    would be printed using an incorrect format. Crash dump viewer
    has also been fixed to be able read the broken stack format.
    The bug has existed since Erlang/OTP 23.0.
  * erts: An option for enabling dirty scheduler specific allocator
    instances has been introduced. By default such allocator
    instances are disabled. For more information see the
    documentation of the +Mdai erl command line argument.
  * erts: Minor optimization of receive markers in message queues.
  * erts: All predefined types have been added to the erlang module
    together with documentation. Any reference to a predefined type
    now links to that documentation so that the user can view it.
  * erts: Suppress a code checker warning caused by debug builds of
    YCF. YCF tries to get a conservative estimate of the bottom of
    the stack by reading and returning a call stack allocated
    variable.
  * erts: Add file and product properties to erl.exe and werl.exe.
  * erts: Micro optimization in bitstring append operations.
  * erts: Responsiveness of processes executing on normal or low
    priority could suffer due to code purging or literal area
    removal on systems with a huge amount of processes. This since
    during these operations all processes on the system were
    scheduled for execution at once. This problem has been fixed by
    introducing a limit on outstanding purge and copy literal
    requests in the system. By default this limit is set to twice
    the amount of schedulers on the system. This will ensure that
    schedulers will have enough work scheduled to perform these
    operations as quickly as possible at the same time as other
    work will be interleaved to a much higher degree. Performance
    of these operations will however be somewhat degraded due to
    the overhead of enforcing this limit compared to when using a
    very large limit. This limit can be set by passing the +zosrl
    command line argument to erl, or by calling
    erlang:system_flag(outstanding_system_requests_limit,
    NewLimit).
  * kernel: socket:which_sockets( pid() ) uses wrong keyword when
    looking up socket owner ('ctrl' instead of 'owner').
  * kernel: In epmd_ntop, the #if defined(EPMD6) conditional was
    inverted and it was only including the IPv6-specific code when
    EPMD6 was undefined. This was causing IPv6 addrs to be
    interpreted as IPv4 addrs and generating nonsense IPv4
    addresses as output. Several places were incorrectly using
    'num_sockets' instead of 'i' to index into the iserv_addr array
    during error logging. This would result in a read into
    uninitialized data in the iserv_addr array. Thanks to John
    Eckersberg for providing this fix.
  * kernel: Minor fix of the erl_uds_dist distribution module
    example.
  * kernel: A bug has been fixed for the legacy TCP socket adaption
    module gen_tcp_socket where it did bind to a socket address
    when given a file descriptor, but should not.
  * kernel: Improve the error printout when open_port/2 fails
    because of invalid arguments.
  * kernel: Calling socket:monitor/1 on an already closed socket
    should succeed and result in an immediate DOWN message. This
    has now been fixed.
  * kernel: Fix the configuration option logger_metadata to work.
  * kernel: 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.
  * kernel: Add logger:reconfigure/0.
  * kernel: Add socket function ioctl/2,3,4 for socket device
    control.
  * kernel: Add simple support for socknames/1 for gen_tcp_socket
    and gen_udp_socket.
  * kernel: The types for callback result types in gen_statem has
    bee augmented with arity 2 types where it is possible for a
    callback module to specify the type of the callback data, so
    the callback module can get type validation of it.
  * erl_docgen: Fix codeinclude tag to correctly respect the type
    attribute.
  * erl_docgen: The HTML documentation has been updated to collapse
    better on small screens.
  * erl_docgen: All predefined types have been added to the erlang
    module together with documentation. Any reference to a
    predefined type now links to that documentation so that the
    user can view it.
  * snmp: Handling of test config flag when starting "empty".
  * snmp: Add support for new authentication algorithms (SHA-224,
    SHA-256, SHA-384 and SHA-512), according to RFC 7860.
  * snmp: Improve debug info for (snmp) manager.
  * wx: Fix crash in cleanup code when a gui application is
    exiting. Fix errors in the OpenGL wrapper that could cause
    crashes and improve the documentation.
  * edoc: Add option link_predefined_types that is used to create
    links to erlang predefined types. This is mainly to be used by
    erl_docgen when creating the Erlang/OTP documentation.
  * dialyzer: Fixed a crash when opaque types contained certain
    unicode characters.
  * dialyzer: 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.
  * observer: Fix bug in crash dumps where the stackframe of a
    process would be printed using an incorrect format. Crash dump
    viewer has also been fixed to be able read the broken stack
    format. The bug has existed since Erlang/OTP 23.0.
  * ssh: The value of the connect_timeout option is now used as
    default value for the negotiation timeout.
  * ssh: Add better error handling in connect/2,3,4. Detect
    incorrect arguments and return an informative error tuple
    instead of throwing a function_clause or similar.
  * ssh: Make ssh algorithm selection better handle dynamic changes
    changes in crypto fips mode.
  * megaco: [megaco_tcp] When connect fails, include more info in
    the error reason.
- Changes for 24.1.7:
  * ssh: Fixed a race condition in the acceptor loop: if a client
    disconnected immediately after the tcp connect, the server
    could cease handling connection on that address:port.
- Changes for 24.1.6:
  * ssl: Correct typo of ECC curve name in signature algorithm
    handling. Will make the signature algorithm
    ecdsa_secp521r1_sha512 succeed.
  * ssl: Suppress authenticity warning when option verify_none is
    explicitly supplied.
- Changes for 24.1.5:
  * erts: The runtime system could call select() with a too large
    timeout value when executing on MacOS. This could in turn cause
    the runtime system to crash.
  * erts: The fix for Linux's behaviour when reconnecting an UDP
    socket in PR-5120 released in OTP-24.1.2 has been refined to
    only dissolve the socket's connection before a connect if the
    socket is already connected, that is: only for a reconnect.
    This allows code to open a socket with an ephemeral port, get
    the port number and connect; without the port number changing
    (on Linux). This turned out to have at least one valid use case
    (besides test cases). Should one reconnect the socket then the
    port number may change, on Linux; it is a known quirk, which
    can be worked around by binding to a specific port number when
    opening the socket. If you can do without an ephemeral port,
    that is...
  * erts: Certain distributed signals that for various reasons must
    to be forced into the distribution buffer even when it is full
    would instead be lost if the distribution buffer was full when
    sent. The effected signals:
  * kernel: The internal, undocumented, but used, module inet_dns
    has been fixed to handle mDNS high bit usage of the Class
    field. Code that uses the previously obsolete, undocumented and
    unused record field #dns_rr.func will need to be updated since
    that field is now used as a boolean flag for the mDNS high
    Class bit. Code that uses the also undocumented record
    #dns_query will need to be recompiled since a boolean field
    #dns_query.unicast_response has been added for the mDNS high
    Class bit. *** POTENTIAL INCOMPATIBILITY ***
  * kernel: The fix for Linux's behaviour when reconnecting an UDP
    socket in PR-5120 released in OTP-24.1.2 has been refined to
    only dissolve the socket's connection before a connect if the
    socket is already connected, that is: only for a reconnect.
    This allows code to open a socket with an ephemeral port, get
    the port number and connect; without the port number changing
    (on Linux). This turned out to have at least one valid use case
    (besides test cases). Should one reconnect the socket then the
    port number may change, on Linux; it is a known quirk, which
    can be worked around by binding to a specific port number when
    opening the socket. If you can do without an ephemeral port,
    that is...
- Changes for 24.1.4:
  * erts: Fix bug where a gen_tcp write error that happened during
    a delayed_send would cause a use after free segfault.
  * erts: Fix x86 JIT bug where a rem instruction could cause a
    segfault if given values that would cause an badarith
    exception.
- Changes for 24.1.3:
  * ssl: Fix TLS-1.2 RSA-PSS negotiation and also fix broken
    certificate request message for pre-TLS-1.3 servers.
  * ssl: Fix CRL issuer verification that under some circumstances
    could fail with a function_clause error.
  * erts: Reduction counter was not updated before and after doing
    apply operations on the runtime system with the jit enabled.
    This caused reduction counting to get out of sync if a garbage
    collection was made as part of the apply operation.
  * erts: This fixes a bug in erts_factory_undo that caused the
    heap to not be reset correctly. The erts_factory_undo function
    is, for example, called when a binary_to_term/1 call fails to
    reset the heap to its state before the binary_to_term/1 call.
    This can cause the heap to contain invalid terms which
    potentially can cause issues (e.g., crashes) when the whole
    heap is scanned.
  * erts: When attempting to construct a binary with an segment
    having an illegal type for the size (e.g. an atom), there could
    be an unnecessary memory allocation (and subsequent
    deallocation) before the operation failed. Amended to fail
    before allocating any memory for the binary.
  * erts: Fix bug in persistent_term when a key-value pair contains
    a magic reference that is referred more than once. Magic
    references are NIF resources or returned from BIFs like
    ets:new, atomics:new. The bug could cause the memory of the
    referred resource to be prematurely deallocated. The bug also
    apply to magic references in message passing on a runtime built
    with configure option --enable-sharing-preserving. Bug exist
    for 64-bit since OTP-24.0 and for 32-bit since OTP-20.0.
  * erts: Fixed a crash when inspecting the stack trace of an
    exception raised at a very high line number. This bug was
    introduced in OTP 24.
  * erts: The following two bugs that caused erlang:demonitor() to
    behave erroneously have been fixed. The bugs were only
    triggered if the monitor that was removed by demonitor() had
    previously been created simultaneously as a monitor and as an
    alias.

-------------------------------------------------------------------
Wed Oct 20 13:10:47 UTC 2021 - matwey.kornilov@gmail.com

- 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.
  * stdlib: Fixed a bug that could cause a child to become orphaned
    when a supervisor died between unlinking and sending the
    shutdown signal to this child. There was also a possibility for
    erratic supervisor reports caused by a race between a
    supervisor shutting down a child and that child exiting by
    itself at the same time.
  * erts: A race between an exiting port and handling of
    simultaneously received signals to that port could cause a
    runtime system crash. The effected signals are link, monitor
    and demonitor. On OTP 22 a similiar race could also cause a
    memory leak when receiving an unlink signal.
  * erts: A user defined tag on a monitor message could cause the
    runtime system to crash when the monitor message had been
    received.
  * erts: A call to erlang:demonitor(Ref) where the reference Ref
    referred to an active alias, but not an active monitor, caused
    the runtime system to crash.
  * erts: The message queue of a process entered an inconsistent
    state after a receive expression with an invalid timeout value
    was executed. If the exception raised due to the invalid
    timeout value was caught, the following receive expression
    executed by the process could fail to match messages already
    present in the message queue. On OTP 24 this could also cause
    the whole runtime system to crash.
  * erts: Sending a Port ! {PortOwner, close} signal from a process
    other than the port owner could erroneously trigger a badsig
    exit signal being sent to the port owner process even though
    the correct PortOwner had been passed in the signal.
  * snmp: Sockets are monitored, but the handling of the 'DOWN'
    message expected a new style socket ('socket'), old style
    (port) was not handled.
- Changes for 24.1:
  * kernel: The extended error information has been corrected and
    improved for the following BIFs: binary_to_existing_atom/2,
    list_to_existing_atom/1, erlang:send_after/{3,4}, and
    erlang:start_timer/{3,4}.
  * kernel: Fixed rare bug that could cause net_kernel process to
    hang for ever. Have seen to happen with massive number of TLS
    connections while remote nodes are restarting. Bug exists since
    OTP-22.0.
  * kernel: Improve handling of closed sockets for inet:info/1.
  * kernel: This change fixes a performance problem introduced in
    pull-request #2675. Pull-request #2675 made so the system tried
    to start children of already started applications which is
    unnecessary. This change fixes this performance problem.
  * kernel: Fix code:get_doc/1 to not crash when module is located
    in an escript.
  * kernel: Parsing of the result value in the native DNS resolver
    has been made more defensive against incorrect results.
  * kernel: A bug in the option handling for the legacy socket
    adaptor, that is; when using inet_backend = socket, has been
    fixed. Now socket options are set before the bind() call so
    options regarding, for example address reuse have the desired
    effect.
  * kernel: inet:ntoa/1 has been fixed to not accept invalid
    numerical addresses.
  * kernel: Parsing of DNS records has been improved for records of
    known types to not accept and present malformed ones in raw
    format.
  * kernel: The ip_mreq() type for the {ip,add_membership} and
    {ip,drop_membership} socket options has been corrected to have
    an interface field instead of, incorrectly, an address field.
  * kernel: Add simple utility function to display existing sockets
    i the erlang shell (socket:i/0).
  * kernel: gen_udp can now be configured to use the socket inet-
    backend (in the same way as gen_tcp).
  * kernel: Functions erlang:set_cookie(Cookie) and
    erlang:get_cookie(Node) have been added for completeness and to
    facilitate configuring distributed nodes with different
    cookies. The documentation regarding distribution cookies has
    been improved to be less vague.
  * kernel: A workaround has been implemented for Linux's quirky
    behaviour to not adjust the source IP address when connecting a
    connected (reconnecing) UDP socket. The workaround is to, on
    Linux, always dissolve any connection before connecting an UDP
    socket.
  * kernel: Documented our recommendation against opening NFS-
    mounted files, FIFOs, devices, and similar using file:open/2.
  * debugger: Improve record handling, print known records with
    record syntax.
  * observer: Atoms with Unicode code points greater than 255 (for
    example Greek or Cyrillic characters) would not be displayed
    correctly by crashdump_viewer.
  * observer: Fix the crashdump_viewer to be able to parse
    monitor_node/2 monitors correctly.
  * observer: Observer now has a sectiion for new socket.
  * observer: Added a trace all button to the trace window.
  * parsetools: Fix a bug in Leex which caused the Erlang Compiler
    to generate warnings.
  * parsetools: Fix a bug in Yecc which caused the Erlang Compiler
    to generate warnings.
  * mnesia: Fixed that index keys was deleted for set tables when
    mnesia:delete_object/1 tried to delete a non-existing record.
  * mnesia: Optimized table loading and added max_transfer_size
    configuration parameter.
  * stdlib: Fix io:format with ~p to no longer interpret floats as
    printable characters.
  * stdlib: Fix specs for base64 encode/decode functions to also
    include 0.
  * stdlib: The failing call io:format("~p\n") would result in a
    warning for line number 0 instead of the correct line and
    column numbers. This has been corrected, and all warnings for
    failing calls to io:format() has been rephrased to make it
    clearer exactly what the problem is.
  * stdlib: When the options warn_missing_spec and export_all were
    given, there would only be warnings for missing specs for
    functions that had been explicitly exported using an -export
    attribute.
  * stdlib: Calling c:ls/1 with an atom whose contents is the the
    name of a file (as opposed to a directory) would crash.
  * stdlib: The MODULE and MODULE_STRING macros would always appear
    to be defined (when tested by -ifdef), even though no -module()
    declaration had been seen yet. Changed so that -ifdef ?MODULE.
    will not consider ?MODULE defined if -module() has not been
    previously seen.
  * stdlib: Fix bug with rendering of missing types and callbacks
    in shell_docs.
  * stdlib: When the deterministic option was given to the
    compiler, the ?FILE macro would be expanded to full path of the
    source file before the first include directive and to base part
    of the filename after include directive.
  * stdlib: Fixed broken win32reg:delete_key and fixed
    win32reg:value for default value.
  * stdlib: Fixed error information for the call maps:get(some_key,
    #{}).
  * stdlib: Most output functions in the io module now print extra
    error information when provided with invalid arguments. The
    functions are: io:format, io:fwrite, io:put_chars, io:nl and
    io:write.
  * stdlib: EEP-54 (Provide more information about errors) now
    includes two new return values for the format_error callback,
    general and reason. Multi-line error descriptions returned from
    a format_error callback are now correctly indented. The
    documentation for erl_error, error/3 and Errors and Error
    Handling in the Erlang Reference Manual have been extended.
  * stdlib: In the documentation for the lists module, it has been
    clarified that predicate funs must return a boolean.
  * stdlib: The documentation for c:c/1, c:c/2, and c:c/3 has been
    clarified.
  * tools: The cover tool would not work on modules compiled with
    the tuple_calls option.
  * common_test: Float allowed as multiply_timetraps parameter.
  * common_test: Remove usage of legacy API macro and functions.
  * erts: Atoms with Unicode code points greater than 255 (for
    example Greek or Cyrillic characters) would not be displayed
    correctly by crashdump_viewer.
  * erts: Fix rare minor memory leak related to jit code loading.
  * erts: The extended error information has been corrected and
    improved for the following BIFs: binary_to_existing_atom/2,
    list_to_existing_atom/1, erlang:send_after/{3,4}, and
    erlang:start_timer/{3,4}.
  * erts: Fix bug provoked when building with gcc 10 and link time
    optimization (-flto), causing Erlang compiler to crash. Bug
    exists since OTP-24.0.
  * erts: Corrected bugs where builds were not reducible even when
    the deterministic option was given. In particular, modules with
    map literals with more than 32 elements could cause this
    problem. As part of this fix, the term_to_binary BIF now
    accepts the option deterministic.
  * erts: After an exception has been caught in a process, the
    stack trace would be kept in the process longer than necessary.
  * erts: Fix rare race bug in memory management of distribution
    entries. Have been seen to cause VM crash when massive number
    of repeated concurrent failing connection attempts.
  * erts: The configure test for --disable-esock-socket-registry
    has been corrected so disabling now works.
  * erts: init:stop() no longer unloads loaded code before
    terminating the runtime system. On systems with slow CPUs (such
    as Raspberry PI Zero), that can significantly speed up
    termination of the runtime system.
  * erts: Fixed match specifications that use maps in either the
    guard or the body to work properly. With this fix both keys and
    values in maps can be expressions. Various other crashes and
    bugs when using maps in match specifications have also been
    fixed.
  * erts: Parsing of the result value in the native DNS resolver
    has been made more defensive against incorrect results.
  * erts: When binary_to_term/2 failed, the extended error
    information would always blame the second argument even if the
    actual error was in the first argument.
  * erts: On 32-bit computers, binary_to_term/1,2 is now more
    resilient against corrupted binaries containing maps in the
    external format.
  * erts: A call to process_info(Pid, status) could erroneously
    report the status running when it should have reported waiting.
    This occurred when the calling process was executing on a
    higher priority than the process being inspected. This bug has
    been present since OTP 21.0 (erts version 10.0).
  * erts: Optimize memory usage of erts internal processes used
    during code loading/purging by hibernating them after a long
    time of inactivity.
  * erts: Add the type erlang:stacktrace/0.
  * erts: The arity argument of error/2,3 can now be none to
    indicate that the calling functions arity should be used.
  * erts: Optimize match spec compiler for immediate (single word)
    constant terms.
  * erts: Functions erlang:set_cookie(Cookie) and
    erlang:get_cookie(Node) have been added for completeness and to
    facilitate configuring distributed nodes with different
    cookies. The documentation regarding distribution cookies has
    been improved to be less vague.
  * erts: A workaround has been implemented for Linux's quirky
    behaviour to not adjust the source IP address when connecting a
    connected (reconnecing) UDP socket. The workaround is to, on
    Linux, always dissolve any connection before connecting an UDP
    socket.
  * erts: The internal documentation for how to use Yielding C Fun
    (YCF) has been updated to contain text about best practices for
    using YCF for ERTS.
  * erts: Optimize garbage collection for processes with large
    number of binaries, funs and/or external pids/ports/refs.
  * erl_docgen: Fix codeinclude tags to work as part of reference
    manual documentation.
  * erl_docgen: Fix creation of link elements with anchors in
    EEP-48 style documentation.
  * dialyzer: Do not crash if a PLT file no longer exists.
  * dialyzer: Fix bug in erl_types related to maps.
  * dialyzer: Fix bugs in erl_types regarding improper lists.
  * dialyzer: The underspecs and overspecs options will now
    generate correct warnings for misused opaque types.
  * eunit: In an eunit test, when a test case times out, include a
    stacktrace.
  * snmp: It is now possible to configure the built-in net-if
    processes (both agent and manager) to use the new (gen_udp-)
    option 'inet_backend'.
  * asn1: A parameterized type with a SEQUENCE with extension
    ("...") made the compiler backend to crash. The previous fix
    for this in GH-4514 was not complete.
  * wx: Fix crash when closing an application.
  * wx: Some functions with overloaded color arguments could not be
    used. For example the copy constructor wxTextAttr:new(TextAttr)
    did not work.
  * wx: Added the Microsoft Edge WebView loader dll to the
    installer on windows.
  * wx: Handle specific Mac gui application events.
  * erl_interface: erl_call now prints an error when the arguments
    cannot be parsed.
  * erl_interface: The ei API for decoding/encoding terms is not
    fully 64-bit compatible since terms that have a representation
    on the external term format larger than 2 GB cannot be handled.
  * edoc: Fix broken documentation link in edoc_extract:file/4.
  * ssl: Fix Makefile dependency generation to work no matter what
    the ERL_TOP folder is called.
  * ssl: If trying to downgrade a TLS-1.3 connection to a plain TCP
    connection, possible TLS-1.3 session ticket messages will be
    ignored in the "downgrade" state while waiting for the close
    notify alert.
  * ssl: Corrected error handling to correctly generate an
    insufficient security alert when there are no suitable groups
    that can be negotiated in TLS-1.3 instead of crashing resulting
    in an internal error alert.
  * ssl: Properly handle default session data storage. When a
    client tries to reuse an expired session the default server
    storage handling would crash loosing other session data. This
    would cause a error report and possible loss of abbreviated
    handshakes.
  * ssl: Add support for RSA-PSS-PSS signatures and
    signature_algorithms_cert in TLS-1.2. This is a TLS-1.3 RFC
    requirement to backport this functionality.
  * ssl: Use inet:monitor/1 to monitor listen-sockets so that we
    are compatible with the new socket backend for gen_tcp.
  * ssl: Enhance ssl:prf/4 handling and testing
  * ssl: Enhanced cipher suite filtering functionality, making sure
    TLS-1.3 and TLS-1.2 cipher suites can be supported correctly
    together even when TLS-1.2 anonymous ciphers are included.
  * ssl: Enhance gracefulness especially in TLS-1.3
  * os_mon: On a Mac with Apple Silicon, memsup:get_os_wordsize/0
    would return 32 instead of 64.
  * ssh: Fixed that a slow start (>30s) of a client subsystem could
    cause a log entry with the password.
  * ssh: Fixed an error when running as an sftp server and a client
    requests a directory contents listing. The fix is to handle the
    error code {error, eacces} as {error, enoent} in the
    ssh_sftpd:get_attrs/5 internal function; that is, just skip it.
  * ssh: The "Key exchange failed" Info Report is now more
    informative.
  * inets: Before this change hrefs in dir listing page contained
    percentage encoded forward slashes which did not work properly
    with httpd.
  * inets: Restored HTTP headers handling in inets/mod_esi.
  * inets: inets/httpd dir listing icons and other improvements
  * inets: httpc: Improve performance by removing redundant URI
    handling
  * compiler: If a parse transform raised an exception using
    throw/1 or exit/1, the compiler would report that as an
    internal compiler error, which would be confusing. Amended to
    report that the parse transform failed.
  * compiler: The failing call io:format("~p\n") would result in a
    warning for line number 0 instead of the correct line and
    column numbers. This has been corrected, and all warnings for
    failing calls to io:format() has been rephrased to make it
    clearer exactly what the problem is.
  * compiler: When the options warn_missing_spec and export_all
    were given, there would only be warnings for missing specs for
    functions that had been explicitly exported using an -export
    attribute.
  * compiler: In rare circumstances, the compiler could emit an
    incorrect warning for a term that was constructed but never
    used.
  * compiler: Corrected bugs where builds were not reducible even
    when the deterministic option was given. In particular, modules
    with map literals with more than 32 elements could cause this
    problem. As part of this fix, the term_to_binary BIF now
    accepts the option deterministic.
  * compiler: The MODULE and MODULE_STRING macros would always
    appear to be defined (when tested by -ifdef), even though no
    -module() declaration had been seen yet. Changed so that -ifdef
    ?MODULE. will not consider ?MODULE defined if -module() has not
    been previously seen.
  * compiler: In a guard, not (X =:= true) would incorrectly
    evaluate to false for non-boolean values of X.
  * compiler: When the deterministic option was given to the
    compiler, the ?FILE macro would be expanded to full path of the
    source file before the first include directive and to base part
    of the filename after include directive.
  * public_key: public_key:pkix_sign/2 now honors the salt length
    from the provided input parameters. Earlier this could result
    in incorrect signatures if not using recommended defaults.
  * public_key: When decoding an 'ECPrivateKey' unwrap the private
    key. For more precise information see RFC 8410, section 7.
  * runtime_tools: Observer now has a sectiion for new socket.
  * runtime_tools: The dbg docs have been expanded to include the
    meaning of all the function name acronyms.
  * megaco: It is now possible to configure the built-in transports
    (megaco_tcp and megaco udp) to use the new (gen_udp- and
    gen_tcp-) option 'inet_backend'.
  * crypto: Fix bug in crypto:ensure_engine_unloaded. Also fixed
    minor memory leak related to engine unloading.
  * crypto: Fixes that FIPS enable and disable (or vice versa) on
    Windows sometimes leads to core dump at the time of process
    exit.
  * crypto: Disable fips if cryptolib < 1.0.1 and OTP/crypto is
    configured with --enable-fips If not, there could be compiling
    or loading problems with antique OpenSSL versions.
  * jinterface: Fixed rare race bug that could cause
    NullPointerException on local close of connection.
- Changes for 24.0.6:
  * erts: A call to the process_info() BIF could end up hanging for
    ever due to a bug introduced when the new selective receive
    optimization was introduced in OTP 24.0. Note that this bug
    only effects process_info().
  * erts: Fix buffer overrun problem in the tty driver. The problem
    happens on some platforms when using the CTRL+R functionality
    of newshell with very long strings in the history.
  * erts: Fix race-condition that could cause a crash when tracing
    scheduling or garbage collections on a process that was running
    on a dirty scheduler.
  * erts: Fix rare bug where re:run would crash/return invalid
    results when given a subbinary as subject. This bug has existed
    since Erlang/OTP 20.0.
  * erts: binary_to_term/1,2 is now more resilient against
    corrupted binaries containing maps in the external format.

-------------------------------------------------------------------
Tue Sep 14 07:19:32 UTC 2021 - Johannes Segitz <jsegitz@suse.com>

- Added hardening to systemd service(s) (bsc#1181400). Modified:
  * epmd.service

-------------------------------------------------------------------
Wed Aug 04 16:05:03 UTC 2021 - opensuse-packaging@opensuse.org

- Changes for 24.0.5:
  * kernel: For gen_tcp:connect/3,4 it is possible to specify a
    specific source port, which should be enough to bind the socket
    to an address with that port before connecting. Unfortunately
    that feature was lost in OTP-17216 that made it mandatory to
    specify the source address to get an address binding, and
    ignored a specified source port if no source address was
    specified. That bug has now been corrected.
- Changes for 24.0.4:
  * stdlib: Fix a bug that could cause a crash when formatting
    tuples using the control sequences p or P and limiting the
    output with the option chars_limit.
  * ssl: Handle cross-signed root certificates when old root
    expired as reported in GH-4877.
  * ssl: The signature selection algorithm has been changed to also
    verify if the client supports signatures using the elliptic
    curve of the server's public/private key pair. This change
    fixes #4958.
  * ssl: Slight optimization of certificate decoding.
  * public_key: Handle cross-signed root certificates when old root
    expired as reported in GH-4877.
  * common_test: An incoming NETCONF notification received before a
    call to ct_netconfc:create_subscription/* caused the connection
    process to fail with badarg. Unexpected notifications are now
    logged in the same way as other unexpected messages.
  * common_test: Add 'receiver' option to ct_netconfc To allow a
    destination for incoming NETCONF notifications to be specified
    at sessions creation. Previously, a caller of
    create_subscription/* became the destination, but RFC 5277
    create-subscription is no longer the only way in which NETCONF
    notifications can be ordered.

-------------------------------------------------------------------
Fri Jul 23 09:21:53 UTC 2021 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Fix more directories not owned by the package (boo#1187546)

-------------------------------------------------------------------
Mon Jul 05 20:15:51 UTC 2021 - matwey.kornilov@gmail.com

- Changes for 24.0.3:
  * erts: A call to erlang:cancel_timer(_, [{info, false}]) could
    cause the calling process to block forever in the call. Note
    that only the synchronous version of the call (that is, the
    async option is false) in combination with the info option set
    to false was effected by this bug.
  * erts: Microstate accounting (msacc) and os:perf_counter()
    unintentionally used system time instead of monotonic time for
    time measurements on a lot of systems. These systems were all
    non x86/x86_64 systems or x86/x86_64 systems without a reliable
    and constant rdtsc instruction. The lock counting (lcnt) built
    runtime system also unintentionally used system time instead of
    monotonic time for time measurements on all systems.
  * erts: Simultaneous calls to
    erlang:system_flag(schedulers_online, _) could cause callers to
    end up in a suspended state forever.
  * dialyzer: Do not expose line number 0 in messages if there are
    other locations to use.
  * dialyzer: In rare circumstances, Dialyzer could crash analyzing
    code with a list comprehension whose value was ignored. (Thanks
    to Ulf Wiger for reporting this bug.)
  * ssh: Filter out sensitive data (passwords etc) from progress
    reports and supervisor reports.
  * inets: Improved user input handling in inets/mod_esi preventing
    unnecessary atom creation.
  * compiler: A compiler optimization pass could crash when given
    odd but legal code using throw/1.
- Changes for 24.0.2:
  * kernel: Fix a race condition in Global.
  * kernel: After a node restart with init:restart/0,1, the module
    socket was not usable because supporting tables had been
    cleared and not re-initialized. This has now been fixed.
    Handling of the "." domain as a search domain was incorrect and
    caused a crash in the DNS resolver inet_res, which has now been
    fixed.
  * kernel: Handling of combinations of the fd option and binding
    to an address has been corrected, especially for the local
    address family.
  * kernel: Bug fixes and code cleanup for the new socket
    implementation, such as: Assertions on the result of
    demonitoring has been added in the NIF code, where appropriate.
    Internal state handling for socket close in the NIF code has
    been reviewed. Looping over close() for EINTR in the NIF code
    has been removed, since it is strongly discouraged on Linux and
    Posix is not clear about if it is allowed. The inet_backend
    temporary socket option for legacy gen_tcp sockets has been
    documented. The return value from net:getaddrinfo/2 has been
    corrected: the protocol field is now an atom(), instead of,
    incorrectly, list(atom()). The documentation has also been
    corrected about this return type. Deferred close of a
    socket:sendfile/* file was broken and has been corrected. Some
    debug code, not enabled by default, in the socket NIF has been
    corrected to not accidentally core dump for debug printouts of
    more or less innocent events.
  * stdlib: Fix a bug that could cause a loop when formatting terms
    using the control sequences p or P and limiting the output with
    the option chars_limit.
  * erts: Not yet handled alias-message signals in the signal queue
    at the time when a garbage collection was performed could cause
    a memory corruption which in turn could result in a crash of
    the runtime system. This bug was introduced in OTP 24.0.
  * erts: Fixed bug when using external pids/ports in keys of big
    maps (> 32). Could cause runtime crash. Bug exists since OTP
    24.0.
  * erts: After a node restart with init:restart/0,1, the module
    socket was not usable because supporting tables had been
    cleared and not re-initialized. This has now been fixed.
    Handling of the "." domain as a search domain was incorrect and
    caused a crash in the DNS resolver inet_res, which has now been
    fixed.
  * erts: A call to port_command() could cause a scheduler to end
    up in an eternal loop if the port was busy and the calling
    process had incoming signals at the time of the call. This bug
    was introduced in OTP 23.3.2 (ERTS version 11.2.1), OTP
    22.3.4.18 (ERTS version 10.7.2.10), and OTP 21.3.8.23 (ERTS
    version 10.3.5.18).
  * erts: Bug fixes and code cleanup for the new socket
    implementation, such as: Assertions on the result of
    demonitoring has been added in the NIF code, where appropriate.
    Internal state handling for socket close in the NIF code has
    been reviewed. Looping over close() for EINTR in the NIF code
    has been removed, since it is strongly discouraged on Linux and
    Posix is not clear about if it is allowed. The inet_backend
    temporary socket option for legacy gen_tcp sockets has been
    documented. The return value from net:getaddrinfo/2 has been
    corrected: the protocol field is now an atom(), instead of,
    incorrectly, list(atom()). The documentation has also been
    corrected about this return type. Deferred close of a
    socket:sendfile/* file was broken and has been corrected. Some
    debug code, not enabled by default, in the socket NIF has been
    corrected to not accidentally core dump for debug printouts of
    more or less innocent events.
  * erts: Dirty execution of a process in combination with an
    unlink signal from a port to the process could cause the signal
    queue of the process to enter into an inconsistent state. The
    result of the inconsistency typically caused a crash of the
    runtime system. This bug was introduced in OTP 23.3 (ERTS
    version 11.2).
  * erl_docgen: Fix links generated in specs to types in other
    applications to point to the correct place. This bug was
    introduced in Erlang/OTP 24.0.
  * ssl: Fix cache invalidation problem for CA certs provided by
    the cacertfile option.
  * ssh: Avoid an extra blank line in the ssh known_hosts file
  * compiler: Fixed a bug that could cause after blocks to be
    ignored when erlang:raise/3 was used in a catch block.
  * compiler: Fixed a bug in the validation pass that could cause
    it to reject valid code.
  * crypto: EC keys are now zero-padded to the expected length if
    needed.

-------------------------------------------------------------------
Sat Jun 26 11:26:43 UTC 2021 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Use sysusers-tools to provide epmd user
- Fix directories not owned by the package (boo#1187546)

-------------------------------------------------------------------
Mon Jun 14 10:27:13 UTC 2021 - Callum Farmer <gmbr3@opensuse.org>

- Install RPM macros file to %{_rpmmacrodir} (boo#1185667)

-------------------------------------------------------------------
Fri May 21 18:55:19 UTC 2021 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Changes for 24.0.1:
  * erl_interface: Commit of generated configure script.
  * wx: Fix build problems when wxWidgets are built with -enable-
    std.
  * wx: Commit of generated configure script.
  * crypto: Removed a risk for coredump.
  * crypto: Fixed and documented the DED_LDFLAGS_CONFTEST
    configuration variable in $ERL_TOP/HOWTO/INSTALL.md.
  * crypto: Commit of generated configure script.
  * common_test: Commit of generated configure script.
  * ssh: Add missing known_hosts and authorized_keys file types to
    ssh_file:decode/2 and ssh_file:encode/2.
  * erts: Commit of generated configure script.
  * snmp: Commit of generated configure script.
  * megaco: Commit of generated configure script.
  * odbc: Commit of generated configure script.

-------------------------------------------------------------------
Wed May 12 11:39:09 UTC 2021 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Version 24.0:
  - Highlights compiler:
    * The compiler will now inline funs that are used only once
      immediately after their definition.
    * Compiler warnings and errors now include column numbers in
      addition to line numbers.
    * Variables bound between the keywords 'try' and 'of' can now
      be used in the clauses following the 'of' keyword (that is,
      in the success case when no exception was raised).
    * Generators in list and binary comprehensions will now raise a
      {bad_generator,Generator} exception if the generator has an
      incorrect type Similarly, when a filter does not evaluate to
      a boolean, a {bad_filter,Filter} exception will be raised.
    * Warnings for expressions whose result was ignored that could
      be suppressed by using the anonymous variable '_' can now be
      suppressed with a variable beginning with '_'.
    * Selective receive optimization will now be applied much more
      often. The new recv_opt_info compile flag can be used to
      print diagnostics relating to this optimization. You can read
      more about the selective receive optimization in the
      Efficiency Guide.
  - erts, kernel, stdlib:
    * hex encoding and decoding functions added in the binary module
    * The BeamAsm JIT-compiler has been added to Erlang/OTP and
      will give a significant performance boost for many
      applications. The JIT-compiler is enabled by default on most
      x86 64-bit platforms that have a C++ compiler that can
      compile C++17. To verify that a JIT enabled emulator is
      running you can use erlang:system_info(emu_flavor).
    * A compatibility adaptor for gen_tcp to use the new socket API
      has been implemented (gen_tcp_socket).
    * Extended error information for failing BIF calls as proposed
      in EEP 54 has been implemented.
    * Process aliases as outlined by EEP 53 has been introduced.
    * Implementation of EEP 56 in supervisor. It adds the concept
      of significant children as well as the auto_shutdown
      supervisor flag. See the supervisor manual page for more
      information.
  - ftp:
    * Add support for FTPES (explicit FTP over TLS).
  - ssl:
    * Make TLS handshakes in Erlang distribution concurrent.
    * TLS connections now support EdDSA certificates.
  - wx:
    * The application has been completely rewritten in order to use
      wxWidgets version 3 as its base.
    * Added support for wxWebView.
  - edoc:
    * EDoc is now capable of emitting EEP-48 doc chunks. This means
      that, with some configuration, community projects can now
      provide documentation for shell_docs the same way that OTP
      libraries did since OTP 23.0.

-------------------------------------------------------------------
Thu Apr  8 16:27:35 UTC 2021 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Pack doc/chunks into %{_libdir} (boo#1184492)

-------------------------------------------------------------------
Sun Jan 17 07:33:55 UTC 2021 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Use wxWidgets < 3.1 (boo#1180488)

-------------------------------------------------------------------
Fri Jan 15 14:39:59 UTC 2021 - matwey.kornilov@gmail.com

- Changes for 23.2.2:
  * crypto: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
    script sources.
  * odbc: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
    script sources.
  * snmp: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
    script sources.
  * erts: The suspend_process() and resume_process() BIFs did not
    check their arguments properly which could cause an emulator
    crash.
  * erts: The runtime system would get into an infinite loop if the
    runtime system was started with more than 1023 file descriptors
    already open.
  * megaco: Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
    script sources.
  * erl_interface: Integers outside of the range [-(1 bsl 32) - 1,
    (1 bsl 32) -1] were previously intended to be printed in an
    internal bignum format by ei_print_term() and
    ei_s_print_term(). Unfortunately the implementation has been
    buggy since OTP R13B02 and since then produced results with
    random content which also could crash the calling program. This
    fix replaces the printing of the internal format with printing
    in hexadecimal form and extend the range for printing in
    decimal form. Currently integers in the range [-(1 bsl 64), (1
    bsl 64)] are printed in decimal form and integers outside of
    this range in Erlang hexadecimal form.
  * erl_interface: The ei API for decoding/encoding terms is not
    fully 64-bit compatible since terms that have a representation
    on the external term format larger than 2 GB cannot be handled.
  * ssl: Fix CVE-2020-35733 this only affects ssl-10.2 (OTP-23.2).
    This vulnerability could enable a man in the middle attack
    using a fake chain to a known trusted ROOT. Also limits
    alternative chain handling, for handling of possibly extraneous
    certs, to improve memory management.
  * ssl: Add support for AES CCM based cipher suites defined in RFC
    7251 Also Correct cipher suite name conversion to OpenSSL
    names. A few names where corrected earlier in OTP-16267 For
    backwards compatible reasons we support usage of openSSL names
    for cipher suites. Mostly anonymous suites names where
    incorrect, but also some legacy suites.
- Changes for 23.2.1:
  * erts: Fix emulator crash when sending small bit-strings over
    Erlang distribution while the connection is being setup. The
    fault was introduced in OTP-23.0
- Changes for 23.2:
  * erl_docgen: Fix links in titles to github and anchors to work.
  * erl_docgen: Fix some typing errors on variable names in
    documentation examples.
  * mnesia: Avoid potential performance issue, if the input queue
    to mnesia_tm is long.
  * crypto: Build the supported curves cache in the NIF when crypto
    is loaded, no matter how it is loaded. This prevents a possible
    problem with different processes starting the crypto
    application concurrently.
  * crypto: It is now possible to build with crypto and openssl
    gprof-enabled and statically link them into the VM.
  * crypto: Fixed performance loss in HMAC when using older OpenSSL
    due to mutex issues. A workaround is implemented to allow
    fallback from using the EVP API for HMAC operations. On some
    architectures this may improve the performance, especially with
    old OpenSSL versions. This fallback to low-level functions is
    always enabled for openssl versions before 1.0.2.
  * kernel: The apply call's in logger.hrl are now called with
    erlang prefix to avoid clashed with local apply/3 functions.
  * kernel: Fix memory leak in pg.
  * kernel: Fix crash in logger_proxy due to stray gen_server:call
    replies not being handled. The stray replies come when logger
    is under heavy load and the flow control mechanism is reaching
    its limit.
  * kernel: Fixed a bug in erl_epmd:names() that caused it to
    return the illegal return value noport instead of {error,
    Reason} where Reason is the actual error reason. This bug also
    propagated to net_adm:names(). This bug was introduced in
    kernel version 7.1 (OTP 23.1).
  * kernel: Add export of some resolver documented types.
  * kernel: Add configurable retry timeout for resolver lookups.
  * kernel: gen_server:multi_call() has been optimized in the
    special case of only calling the local node with timeout set to
    infinity.
  * public_key: Corrected dialyzer spec for pkix_path_validation/3
  * snmp: If an attempt was made to send a v1 trap on a IPv6
    transport this could cause a master agent crash (if the agent
    was *not* multi-threaded).
  * snmp: The deprecation info for a couple of the deprecated MIB
    compiler functions where incorrect. Referred to functions in
    the 'snmpa' module instead of 'snmpc'.
  * snmp: Make it possible for the agent to configure separate
    transports (sockets) for request-responder and trap-sender.
  * snmp: The mib server cache handling has been improved. First,
    the default gclimit has been changed from 100 to infinity (to
    ensure the size is as small as possible). Also, the method of
    removing old elements has been optimized.
  * snmp: It is now possible to configure the agent in such a way
    that the order of outgoing notifications are processed in order
    in the agent. What happens after the notification message has
    left the agent (been sent) is of course still out of our
    control.
  * snmp: Improve handling of the udp_error message. Basically an
    improved error/warning message.
  * wx: Add popup menu callback to wxTaskBarIcon:new/1.
  * dialyzer: Clarify warning option -Wunmatched_returns in
    dialyzer(3).
  * tools: Correct the Xref analysis exports_not_used to not report
    internally generated behaviour_info/1.
  * syntax_tools: In the syntax_tools application, the igor module
    and all functions in erl_tidy except file/2 have been
    deprecated.
  * compiler: Several minor compiler bugs have been fixed:
    Constructing a binary with a list as a size of a binary segment
    could generate a BEAM file that could not be loaded. When
    matching a binary segment of type float and ignoring the
    matched out value, the match would always succeed, even if the
    size was invalid or the value of the float was NaN or some
    other non-numeric float value. Attempting to construct an
    invalid external fun (e.g. fun m:f:bad) is supposed to raise a
    'badarg' exception, but if the value was never used, no
    exception would be raised.
  * compiler: Fixed multiple bugs in the validator that could cause
    it to reject valid code.
  * compiler: The compiler could crash when a binary comprehension
    had a generator that depended on another generator.
  * compiler: Fixed a bug in the type optimization pass that could
    yield incorrect values or cause the wrong clauses to be
    executed.
  * erts: Fixed bug which could cause VM crash when a NIF is loaded
    at the same time as the Erlang implementation of the NIF is
    called. Bug exists since OTP 23.0.
  * erts: Fixed enif_make_map_* functions in debug build when given
    environment from enif_alloc_env.
  * erts: Fixed broken configuration option --disable-pie.
  * erts: Fixed rare distribution bug in race between received
    signal (link/monitor/spawn_request/spawn_reply) and
    disconnection. Symptom: VM crash. Since: OTP 21.0.
  * erts: Fixed a performance issue when extremely many items were
    stored in the process dictionary. (Fixing this bug also
    eliminates a compiler warning emitted by the latest version of
    Clang.)
  * erts: Remove -ftree-copyrename from flags passed to compiler
    when building erts. The flag is not used by modern gcc's and is
    not supported by clang.
  * erts: Modules using complicated nested binary comprehensions
    could fail to load.
  * erts: Fixed a race in file:read_file/1 were an incomplete file
    could be returned if another OS process swapped the file out
    while reading.
  * erts: The call list_to_integer("10", true) would return 4
    instead of raising an exception. Certain other atoms would also
    be interpreted as a number base.
  * erts: On macOS 11 (Big Sur), erl would not start if the maximum
    number of file descriptors were unlimited (ulimit -n
    unlimited).
  * erts: Add manifest to all executables and dynamic libraries.
  * xmerl: Corrected namespace and expanded name in the old dom
    backend example module.
  * xmerl: Corrected a bug that in some cases didn't allow
    unresolved references when skip_external_dtd option used.
  * ssh: Fixed problems in the ssh cli/shell handling. Most
    important are: 1) the ssh:shell function did sometimes cause
    the input to be echoed twice, 2) the ssh:shell function didn't
    transfer the LANG and LC_ALL shell variables to the connected
    server which sometimes made Unicode handling erroneous, 3)
    Unicode was not always transferred correctly to and from the
    peer.
  * ssh: The SSH protocol message SSH_MSG_DISCONNECT was sometimes
    sent instead of SSH_MSG_CHANNEL_FAILURE
  * ssh: The ssh_cli module now always sends the exit-status to
    connected clients so they can use that to check for successful
    command execution.
  * ssh: A new option pk_check_user enables checking of the
    client's user name in the server when doing public key
    authentication.
  * stdlib: This change fixes the handling of deep lists in the
    path component when using uri_string:recompose/1.
  * stdlib: Fix shell_docs to clear shell decorations
    (bold/underline) when paginating output. Fix various small
    renderings issues when integrating shell_docs with edoc.
  * stdlib: Improved the API and documentation of the uri_string
    module. Added a new chapter to the Users Guide about Uniform
    Resource Identifiers and their handling with the new API. Added
    two new API functions: uri_string:allowed_characters/0 and
    uri_string:percent_decode/1. This change has been marked as
    potentially incompatible as uri_string:normalize/2 used to
    decode percent-encoded character triplets that corresponded to
    characters not in the reserved set. After this change,
    uri_string:normalize/2 will only decode those percent-encoded
    triplets that correspond to characters in the unreserved set
    (ALPHA / DIGIT / "-" / "." / "_" / "~"). *** POTENTIAL
    INCOMPATIBILITY ***
  * stdlib: The shell_docs module has been expanded with the
    possibility to configure unicode, ansi and column size for the
    rendered text.
  * megaco: Empty statistics descriptor (now) allowed in both
    encode and decode for version 3.
  * ssl: SSL's Erlang Distribution Protocol modules inet_tls_dist
    and inet6_tls_dist lacked a callback function, so the start
    flag "-dist_listen false" did not work, which has now been
    fixed.
  * ssl: Correct OpenSSL names for newer cipher suites using DHE in
    their name that accidentally got the wrong value when fixing
    other older names using EDH instead.
  * ssl: This change improves the handling of DTLS listening
    dockets, making it possible to open multiple listeners on the
    same port with different IP addresses.
  * ssl: Fix a bug that causes cross-build failure. This change
    excludes the ssl.d dependency file from the source tarballs.
  * ssl: This change fixes ssl:peername/1 when called on a DTLS
    client socket.
  * ssl: Retain emulation of active once on a closed socket to
    behave as before 23.1
  * ssl: Corrected server session cache entry deletion pre TLS-1.3.
    May increase session reuse.
  * ssl: Handle extraneous certs in certificate chains as well as
    chains that are incomplete but can be reconstructed or
    unordered chains. The cert and certfile options will now accept
    a list of certificates so that the user may specify the chain
    explicitly. Also, the default value of the depth option has
    been increased to allow longer chains by default.
  * ssl: This change implements optional NSS-style keylog in
    ssl:connection_information/2 for debugging purposes. The keylog
    contains various TLS secrets that can be loaded in Wireshark to
    decrypt TLS packets.
  * ssl: Use new gen_statem feature of changing callback mode to
    improve code maintainability.
  * ssl: The handling of Service Name Indication has been aligned
    with RFC8446.
  * ssl: Add explicit session reuse option to TLS clients for pre
    TLS-1.3 sessions. Also, add documentation to Users Guide for
    such sessions.
  * inets: Fix an issue about HTML-escaped filename in inets.
  * common_test: Add behaviour for test suites
- Changes for 23.1.5:
  * ssh: An ssh-client can take an accepted socket from a listening
    socket and do an ssh:connect/2 on it. Multiple clients on
    sockets accepted from the same listening socket had stopped
    working. This is corrected now.
- Changes for 23.1.4:
  * ssh: The inet option raw was not passed on from the ssh option
    list to inet.

-------------------------------------------------------------------
Wed Nov 18 20:20:39 UTC 2020 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Changes for 23.1.3:
  * erts: Fixed a crash when exceptions were thrown during call
    time tracing.
  * ssh: A supervisor sub-tree could be left if the connection
    handler process is brutally killed. This will make the
    max_sessions checking option to count the existing sessions
    erroneously and could finally block further sessions.
- Changes for 23.1.2:
  * compiler: Fixed a bug in the boolean optimization pass that
    caused the compiler to confuse different clauses.
  * erts: Fixed bugs causing issues when enabling the ERTS internal
    allocators on a system built with the undocumented and
    unsupported SMALL_MEMORY feature.
  * erts: The inet driver used to use 16 as maximum elements in an
    I/O vector passed to writev() (and WSASend() on Windows). When
    the data to send contained lots of elements, this caused a
    performance degradation since repeated calls to writev() had to
    be made to a much larger extent. The inet driver now looks up
    actual maximum amount of elements that can be used on the
    system, instead of just assuming 16. On most systems this will
    result in a maximum amount of I/O vector elements of 1024. As
    of OTP 23.0 the term encoding of signals to send over the
    distribution are encoded into I/O vectors of buffers instead of
    into a single buffer. Reference counted binaries are referred
    to directly from the I/O vector instead of being copied into
    the single buffer. That is, Erlang signals containing huge
    amounts of reference counted binaries was effected by this
    performance degradation.
  * erts: In the distributed case, a faulty reply option in a call
    to the spawn_request() BIF erroneously caused a badarg
    exception instead of a badopt error message reply.

-------------------------------------------------------------------
Tue Oct 06 10:17:04 UTC 2020 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Changes for 23.1.1:
  * erts: inet:setopts([{active,once}]) wakes up IO polling thread
    unnecessarily, leading to lock contention and visibly higher
    CPU utilization.
  * erts: Two bugs in the ERTS internal thread wakeup functionality
    have been fixed. These bugs mainly hit when all threads in the
    system tried to go to sleep. When the bugs were triggered,
    certain operations were delayed until a thread woke up due to
    some other reason. Most important operations effected were code
    loading, persistent term updates, and memory deallocation.
  * erts: Fixed bug in ets:select_replace/2 on compressed tables
    that could produce faulty results or VM crash. Bug exists since
    OTP 20.
  * erts: When compiling Erlang/OTP on macOS using Xcode 12, the
    performance of the BEAM interpreter would be degraded.
  * erts: As of OTP 22, the allocator specific memory carrier pools
    were replaced by a node global carrier pool. This unfortunately
    caused substantial memory fragmentation in some cases due to
    long lived data being spread into carriers used by allocators
    mainly handling short lived data. A new command line argument
    +M<S>cp has been introduced with which one can enable the old
    behavior as well as configuring other behaviors for the carrier
    pools. In order to configure the old behavior, with allocator
    specific carrier pools for all allocators, pass +Mucp :
    (including the colon character) as a command line argument to
    erl when starting the Erlang system. The default configuration
    for carrier pools will be changed to +Mucp : some time in the
    future, but not in this patch.
  * os_mon: The configuration parameter
    memsup_improved_system_memory_data has been introduced. It can
    be used to modify the result returned by
    memsup:get_system_memory_data(). For more information see the
    memsup documentation. Note that the configuration parameter is
    intended to be removed in OTP 24 and the modified result is
    intended to be used as of OTP 24.
  * ssh: Fix decoder bug.
  * compiler: Fixed a performance bug that could be triggered by
    tuple matching in very large functions.
  * public_key: Fix the issue that pem_decode will crash with an
    invalid input.
- Changes for 23.1:
  * kernel: A fallback has been implemented for file:sendfile when
    using inet_backend socket
  * kernel: Make default TCP distribution honour option backlog in
    inet_dist_listen_options.
  * kernel: Raw option handling for the experimental gen_tcp_socket
    backend was broken so that all raw options were ignored by for
    example gen_tcp:listen/2, a bug that now has been fixed.
    Reported by Jan Uhlig.
  * kernel: Accept fails with inet-backend socket.
  * kernel: Fixed various minor errors in the socket backend of
    gen_tcp.
  * kernel: Correct disk_log:truncate/1 to count the header. Also
    correct the documentation to state that disk_log:truncate/1 can
    be used with external disk logs.
  * kernel: Fix erl_epmd:port_please/2,3 type specs to include all
    possible error values.
  * kernel: Fix erl -erl_epmd_port to work properly. Before this
    fix it did not work at all.
  * kernel: Fix typespec for internal function
    erlang:seq_trace_info/1 to allow term() as returned label. This
    in turn fixes so that calls to seq_trace:get_token/1 can be
    correctly analyzer by dialyzer.
  * kernel: Fix erroneous double registration of processes in pg
    when distribution is dynamically started.
  * kernel: Make (use of) the socket registry optional (still
    enabled by default). Its now possible to build OTP with the
    socket registry turned off, turn it off by setting an
    environment variable and controlling in runtime (via function
    calls and arguments when creating sockets).
  * kernel: erl -remsh nodename no longer requires the hostname to
    be given when used together with dynamic nodenames.
  * observer: Fix graph windows flickering on windows.
  * mnesia: FIx mnesia delete object handling in transaction
    storage. In a transaction mnesia:read/1 could indicate that
    exiting objects did not exist after another object was deleted.
  * mnesia: Fixed crash during startup, which could happen if a
    table was deleted on another node.
  * stdlib: The functions digraph:in_edges/2 and
    digraph:out_edges/2 would return false edges if called for a
    vertex that had a '_' atom in its name term.
  * stdlib: filelib:wildcard("not-a-directory/..") should return an
    empty list. On Windows it returned "not-a-directory/..".
  * stdlib: Fix the typespec of shell_docs:render to use the
    correct type for an MFA.
  * stdlib: Fix uri_string:recompose/1 when host is present but
    input path is not absolute. This change prevents the recompose
    operation to change the top level domain of the host when the
    path does not start with a slash.
  * stdlib: The epp module would return a badly formed error term
    when an 'if' preprocessor directive referenced an undefined
    symbol. epp:format_error/1 would crash when called with the bad
    error term.
  * stdlib: lists:sublist(List, Start, Len) failed with an
    exception if Start > length(List) + 1 even though it is
    explicitly documented that "It is not an error for Start+Len to
    exceed the length of the list".
  * tools: Correct the Xref analysis locals_not_used to find
    functions called exclusively from on_load functions.
  * erts: Update the documentation of the abstract format to use
    ANNO instead of LINE.
  * erts: The emulator will no longer revert to the default number
    of schedulers when running under a CPU quota lower than 1 CPU.
  * erts: Fixed a problem with crash dumps. When a process that
    contained reference to literals internally created by the
    runtime system (such as the tuple returned by os:type/0), the
    literal would not be included in the crash dump and the
    crashdump viewer would complain about the heap being
    incomplete.
  * erts: Fix configure detection of PGO for clang.
  * erts: The to_erl program has been fixed to correctly interpret
    newline as only newline and not newline+return. This bug would
    cause the terminal to behave strangely when using lines longer
    than the terminal size.
  * erts: A race condition when changing process priority by
    calling process_flag(priority, Prio) could cause elevation of
    priority for a system task to be ignored. This bug hit if the
    system task was scheduled on the process calling process_flag()
    at the same time as the priority was changed. The bug is quite
    harmless and should hit very seldom if ever.
  * erts: Adjust /bin/sh to /system/bin/sh in scripts when
    installing on Android.
  * erts: In rare circumstances, when loading a BEAM file generated
    by an alternative code generator (not the Erlang compiler in
    OTP) or from handwritten or patched BEAM code, the loader could
    do an unsafe optimization.
  * erts: A memory and file descriptor leak in socket has been
    fixed. (When a newly opened socket that had not entered the fd
    into the VM's poll set (neither received, sent, accepted nor
    connected) was abandoned without closing (process died), after
    assigning a different controlling process, then a memory block
    and the file descriptor could be leaked.)
  * erts: The documentation of statistics(run_queue) erroneously
    stated that it returns the total length of all normal run
    queues when it is the total length of all normal and dirty CPU
    run queues that is returned. The documentation has been updated
    to reflect the actual behavior.
  * erts: Changes in order to build on the Haiku operating system.
    Thanks to Calvin Buckley
  * erts: When building the inet driver on Windows, there where
    many compiler warnings regarding type casting (used when
    calling the debug macro). This has now been resolved.
  * erts: Make (use of) the socket registry optional (still enabled
    by default). Its now possible to build OTP with the socket
    registry turned off, turn it off by setting an environment
    variable and controlling in runtime (via function calls and
    arguments when creating sockets).
  * erts: Change default filename encoding on android to UTF-8.
  * erts: Clarification of the format of the atom cache header used
    by the distribution.
  * erl_docgen: Repaired lost function "since" versions in the
    right margin of the module reference HTML documentation.
  * erl_docgen: Remove erlang compilation warnings and trailing
    whitespaces.
  * ftp: Avoid timing issue when setting active once on a socket
    that is being closed by the peer.
  * ftp: Avoid timing issue when setting active once on a socket
    that is being closed by the peer.
  * dialyzer: In rare circumstance, dialyzer wold crash when
    analyzing a list comprehension.
  * eunit: Fixed compiler warning.
  * snmp: For agent fix PrivParams for SNMPv3 USM with AES privacy,
    as earlier fixed for the manager in OTP_16541.
  * snmp: The SNMP Agent missed to re-activate datagram reception
    in an odd timeout case and went deaf. This bug has been fixed.
  * snmp: Use of deprecated functions in example 2 has been removed
    (no more compiler warnings).
  * snmp: A file descriptor leak has been plugged. When calling the
    reconfigure function of a mib, it opened the config file(s) but
    never closed them on successful read.
  * asn1: Changes in order to build on the Haiku operating system.
    Thanks to Calvin Buckley
  * syntax_tools: Minor documentation fix of erl_syntax:operator/1.
  * erl_interface: Fix erl_interface on windows to be compiled with
    correct flags to make internal primitives reentrant.
  * erl_interface: Fixed ei_get_type to set *size to zero for
    floats, pids, port and refs according to documentation.
  * erl_interface: Fix ei_connect when using a dynamic node name to
    force usage of distribution version 6. This bug caused erl_call
    -R -address to not work properly.
  * erl_interface: Changes in order to build on the Haiku operating
    system. Thanks to Calvin Buckley
  * erl_interface: The ei API for decoding/encoding terms is not
    fully 64-bit compatible since terms that have a representation
    on the external term format larger than 2 GB cannot be handled.
  * ssl: If a passive socket is created, ssl:recv/2,3 is never
    called and then the peer closes the socket the controlling
    process will no longer receive an active close message.
  * ssl: Data deliver with ssl:recv/2,3 could fail for when using
    packet mode. This has been fixed by correcting the flow control
    handling of passive sockets when packet mode is used.
  * ssl: This change fixes a potential man-in-the-middle
    vulnerability when the ssl client is configured to
    automatically handle session tickets ({session_tickets, auto}).
  * ssl: Fix the internal handling of options 'verify' and
    'verify_fun'. This change fixes a vulnerability when setting
    the ssl option 'verify' to verify_peer in a continued handshake
    won't take any effect resulting in the acceptance of expired
    peer certificates.
  * ssl: This change fixes the handling of stateless session
    tickets when anti-replay is enabled.
  * ssl: Fix a crash due to the faulty handling of stateful session
    tickets received by servers expecting stateless session
    tickets. This change also improves the handling of
    faulty/invalid tickets.
  * ssl: Correct flow ctrl checks from OTP-16764 to work as
    intended. Probably will not have a noticeable affect but will
    make connections more well behaved under some circumstances.
  * ssl: Distribution over TLS could exhibit livelock-like
    behaviour when there is a constant stream of distribution
    messages. Distribution data is now chunked every 16 Mb to avoid
    that.
  * ssl: Implement the cookie extension for TLS 1.3.
  * ssl: Experimental OCSP client support.
  * ssl: TLS 1.0 -TLS-1.2 sessions tables now have a absolute max
    value instead of using a shrinking mechanism when reaching the
    limit. To avoid out of memory problems under heavy load
    situations. Note that this change infers that implementations
    of ssl_session_cache_api needs to implement the size function
    (introduce in OTP 19) for session reuse to be optimally
    utilized.
  * os_mon: memsup now returns the correct amount of system memory
    on macOS.
  * os_mon: Fix memsup:get_os_wordsize/0 to return the current size
    on aarch64.
  * ssh: Fixed a bug when a message to ssh-agent was divided into
    separate packets.
  * ssh: Fix a bug that could crash the cli server if a too large
    cli-window was requested from the client.
  * ssh: Increased test coverage.
  * ssh: A chapter about hardening the OTP SSH is added to the
    User's Guide.
  * ssh: The internal Diffie-Hellman high level API for key
    generation was slow in old and by OpenSSL now unsupported
    cryptolib versions (1.0.1 and earlier). If such a cryptolib is
    used anyhow, the low-level API is used internally in the crypto
    application.
  * ssh: A new timeout is defined for daemons: hello_timeout. The
    timeout is supposed to be used as a simple DoS attack
    protection. It closes an incoming TCP-connection if no valid
    first SSH message is received from the client within the
    timeout limit after the TCP initial connection setup. The
    initial value is 30s by compatibility reasons, but could be
    lowered if needed, for example in the code or in a config file.
  * inets: Clarify the handling of percent encoded characters in
    http client.
  * inets: fix crash for undefined port in uri.
  * inets: Avoid timing issue when setting active once on a socket
    that is being closed by the peer.
  * inets: Handle message body of response with 1XX status code as
    next http message.
  * inets: Fix a crash in http server when setopts is called on a
    socket closed by the peer.
  * inets: A vulnerability in the httpd module (inets application)
    regarding directory traversal that was introduced in OTP 22.3.1
    and corrected in OTP 22.3.4.6. It was also introduced in OTP
    23.0 and corrected in OTP 23.1 The vulnerability is registered
    as CVE-2020-25623 (boo#1177354) The vulnerability is only exposed
    if the http server (httpd) in the inets application is used. The
    vulnerability makes it possible to read arbitrary files which
    the Erlang system has read access to with for example a
    specially prepared http request.
  * inets: Add support of PATCH method in mod_esi.
  * compiler: If the update of a map with the 'Map#{Key := Value}'
    syntax failed, the line number in the stack backtrace could be
    incorrect.
  * compiler: Fixed a performance bug that slowed down compilation
    of modules with deeply nested terms.
  * compiler: The compiler could in rare circumstances do an an
    unsafe optimization that would result in a matching of a nested
    map pattern would fail to match.
  * compiler: Fixed a bug in the validator that caused it to reject
    valid code.
  * public_key: Fixed an insignificant whitespace issue when
    decoding PEM file.
  * public_key: Experimental OCSP client support.
  * public_key: Use user returned path validation error for
    selfsigned cert. It allows users of the ssl application to
    customize the generated TLS alert, within the range of defined
    alerts.
  * public_key: add API function to retrieve the subject-ID of an
    X509 certificate
  * runtime_tools: Fixed a crash in appmon_info triggered by trying
    to read port info from a port that was in the process of
    terminating. appmon_info is used by observer to get information
    from the observed node.
  * megaco: The expected number of warnings when (yecc) generating
    v2 and v3 (text) parser's was incorrect.
  * hipe: Fixed a warning issued when building the hipe
    application.
  * odbc: Changes in order to build on the Haiku operating system.
    Thanks to Calvin Buckley
  * crypto: Fix type spec bug in crypto for crypto_init and
    crypto:one_time
  * crypto: The deprecation message for crypto:rand_uniform/2
    indicated a non-existent function. The correct one
    (rand:uniform/1) is now suggested.
  * crypto: Implemented a workaround to allow fallback from using
    the EVP API for Diffie-Hellman key generation
  * crypto: The internal Diffie-Hellman high level API for key
    generation was slow in old and by OpenSSL now unsupported
    cryptolib versions (1.0.1 and earlier). If such a cryptolib is
    used anyhow, the low-level API is used internally in the crypto
    application.
  * sasl: Make release_handler more resilient against exiting
    processes during upgrade.
- Changes for 23.0.4:
  * stdlib: When a temporary child of a simple_one_for_one
    supervisor died, the internal state of the supervisor would be
    corrupted in a way that would cause the supervisor to retain
    the start arguments for subsequent children started by the
    supervisor, causing unnecessary growth of the supervisor's
    heap. There state corruption could potentially cause other
    problems as well.
  * erts: The ERTS internal I/O poll implementation could get into
    an inconsistent state causing input events to be ignored.
  * megaco: The v2 and v3 parsers could not properly decode some
    IPv6 addresses.

-------------------------------------------------------------------
Mon Aug 24 10:20:01 UTC 2020 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Changes for 23.0.3:
  * erts: Fixed bug in erlang:load_nif/2 that could cause it to
    throw badarg exception if a concurrent code change operation
    was in progress. Bug existed since OTP 23.0.
  * erts: Minor fix of debug compiled VM.
  * erts: An unintentional reuse of an already used emulator
    internal event object could cause a wakeup signal to a thread
    to be lost. In worst case this could cause the runtime system
    to hang. This hang was however quite rare.
  * erts: NIF threads and driver threads on non-Linux systems
    leaked internal resources when terminating. On Windows these
    resources were one event per thread. On most other systems one
    mutex and one condition variable per thread. On these other
    systems that also lacked pthread_cond_timedwait() also a pipe
    with its file descriptors was leaked.
  * compiler: When calls to is_map_key were repeated, the compiler
    could terminate with an internal consistency failure.
  * compiler: Fixed a bug in the type inference pass that could
    cause the compiler to hang.

-------------------------------------------------------------------
Fri Jun 12 07:24:09 UTC 2020 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Changes for 23.0.2:
  * erts: Fixed bug when sending an export fun (eg lists:reverse/1)
    on a not yet established connection. It could cause VM crash.
    Bug exists since OTP 23.0.
  * megaco: The mini parser could not properly decode some IPv6
    addresses.
- Changes for 23.0.1:
  * erts: The functionality utilized by BIFs for temporary
    disabling of garbage collection while yielding could cause
    system task queues to become inconsistent on a process
    executing such a BIF. Process system tasks are for example
    utilized when purging code, garbage collecting literal data,
    and when issuing an ordinary garbage collection from another
    process. The bug does not trigger frequently. Multiple code
    purges in direct sequence makes it more likely that this bug is
    triggered. In the cases observed, this has resulted in a
    hanging code purge operation.
  * erts: SCTP and UDP recv/2,3 hangs indefinitely if socket is
    closed while recv is called (socket in passive mode).
  * compiler: In rare circumstances, a guard using 'not' could
    evaluate to the wrong boolean value.
  * compiler: A guard expression that referenced a variable bound
    to a boolean expression could evaluate to the wrong value.

-------------------------------------------------------------------
Fri Jun 12 06:36:45 UTC 2020 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Version 23.0:
- Potential Incompatibilities:
  * SSL:Support for SSL 3.0 is completely removed. TLS 1.3 is added
    to the list of default supported versions.
  * erl_interface: Removed the deprecated parts of erl_interface
    (erl_interface.h and essentially all C functions with prefix
    erl_).
  * The deprecated erlang:get_stacktrace/0 BIF now returns an empty
    list instead of a stacktrace. erlang:get_stacktrace/0 is
    scheduled for removal in OTP 24.
- Improvements and new features:
  * ssh: OpenSSH 6.5 introduced a new file representation of keys
    called openssh-key-v1. This is now supported with the exception
    of handling encrypted keys.
  * Algorithm configuration could now be done in a .config file. This
    is useful for example to enable an algorithm that is disabled by
    default without need to change the code.
  * SSL: Support for the middlebox compatibility mode makes the TLS
    1.3 handshake look more like a TLS 1.2 handshake and increases
    the chance of successfully establishing TLS 1.3 connections
    through legacy middleboxes.
  * Add support for key exchange with Edward curves and PSS-RSA
    padding in signature verification
  * The possibility to run Erlang distribution without relying on
    EPMD has been extended.
  * A first EXPERIMENTAL socket backend to gen_tcp and inet has been
    implemented. gen_udp and gen_sctp will follow.
  * Putting {inet_backend, socket} as first option to listen() or
    connect() makes it easy to try this for existing code
  * A new module erpc in kernel which implements an enhanced subset
    of the operations provided by the rpc module. Enhanced in the
    sense that it makes it possible to distinguish between returned
    value, raised exceptions and other errors. erpc also has better
    performance and scalability than the original rpc implementation.
    This by utilizing the newly introduced spawn_request() BIF. Also
    the rpc module benefits from these improvements by utilizing erpc
    when possible.
  * Scalability and performance Improvements plus new functionality
    regarding distributed spawn operations.
  * In binary matching, the size of the segment to be matched is now
    allowed to be a guard expression (EEP-52)
  * When matching with maps the keys can now be guard expressions
    (EEP-52).
  * ssh: support for TCP/IP port forwarding, a.k.a tunnelling a.k.a
    as tcp-forward/direct-tcp is implemented. In the OpenSSH client,
    this corresponds to the options -L and -R.
  * Allow underscores in numeric literals to improve readability.
    Examples: 123_456_789, 16#1234_ABCD.
  * New functions in the shell for displaying documentation for
    Erlang modules, functions and types.
  * kernel: The module pg with a new implementation of distributed
    named process groups is introduced. The old module pg2 is
    deprecated and scheduled for removal in OTP 24.

-------------------------------------------------------------------
Wed Mar 25 08:48:44 UTC 2020 - g.santomaggio@gmail.com

- Changes for 22.3:
  * compiler: A 'receive' with an 'after 0' clause would prevent
    the optimization that can avoid scanning the entire receive
    queue when matching on a newly created reference.
  * compiler: HiPE can again handle modules with catch and try
    constructs.
  * compiler: Fixed a bug in bit-syntax optimization that could
    crash the compiler.
  * crypto: Fixed potential memory leaks involving calls to the
    crypto ng_api.
  * common_test: Document incl_apps cover option
  * common_test: The ct_property_test has now a report function for
    results of stateful testing.
  * common_test: Don't hide error reasons from user
  * stdlib: Fix type specification for uri_string:normalize/2 that
    may also return error().
  * stdlib: Improve error handling in uri_string:normalize/2. This
    change fixes a crash when the input URI has faulty percent-
    encoding.
  * stdlib: Fix minor bugs in the Erlang pretty printer (erl_pp).
  * stdlib: Fix the Erlang parser regarding consecutive unary
    operators.
  * stdlib: Let calendar:rfc3339_to_system_time() crash when the
    time offset is missing.
  * stdlib: Implement uri_string:resolve/{2,3} that can be used to
    resolve a URI reference against a base URI.
  * stdlib: In gen_statem it is now possible to change the callback
    module for a running server. See gen_statem's documentation for
    change_callback_module, push_callback_module, and
    pop_callback_module.
  * ssl: Correct handling of TLS record limit in TLS-1.3. The max
    value differs from previous versions. Also the payload data max
    record check was broken, that is record overflow problems could
    occur if user sent large amounts of data.
  * ssl: Correct close handling for DTLS
  * ssl: Fix ssl:getstat/1-2 to also work for DTLS sockets
  * ssl: Correct internal handling och socket active mode to avoid
    reviving TCP data aimed for a downgraded TLS socket.
  * ssl: When using the host name as fallback for SNI (server name
    indication) strip a possible trailing dot that is allowed in a
    host name but not in the SNI. Also if the server receives a SNI
    with a trailing dot send an UNRECOGNIZED_NAME alert.
  * ssl: Immediately remove session entries if handshake is
    abruptly closed at transport level.
  * ssl: Implementation of the key and initialization vector update
    feature, and general hardening of TLS 1.3. There are
    cryptographic limits on the amount of plaintext which can be
    safely encrypted under a given set of keys. This change
    enforces those limits by triggering automatic key updates on
    TLS 1.3 connections.
  * ssl: Add support for TLS 1.3 Session Tickets (stateful and
    stateless). This allows session resumption using keying
    material from a previous successful handshake.
  * ssl: Add support for key exchange with Edward curves and PSS-
    RSA padding in signature verification.
  * megaco: The documented function
    megaco:get_sdp_record_from_PropertGroup/2 was a wrapper for
    megaco_sdp:get_sdp_record_from_PropertGroup/2 but did not
    actually exist. This has now been fixed.
  * megaco: Test suite completely reworked. Add (timestamp) utility
    functions for debugging and testing.
  * erl_interface: Fix link error "multiple definition of
    `ei_default_socket_callbacks'" for gcc version 10 or when built
    with gcc option -fno-common. Error exists since OTP-21.3.
  * asn1: Fix 'DEFAULT' with 'OCTET STRING' and 'SEQUENCE OF
    CHOICE' with extensions.
  * erts: gen_udp:recv(S, N, 0) corrupted the internal state for
    the socket so after receive with {active, once} it always
    returned {error, timeout}, and wasted the received UDP packets.
    This bug has now been fixed. Reported and pinpointed by
    Alexander Petrovsky.
  * erts: The atom esock_atom_user and esock_atom_kernel was never
    actually created. This has now been corrected.
  * erts: Fixed bug in socket module that could potentially lead to
    scheduler deadlocks.
  * erts: Fix bug causing VM crash if down or stop callback of a
    NIF resource is called after the NIF module has been purged.
    The fix will postpone unloading until all such resource objects
    have been garbage collected.
  * erts: Fixed bug in ets:update_counter/4, when called with an
    invalid UpdateOp and a Key that does not exist, causing
    ets:info(T,size) to return incorrect values. Bug exists since
    OTP-19.0.2.
  * erts: Fix potential heap corrupting bugs when a process calls a
    BIF that blocks other normal schedulers and then writes to its
    own heap without the main process lock. A NIF running on a
    dirty scheduler trying to interact with such a process could
    corrupt its heap. The fixed BIFs were related to code loading
    and tracing.
  * erts: Fixed bug in erlang:list_to_ref/1 when called with a
    reference created by a remote note. Function list_to_ref/1 is
    intended for debugging and not to be used in application
    programs. Bug exist since OTP 20.0.
  * erts: The prim_net nif (net/kernel) made use of an undefined
    atom, notsup. This has now been corrected.
  * erts: Corrected the valid range of the erl command line
    argument +SDio <NumberOfDirtyIoSchedulers> from 0..1024 to
    1..1024. +SDio 0 was erroneously allowed which just caused the
    VM to crash on the first dirty I/O job scheduled.
  * erts: Fix a crash when attempting to log faults when loading
    files during early boot.
  * erts: For socket, not all send and receive flags are supported
    on all platforms. In order to (at least) simplify testing, the
    socket:supports/0,1,2,3 functions has been extended with
    send_flags and recv_flags items, which indicates what the
    current platform can manage.
  * erts: Add a "full featured" version of getifaddrs in the net
    module.
  * erts: The options busy_limits_port and busy_limits_msgq have
    been added to the BIF erlang:open_port/2. The busy_limits_port
    option can be used for controlling the busy state of a port
    executing the spawn_driver or the fd_driver. The
    busy_limits_msgq option can be used for controlling the busy
    state of the port message queue.
  * erts: A socket "registry" has been added making it possible to
    list current open sockets.
  * erts: The counters managed by the socket nif has been extended.
    Their "size" has been increased from 32 bit to 64. Two max
    package size (for read and write) has been added. And four
    accept counters has been added.
  * erts: Add gcc option -fno-common to detect accidental name
    clashes of global variables.
  * erts: New dynamic lock checker that verifies locking orders and
    detects potential deadlock bugs in drivers and NIFs. Enabled
    together with the old static lock checker (for ERTS internal
    locks) in emulator started with -emu_type debug or built with
    configuration option --enable-lock-checking.
  * snmp: A simple supervision of the snmp manager net-if process
    has been added. Also, a way to forcibly restart the net-if
    process has been added. This could be useful if the net-if
    process hangs for some reason.
  * snmp: Misc documentation corrections
  * mnesia: Fixed a timing issue in uninstall fallback
    functionality.
  * eunit: Backport of PR-2316: Strip control codes from
    eunit_surefire output to avoid generation of invalid xml
  * ssh: Unicode problems for ssh_sftp:write fixed.
  * ssh: Changes to the internal api of the experimental ssh_dbg
    tool.
  * ssh: The new functions ssh:set_sock_opts/2 and
    ssh:get_sock_opts/2 sets and reads option values for the
    underlying TCP stream.
  * hipe: HiPE can again handle modules with catch and try
    constructs.
  * hipe: When the return value for try/catch was ignored, the
    native code compiler could crash.
  * public_key: Add support for key exchange with Edward curves and
    PSS-RSA padding in signature verification.
  * diameter: Add the 'first' tuple to type diameter:peer_filter/0.
    The filter was added in OTP-17.5.6.8 and OTP-18.3, but neither
    release updated the type specification.
  * tools: An Emacs warning due to lacking type in defcustom
    declaration has been fixed.
  * tools: Improve emacs indentation.
  * tools: The cover tool could generate instrumented code for a
    module that would cause warnings to be issued.
  * tools: Fixed generated fprof analysis format to also handle
    data in maps.
  * sasl: A socket "registry" has been added making it possible to
    list current open sockets.
  * kernel: The DNS resolver `inet_res` has been fixed to return
    the last intermediate error when subsequent requests times out.
  * kernel: The prim_net nif (net/kernel) made use of an undefined
    atom, notsup. This has now been corrected.
  * kernel: Fix a crash when attempting to log faults when loading
    files during early boot.
  * kernel: Fix crash in logger when logging to a remote node
    during boot.
  * kernel: Improved net_kernel debug functionality.
- Changes for 22.2.8:
  * diameter: The possibility of choosing a handler process for an
    incoming Diameter request with a configured MFA was documented
    in OTP 20.0, but counters (with {traffic_counters, true}) were
    not incremented when this process was on a remote node.
    Counters are now incremented on the node that configures the
    transport in question. Introduced in OTP 21.3.
  * diameter: Transport options differing from those passed to
    diameter:add_transport/2 were used in several situations: when
    starting a transport process after connect_timer expiry after
    an initial connection attempt has failed, when starting a
    transport process after a connection has been accepted, when
    sending events, when returning options in
    diameter:service_info/2, and possibly more. In particular, the
    following configuration options to diameter:add_transport/2
    were dropped: avp_dictionaries, incoming_maxlen, spawn_opt,
    strict_mbit. Moreover, any service options mistakenly passed to
    diameter:add_transport/2 were interpreted as such, instead of
    being ignored as the documentation states, with the consequence
    that outgoing and incoming requests saw different values of
    some options, some were always taken from transport options,
    and others from service options. diameter:add_transport/2 must
    be called in new code for the fix to have effect. Introduced in
    OTP 20.1.

-------------------------------------------------------------------
Mon Mar  2 13:48:03 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>

- Remove conditions and support for openSUSE/SLE < 15
- Remove not really needed service file _service
- Convert the dependencies to pkgconfig style ones

-------------------------------------------------------------------
Wed Feb 19 14:06:40 UTC 2020 - g.santomaggio@gmail.com

- Changes for 22.2.7:
  * compiler: Fixed a bug that could cause the compiler to reject
    valid code that used the is_map_key/2 BIF.
  * compiler: Fixed a bug that could cause the compiler to reject
    valid code that matched the same map key several times.
  * compiler: The compiler could crash when compiling a convoluted
    receive statement.
  * compiler: The compiler could crash when a fun was created but
    never used. The compiler could crash when compiling the
    expression true = 0 / X.

- jsc#SLE-10913

-------------------------------------------------------------------
Sat Feb 15 09:40:37 UTC 2020 - matwey.kornilov@gmail.com

- Changes for 22.2.6:
  * erts: A process could get into an inconsistent state where it
    was runnable, but never scheduled for execution. This could
    occur when a mix of normal and low priority processes where
    scheduled on the same type of dirty scheduler simultaneously.

-------------------------------------------------------------------
Fri Feb  7 09:01:17 UTC 2020 - Gabriele Santomaggio <gsantomaggio@suse.de>

- Changes for 22.2.5:
  * erts: A process could end up in a state where it got
    endlessly rescheduled without making any progress. This
    occurred when a system task, such as check of process
    code (part of a code purge), was scheduled on a high
    priority process trying to execute on a dirty
    scheduler.
  * erts: Improved signal handling for processes executing dirty.
    For example, avoid busy wait in dirty signal handler
    process when process is doing garbage collection on
    dirty scheduler.
  * stdlib:  A directory traversal vulnerability has been eliminated
    in erl_tar. erl_tar will now refuse to extract symlinks
    that points outside the targeted extraction directory
    and will return {error,{Path,unsafe_symlink}}. (Thanks
    to Eric Meadows-Jönsson for the bug report and for
    suggesting a fix.)

-------------------------------------------------------------------
Mon Feb  3 07:59:55 UTC 2020 - Gabriele Santomaggio <gsantomaggio@suse.com>

- Changes for 22.2.4:
  * ssl: Enhance error handling, all ALERTS shall be handled
    gracefully and not cause a crash.  
  * ssl: Enhance alert logging, in some places the role
    indication of the alert origin was missing. So the log
    would say undefined instead of client or server.
  * ssl: Two different optimizations did not work together and
    resulted in the possible breakage of connections using
    stream ciphers (that is RC4). Reworked the
    implementation to avoid this.

-------------------------------------------------------------------
Fri Jan 24 08:08:38 UTC 2020 - matwey.kornilov@gmail.com

- Changes for 22.2.3:
  * ssl: Fix the handling of GREASE values sent by web browsers
    when establishing TLS 1.3 connections. This change improves
    handling of GREASE values in various protocol elements sent in
    a TLS 1.3 ClientHello.
  * ssl: Correct DTLS listen emulation, could cause problems with
    opening a new DTLS listen socket for a port previously used by
    a now closed DTLS listen socket.
  * compiler: Fixed a bug in the compiler that could cause it to
    reject valid code.

-------------------------------------------------------------------
Fri Jan 17 08:34:03 UTC 2020 - matwey.kornilov@gmail.com

- Changes for 22.2.2:
  * erts: Taking a scheduler offline could cause timers set while
    executing on that scheduler to be delayed until the scheduler
    was put online again. This bug was introduced in ERTS version
    10.0 (OTP 21.0).
  * erts: The ets:update_counter/4 core dumped when given an
    ordered_set with write_concurrency enabled and an invalid
    position. This bug has been fixed.
  * erts: A process calling erlang:system_flag(multi_scheduling,
    block) could end up blocked waiting for the operation to
    complete indefinitely.
  * erts: Duplicate entries for [socket:]getopt and [socket:]setopt
    in man page.
  * stdlib: The ets:update_counter/4 core dumped when given an
    ordered_set with write_concurrency enabled and an invalid
    position. This bug has been fixed.
  * crypto: Constant time comparisons added.
  * ssh: Fixed that ssh_connection:send could allocate a large
    amount of memory if given an iolist() as input data.
  * ssh: Safe atom conversions.
  * ssh: Constant time comparisons added.
- Changes for 22.2.1:
  * erts: Corrected an issue with the new socket api which could
    cause a core dump. A race during socket close could cause a
    core dump (an invalid nif environment free).
  * erts: Corrected an issue with the new socket api which could
    cause a core dump. When multiple accept processes waiting for a
    connect a connect could cause a core dump.
  * snmp: Its now possible to remove selected varbinds (from the
    final message) when sending a notification. This is done by
    setting the 'value' (in the varbind(s) of the varbinds list) to
    '?NOTIFICATION_IGNORE_VB_VALUE'.
  * snmp: Its now possible to specify that an oid shall be
    "truncated" (trailing ".0" to be removed) when sending an
    notification.
  * ssl: Add missing alert handling clause for TLS record handling.
    Could sometimes cause confusing error behaviors of TLS
    connections.
  * ssl: Fix handling of ssl:recv that happens during a
    renegotiation. Using the passive receive function
    ssl:recv/[2,3] during a renegotiation would fail the connection
    with unexpected msg.

-------------------------------------------------------------------
Thu Dec 19 16:04:42 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>

- BuildRequire pkgconfig(libsystemd) instead of systemd-devel:
  Allow OBS to shortcut through the -mini flavors.

-------------------------------------------------------------------
Thu Dec 12 07:55:22 UTC 2019 - Gabriele Santomaggio <gsantomaggio@suse.de>

- Changes for 22.2
  * http://erlang.org/download/OTP-22.2.README
  * Highlights:
  * erts: The Kernel application's User's Guide now contains a 
    Logger Cookbook with common usage patterns.
  * erts: Numerous improvements in the new socket and net modules
  * Standard libraries: common_test: ct_property_test logging is improved
  * Standard libraries: ssl: Correct handling of unordered chains so that it 
    works as expected
  * Tools: Emacs erlang-mode function that lets the user open the documentation 
    for an Erlang/OTP function in an Emacs buffer has been improved. 
    Users will be asked if they want the man pages downloaded if they are not present 
    in the system.

-------------------------------------------------------------------
Wed Nov 27 09:00:15 UTC 2019 - Gabriele Santomaggio <gsantomaggio@suse.de>

- Changes for 22.1.8
  * http://erlang.org/download/OTP-22.1.8.README
  * erts: Large amounts of quickly executed dirty work could
    cause heavy contention on an internal spin lock. The
    spin lock was replaced by a mutex which behaves much
    better under these conditions.

-------------------------------------------------------------------
Mon Nov 11 11:22:05 UTC 2019 - Gabriele Santomaggio <gsantomaggio@gmail.com>

- Changes for 22.1.7
  * http://erlang.org/download/OTP-22.1.7.README
  * compiler: Fixed a performance bug that caused repeated matches of
    large records to take a very long time to compile. 
  * erts: A literal area could prematurely be released before all
    uses of it had been removed. This occurred either when
    a terminating process had a complex exit reason
    referring to a literal that concurrently was removed,
    or when a terminating process continued executing a
    dirty NIF accessing a literal (via the heap) that
    concurrently was removed.
  * erts:  Fix bug causing VM crash due to memory corruption of
    distribution entry. Probability of crash increases if
    Erlang distribution is frequently disconnected and
    reestablished towards same node names. Bug exists since
    OTP-21.0.
  * erts: Fixed bug causing crash of VM built with configuration
    --enable--sharing-preserving. Provoked when a sent
    message contains both a bit string and the heap binary
    (< 65 bytes) which the bit string was matched from. Bug
    exists since OTP-19.0 but has seen to be easier to
    provoke since OTP-22.1. 

- Changes for 22.1.6
  * http://erlang.org/download/OTP-22.1.6.README
  * compiler, erts: The compiler could do an unsafe optimization of
    receives, which would cause a receive to only scan part
    of the message queue.
  * crypto: The AEAD tag was not previously checked on decrypt with
    chacha20_poly1305
  * erts:Fix bug where the receive marker used by the runtime to
    do the receive queue optimization could be incorrectly
    set. The symptom of this would be that a message that
    should match in a receive never matches.
  * snmp: Agent discovery cleanup. If there is no receiver of
    INFORM then #state.reqs in snmpa_net_if keeps on
    growing for DISCOVERY.

-------------------------------------------------------------------
Tue Oct 29 12:29:00 UTC 2019 - Gabriele Santomaggio <gsantomaggio@suse.de>

- Changes for 22.1.5
  * http://erlang.org/download/OTP-22.1.5.README
  * snmp: Application(s): snmp
    Related Id(s): ERIERL-427
    The agent discovery process has been made to work with
    snmptrapd..

-------------------------------------------------------------------
Wed Oct 23 14:06:06 UTC 2019 - Gabriele Santomaggio <gsantomaggio@suse.de>

- Changes for 22.1.4
  * http://erlang.org/download/OTP-22.1.4.README
  * compiler: Fixed a bug where the compiler could generate incorrect
    code for a 'receive' statement inside a 'try'.
  * crypto:  FIxed a bug if the erlang emulator was linked with a
    very old cryptolib version (1.0.1 or earlier).
    The bug now fixed could have triggered a core dump if
    an unknown cipher name was used in crypto functions.
  * erts: Erlang/OTP can now be built on macOS Catalina (10.15).

-------------------------------------------------------------------
Tue Oct 15 16:35:54 UTC 2019 - matwey.kornilov@gmail.com

- Changes for 22.1.3:
  * inets: Add HTTP server error logging vi logger
- Changes for 22.1.2:
  * erts: Added the environment variable ERLC_SERVER_ID, which
    allows multiple compile servers to run separately under the
    same user.
- Changes for 22.1.1:
  * erts: A terminating process sending distributed 'EXIT' or
    'DOWN' signals while terminating could end up in a state where
    no progress at all was made. This was triggered by a
    distribution channel that the terminating process was sending
    on got busy. This bug has existed since ERTS version 10.4 (OTP
    22.0).
  * erts: When communicating with a simultaneously exiting port via
    the erlang:port_*() BIFs one could sometimes get stray {Ref,
    What} messages. Where Ref was a reference and What usually were
    the atom badarg.
  * snmp: Made it possible to add 'extra socket options' to the
    (gen_udp) socket open call (for both manager and agent). A new
    option has been added, extra_sock_opts, which makes it possible
    for the user to add a list of extra socket options that will be
    appended to the other socket options for the open call. See the
    snmp application config man page (erl -man 6 snmp) or the
    "Configuring the application" chapter of the Users Guide for
    more info.
  * compiler: Fixed a bug in the bit-syntax optimization pass that
    could crash the compiler.

-------------------------------------------------------------------
Sun Sep 22 08:21:20 UTC 2019 - matwey.kornilov@gmail.com

- Changes for 22.1:
  * kernel: The type specification for gen_sctp:connect/4,5 has
    been corrected.
  * kernel: Extra -mode flags given to erl are ignored with a
    warning.
  * kernel: Fix type spec for seq_trace:set_token/2.
  * kernel: logger:compare_levels/2 would fail with a badarg
    exception if given the values all or none as any of the
    parameters. This is now corrected.
  * kernel: Fix bug where the log file in logger_std_h would not be
    closed when the inode of the file changed. This would in turn
    cause a file descriptor leak when tools like logrotate are
    used.
  * kernel: Fix a race condition in the debugging function
    net_kernel:nodes_info/0.
  * kernel: Fix race condition when closing a file opened in
    compressed or delayed_write mode.
  * kernel: The possibility to send ancillary data, in particular
    the TOS field, has been added to gen_udp:send/4,5.
  * kernel: If the log file was given with relative path, the
    standard logger handler (logger_std_h) would store the file
    name with relative path. If the current directory of the node
    was later changed, a new file would be created relative the new
    current directory, potentially failing with an enoent if the
    new directory did not exist. This is now corrected and
    logger_std_h always stores the log file name as an absolute
    path, calculated from the current directory at the time of the
    handler startup.
  * kernel: Support local sockets with inet:i/0.
  * observer: Fix bug after a user followed link on a pid from an
    expanded term window.
  * observer: Improved dark mode colors on Linux.
  * mnesia: mnesia:add_table_copy/3 could cause a deadlock if
    called when a new node was starting.
  * mnesia: Transactions with sticky locks could with async_asym
    transactions be committed in the wrong order, since asym
    transaction are spawned on the remote nodes. To fix this bug
    the communication protocol between mnesia nodes had to be
    updated, thus mnesia will no longer be able to connect to nodes
    earlier than mnesia-4.14 , OTP-19.0. *** POTENTIAL
    INCOMPATIBILITY ***
  * stdlib: re:run() now yields when validating utf8 in a large
    subject.
  * stdlib: Upgraded the ERTS internal PCRE library from version
    8.42 to version 8.43. See
    http://pcre.org/original/changelog.txt for information about
    changes made to PCRE. This library implements major parts of
    the re regular expressions module.
  * stdlib: The bug with ID ERL-717 has been fixed. The functions
    io:columns() and io:rows() only worked correctly inside
    interactive erlang shells before this fix. These functions
    returned {error,enotsup} before this fix even if stdout and
    stdin were connected to a terminal when they were invoked from
    an escript or a program started with e.g., erl -noshell.
  * stdlib: Fixed handling of ".." and "@" in wildcards. ".." would
    only work when preceded by a literal pattern such as in "a/..",
    not when preceded by wildcard characters such as in "*/..". The
    combination "@/.." was also broken, and in addition "@" in a
    pattern could degrade performance of the wildcard matching.
  * stdlib: Make sure ets:fun2ms() can handle ++/2 in the head of
    functions when called from the shell.
  * stdlib: Debugging of time-outs in gen_statem has been improved.
    Starting a time-out is now logged in sys:log and sys:trace.
    Running time-outs are visible in server crash logs, and with
    sys:get_status. Due to this system events {start_timer, Action,
    State} and {insert_timout, Event, State} have been added, which
    may surprise tools that rely on the format of these events. New
    features: The EventContent of a running time-out can be updated
    with {TimeoutType, update, NewEventContent}. Running time-outs
    can be cancelled with {TimeoutType, cancel} which is more
    readable than using Time = infinity. *** POTENTIAL
    INCOMPATIBILITY ***
  * stdlib: re:run() now avoids validating utf8 in the subject more
    than once in the same call. This validation could previously be
    performed multiple times when the global option was passed.
  * stdlib: ETS ordered_set tables with write_concurrency enabled
    has got a performance issue fixed. There were no limits for the
    values of internal statistics counters before this fix. This
    could result in that the data structure sometimes reacted
    slowly to a change in how many parallel processes were using
    it.
  * stdlib: The ordsets:union/1 is now faster when passed a long
    list of ordsets.
  * stdlib: unicode:characters_to_binary() could return very small
    binaries as reference counted off heap binaries. This could
    cause an unnecessary large memory usage and an unnecessary load
    on the binary allocator. Small binaries are now always returned
    as heap binaries.
  * stdlib: Display a more meaningful error message when a bad I/O
    server is used in a script written in Erlang (escript).
  * stdlib: New feature ets:info(_, binary) to get information
    about all reference counted binaries kept by a table. This is
    the same kind of debug information that process_info(_, binary)
    returns for a process.
  * stdlib: Corrected ETS documentation about the behavior of
    compiled match specifications when serialized through external
    format.
  * tools: cover would fail to start if two processes tried to
    start it at the exact same time.
  * common_test: If a ct hook is installed in the suite/0 function
    in a test suite, then the hook's terminate/1 function would be
    called several times without it's init/2 function being called
    first. This is now corrected.
  * common_test: If init_per_testcase fails, the test itself is
    skipped. According to the documentation, it should be possible
    to change the result to failed in a hook function. The only
    available hook function in this case is post_init_per_testcase,
    but changing the return value there did not affect the test
    case result. This is now corrected.
  * common_test: Add ct_netconfc support for NETCONF 1.1 (RFC
    6241). The 1.1 base capability can be sent in hello, and RFC
    6242 chunk framing is applied when both client and server
    advertise 1.1 support.
  * common_test: Correct lib_dir paths in common_tests opaque data
    structure that is passed to ct_release_test callback modules in
    functions upgrade_init/2, upgrade_upgraded/2 and
    upgrade_downgraded/2. The incorrect paths may cause confusion
    when debugging although it will not cause any incorrect
    behavior on the part of common_test as it is currently not
    used.
  * erts: If you set {linger,{true,0}} on a gen_tcp listen socket,
    accept a connection on that socket, and then close the accepted
    socket, now the linger zero setting is transferred to the
    accepted socket. Before this correction that information was
    lost and the close behaviour on the accepted socket incorrect.
  * erts: Sending ancillary data implemented in OTP-15747
    accidentally left behind test code that caused all UDP sends to
    fail on Windows. This has now been fixed.
  * erts: In the socket nif, used invalid flags when if-def'ing for
    supported TCP flags: TCP_MAXSEG and TCP_NODELAY (the support
    function).
  * erts: Fixed memory leaks in experimental socket module.
  * erts: re:run() now yields when validating utf8 in a large
    subject.
  * erts: Fixed bug in seq_trace:set_token(label,Term) which could
    cause VM crash if Term was heap allocated (not an atom, small
    integer, local pid or port). Bug exists since OTP 21.0 when
    terms other than small integers were first allowed as labels.
  * erts: Extra -mode flags given to erl are ignored with a
    warning.
  * erts: Don't loop indefinitely when --enable-pgo is given to
    configure, but compiler does not support pgo.
  * erts: Fix seq_trace:print/2 not to raise badarg exception if
    label is not a small integer. Bug exists since OTP 21.0.
  * erts: Fixed hipe_flush_icache_range for non-Linux OS on ARM.
  * erts: The fix in OTP-15871 was too conservative and disabled
    the offending load-time optimization in some cases where it was
    safe.
  * erts: Upgraded the ERTS internal PCRE library from version 8.42
    to version 8.43. See http://pcre.org/original/changelog.txt for
    information about changes made to PCRE. This library implements
    major parts of the re regular expressions module.
  * erts: Fix race condition when closing a socket while using
    {active,N} on Windows.
  * erts: Allow more than one -config command line option to erl on
    Windows to conform with other OS.
  * erts: Fix so that ERL_FLAGS environment variable does not
    interfere with command line arguments. Before this fix you
    could write: ERL_FLAGS="10" erl +S and erlang would start as if
    +S had been given the argument 10.
  * erts: The bug with ID ERL-717 has been fixed. The functions
    io:columns() and io:rows() only worked correctly inside
    interactive erlang shells before this fix. These functions
    returned {error,enotsup} before this fix even if stdout and
    stdin were connected to a terminal when they were invoked from
    an escript or a program started with e.g., erl -noshell.
  * erts: Do not use named label in ethread.c inline assemble. This
    allows erts to be compiled using gcc 9.1.0 with LTO enabled.
  * erts: erlang:fun_to_list/1 will now escape the module and
    function name when necessary.
  * erts: process_info(P,binary) would neglect to look through heap
    fragments, potentially missing a few binaries associated with
    the process.
  * erts: HiPE is now automatically disabled on systems with non-
    glibc implementation (for instance musl). This is because musl
    does not provide the API's for guaranteeing that signals are
    delivered on the correct native stack.
  * erts: Fixed bug triggered if a process is killed during call to
    persistent_term:put or persistent_term:erase.
  * erts: Add units to all memory slogans in the crash dump
    documentation.
  * erts: Fix a bug in binary_to_term that would crash the emulator
    if a term larger than 16GB was to be decoded.
  * erts: Fixed bug related to an exiting process sending EXIT and
    DOWN signals to remote linked/monitored processes. Bugs exists
    since OTP 22.0.
  * erts: erlc can now automatically use a compile server to avoid
    starting an Erlang system for each file to be compiled in a
    multi-file project. See the documentation for how to enable it.
  * erts: The possibility to send ancillary data, in particular the
    TOS field, has been added to gen_udp:send/4,5.
  * erts: The net module has been split into 'net' (kernel) and
    prim_net (preloaded).
  * erts: Socket counters now works as expected and can also be
    extracted with the (new) info function.
  * erts: re:run() now avoids validating utf8 in the subject more
    than once in the same call. This validation could previously be
    performed multiple times when the global option was passed.
  * erts: The un-documented function erlang:dist_get_stat/1 now
    returns the real value of what the distribution queue contains
    instead of a boolean.
  * erts: ETS ordered_set tables with write_concurrency enabled has
    got a performance issue fixed. There were no limits for the
    values of internal statistics counters before this fix. This
    could result in that the data structure sometimes reacted
    slowly to a change in how many parallel processes were using
    it.
  * erts: Optimize the reception of large distribution messages.
  * erts: Binary matching and functions like split_binary/2 will
    now create heap binaries when the results are small enough,
    reducing the chances of small sub-binaries keeping large
    binaries alive.
  * erts: Fixed rare emulator crash in instrument:allocations/0-1.
  * erts: Ports could pass very small binaries as reference counted
    off heap binaries to processes. This could cause an unnecessary
    large memory usage and an unnecessary load on the binary
    allocator. Small binaries are now always passed as heap
    binaries to processes.
  * erts: unicode:characters_to_binary() could return very small
    binaries as reference counted off heap binaries. This could
    cause an unnecessary large memory usage and an unnecessary load
    on the binary allocator. Small binaries are now always returned
    as heap binaries.
  * erts: Improved erl_nif documentation regarding on_load and
    Erlang stub/fallback functions.
  * erts: New feature ets:info(_, binary) to get information about
    all reference counted binaries kept by a table. This is the
    same kind of debug information that process_info(_, binary)
    returns for a process.
  * erl_docgen: Update the documentation build support to handle
    FOP 2.1 .
  * ftp: A possibly infinite loop when receiving messages divided
    in parts is removed.
  * dialyzer: Allow native compilation when using Dialyzer from
    Erlang. The options native (defaults to false) and native_cache
    have been added.
  * eunit: Handle get_until request with explicit encoding in the
    implementation of the I/O protocol.
  * snmp: Fix various minor issues related to Dialyzer. Mostly
    these are dialyzer warnings, but there was also some minor bugs
    detected by Dialyzer.
  * snmp: Fixed a dets usage problem detected by dialyzer.
  * snmp: The function snmp:print_version_info() prints various
    version info. For each module a number of items are printed,
    such as app vsn and md5 digest. And an attempt was also made to
    print "compile time". This used to be available in the
    module_info for each module, but has now been removed.
  * snmp: The use of the deprecated random module has been replaced
    the with rand module.
  * snmp: Removed use of the deprecated function
    erlang:get_stacktrace(). Instead make use of the 'catch
    Class:Error:Stacktrace' feature.
  * syntax_tools: Add missing calls to erl_syntax:unwrap/1. The
    nodes concerned represent names and values of maps and map
    types.
  * wx: Fix a driver bug that could crashes when allocating memory.
  * erl_interface: Fix bugs in ei_print_term for binaries and bit
    strings causing incorrect output.
  * erl_interface: Fixed bug in ei_decode_fun for very old fun
    encoding format. Bug exist since OTP 22.0.
  * erl_interface: ei_print_term() now supports printing of maps
    and funs.
  * xmerl: xmerl_sax_parser crashed during charset detection when
    the xml declarations attribute values was missing the closing
    quotation (' or ").
  * ssl: Handling of zero size fragments in TLS could cause an
    infinite loop. This has now been corrected.
  * ssl: DTLS record check needs to consider that a resent hello
    message can have a different version than the negotiated.
  * ssl: Basic support for TLS 1.3 Client for experimental use. For
    more information see the Standards Compliance chapter of the
    User's Guide.
  * ssl: Correct solution for retaining tcp flow control OTP-15802
    (ERL-934) as to not break ssl:recv as reported in (ERL-938)
  * ssl: Enhance dialyzer specs to reflect implementation better
    and avoid dialyzer warnings for the user that wants to use TLS
    with unix domain sockets.
  * ssl: Add support for ECDSA signature algorithms in TLS 1.3.
  * ssl: Correct error handling of TLS downgrade, possible return
    values form ssl:close/2 when downgrading is {ok, Port} or
    {error, Reason}, it could happen that only ok was returned
    instead of {error, closed} when downgrade failed due to that
    the peer closed the TCP connection.
  * os_mon: Fix disk_sup to ignore squashfs on Linux when
    determining if a mounted filesystem is full or not.
  * os_mon: Fix bug where cpu_sup:util() always returned 100% on
    systems not using gnu libc, for example Alpine OS.
  * ssh: Fixed wrong type definition for the daemon option
    subsystems.
  * ssh: Fixed a possible SSH logging crash if there was a problem
    in an early stage of session setup.
  * ssh: The documentation for the modules ssh_connection, ssh_sftp
    and ssh_sftpd are now generated from the -spec:s.
  * ssh: Internal cleanup including removal of the internal file
    ssh_userauth.hrl.
  * ssh: Removed unused definitions in ssh.hrl.
  * ssh: Removed unused fields in the internal #connection{}
    record.
  * ssh: To get information of a connection_ref() from for example
    ssh:connect/3, there was previously one function available
    namely ssh:connection_info/2. This ticket adds
    ssh:connection_info/1 which returns all information. For
    daemons (servers) started with for example ssh:daemon/2 the
    function ssh:daemon_info/1 returning all information was
    available. This ticket adds ssh:daemon_info/2 which returns
    only the information specified in the second argument. The info
    of connections and of daemons now also includes the item
    'options'. Only those options that does not have their default
    values are returned. For a connection also the items
    'algorithms' and 'channels' are added.
  * inets: httpd - Accept singel LF as line terminator
  * inets: mod_esi will now always propagate the actual HTTP status
    code that it answered with, to later mod-modules, and not in
    some cases hardcode 200.
  * compiler: Code such as the following would crash the compiler
    in OTP 22: [some_atom = fun some_function/1]
  * compiler: Compilation could get really slow (in the order of
    minutes instead of seconds) when compiling huge functions.
    (Thanks to Kostis Sagonas for reporting this bug.)
  * compiler: Fixed a bug in the validator that could reject valid
    code.
  * compiler: In rare circumstances, when two clauses had identical
    bodies and guard tests that tested a single boolean variable,
    the guard test for the second clause could be discarded,
    executing the second clause unconditionally if the first clause
    was not executed.
  * compiler: Fixed extremely slow compilation for huge functions
    doing predominantly pattern matching.
  * compiler: The compiler could generate unsafe code (that would
    crash the runtime system) for map pattern matching. The code
    could be unsafe if the matched key was not present in the map
    at runtime.
  * compiler: Correct code using try/after could fail to compile
    when using the option 'no_type_opt'.
  * compiler: The compiler could crash when compiling code that
    called 'length/1' on a binary extracted using the binary
    syntax.
  * compiler: Fixed a bug where the compiler could fail with an
    internal consistency failure error when compiling receive
    statements.
  * compiler: Fixed a problem where the compiler would crash when
    compiling binary matching in a function head.
  * public_key: Support Password based encryption with AES
  * public_key: Change dialyzer spec to avoid confusion
  * runtime_tools: Fix dbg:stop_clear/0 to also clear trace events
    (send and 'receive').
  * megaco: Fix various minor issues related to Dialyzer. Mostly
    these are dialyzer warnings, but there was also some minor bugs
    detected by Dialyzer.
  * crypto: The implementation of crypto_one_time/4 is adjusted to
    match the type specification. The spec and the black-box
    behaviour of the function are unchanged. Some details: Both the
    spec and the implementation were correct seen separately. But
    with both of them combined simultaneously with
    crypto_one_time/5 which was called by the implementation of
    crypto_one_time/4, an (obvious) error was detected by a
    Dialyzer with more thorough checking than usual.
  * crypto: When using crypto with FIPS mode enabled, the digests
    were not correctly handled.
  * crypto: A memory leak in error handling code in
    ng_crypto_init_nif is fixed.
  * crypto: Fixed the broken static build of the crypto nifs
  * crypto: The Message Authentication Codes (MAC) CMAC, HMAC and
    Poly1305 are unified into common functions in the New Crypto
    API. See the manual for CRYPTO.
  * sasl: The net module has been split into 'net' (kernel) and
    prim_net (preloaded).
  * jinterface: Replaced deprecated <tt> with <code> in
    documentation.

-------------------------------------------------------------------
Sun Sep 22 08:16:38 UTC 2019 - opensuse-packaging@opensuse.org

- Rebased patches:
  + 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch dropped (merged upstream)

-------------------------------------------------------------------
Tue Aug 27 10:51:47 UTC 2019 - Martin Liška <mliska@suse.cz>

- Udate -ffat-lto-objects in order to properly build static libraries
  provided by the package (boo#1142645).
- Use %make_build macro.

-------------------------------------------------------------------
Mon Jul 29 08:15:47 UTC 2019 - opensuse-packaging@opensuse.org

- Add patch 0001-erts-Do-not-use-named-no_cpuid-label-in-asm.patch:
  fix boo#1142913

- Changes for 22.0.7:
  * compiler: Fixed a compiler crash introduced in 22.0.6
    (OTP-15952).
- Changes for 22.0.6:
  * compiler: Fixed an unsafe optimization when matching
    tuple_size/1 outside of guards, which could crash the emulator
    if the argument was not a tuple.
  * compiler: Fixed a rare bug that could cause the wrong kind of
    exception to be thrown when a BIF failed in a function that
    matched bitstrings.
  * compiler: Fixed a bug where receive statements inside try/catch
    blocks could return incorrect results.
  * ssl: Enhance error handling for erroneous alerts from the peer.
  * hipe: The HiPE compiler would badly miscompile certain
    try/catch expressions, so it will now refuse to compile modules
    containing try or catch. As a consequence of this, dialyzer
    will no longer compile key modules to native code. ***
    POTENTIAL INCOMPATIBILITY ***
  * dialyzer: The HiPE compiler would badly miscompile certain
    try/catch expressions, so it will now refuse to compile modules
    containing try or catch. As a consequence of this, dialyzer
    will no longer compile key modules to native code. ***
    POTENTIAL INCOMPATIBILITY ***
- Changes for 22.0.5:
  * inets: Fix a regression in http client that causes a crash when
    request URI has no scheme.
  * ssl: Fix handling of certificate decoding problems in TLS 1.3
    similarly as in TLS 1.2.
  * ssl: Hibernation now works as expected in all cases, was
    accidently broken by optimization efforts.
  * ssl: Fix interoperability problems with openssl when the TLS
    1.3 server is configured wirh the option signature_algs_cert.
  * dialyzer: Make sure Dialyzer does not crash if the formatting
    of results fails. Instead of crashing, an unformatted version
    of the results is returned.
  * erts: An invalid value test caused the socket:setopt(Socket,
    ip, add_membership, ip_mreq()) to fail with badarg. The same
    for drop_membership.
  * erts: Fixed bug causing VM crash when doing textual dump of a
    process containing an unhandled monitor down signal. Textual
    process dumps can be done with erlang:system_info(procs), trace
    feature process_dump, Erlang shell break menu and a crashdump.
    Bug exist since OTP 21.0.
  * erts: lists:subtract/2 would produce incorrect results for some
    inputs on 64-bit platforms.
  * erts: Fixed a bug in the loader that was similar to OTP-15938,
    yielding incorrect code for some inputs on 64-bit platforms.
  * erts: Fixed bug causing scheduler threads in rare cases to
    block spinnning indefinitely. Bug exists since OTP 21.0.

-------------------------------------------------------------------
Thu Jul  4 13:13:17 UTC 2019 - Matwey Kornilov <matwey.kornilov@gmail.com>

- Drop priv/obj directories: boo#1140404 

-------------------------------------------------------------------
Tue Jun 25 10:23:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Version 22.0.4:
  * http://erlang.org/download/OTP-22.0.4.README
  - Bug Fixes
  * erts: Fixed a buffer overflow when binary_to_existing_atom/2
    and list_to_existing_atom/2 was used with the latin1
    encoding.
  * erts: The runtime system disconnected a connection if it
    received an exit/2 signal where the recipient was a
    process on an old incarnation of the current node. That
    is, the receiving node had the same node name, but
    another "creation" number. The signal will now just be
    dropped since the receiving process no longer exists. 
  * kernel: user/user_drv could respond to io requests before they
    had been processed, which could cause data to be
    dropped if the emulator was halted soon after a call to
    io:format/2, such as in an escript.
  * ssl: Correct handshake handling, might cause strange
    symptoms such as ASN.1 certificate decoding issues.
  * ssl: Fix handling of the signature_algorithms_cert extension
    in the ClientHello handshake message.
  * ssl:Handle new ClientHello extensions when handshake is
    paused by the {handshake, hello} ssl option.

-------------------------------------------------------------------
Sun Jun 16 07:47:56 UTC 2019 - Matwey V. Kornilov <matwey.kornilov@gmail.com>

- Version 22.0:
  - Potential Incompatibilities:
  * gen_* behaviours: If logging of the last N messages through
    sys:log/2,3 is active for the server, this log is included in
    the terminate report.
  * reltool: A new element, Opts, can now be included in a rel
    tuple in the reltool release specific configuration format:
    {rel, Name, Vsn, RelApps, Opts}.
  * All external pids/ports/refs created by erlang:list_to_pid and
    similar functions now compare equal to any other pid/port/ref
    with same number from that node.
  * The old legacy erl_interface library is deprecated as of OTP
    22, and will be removed in OTP 23. This does not apply to the
    ei library.
  * VxWorks is deprecated as of OTP 22 and will be removed in OTP
    23.
  - New Features:
  * Support for Erlang Distribution protocol to split the payload
    of large messages into several fragments.
  * ETS option write_concurrency now also effects and improves
    scalability of ordered_set tables.
  * The length/1 BIF used to calculate the length of the list in
    one go without yielding, even if the list was very long. Now it
    yields when called with long lists.
  * A new (still experimental) module socket is introduced. It is
    implemented as a NIF and the idea is that it shall be as "close
    as possible" to the OS level socket interface.
  * Added the NIF function enif_term_type, which helps avoid long
    sequences of enif_is_xyz by returning the type of the given
    term. This is especially helpful for NIFs that serialize terms,
    such as JSON encoders, where it can improve both performance
    and readability.
  * The compiler has been rewritten to internally use an
    intermediate representation based on Static Single Assignment
    (SSA). The new intermediate representation makes more
    optimizations possible.
  * All compiler options that can be given in the source file can
    now be given in the option list on the command line for erlc.
  * In OTP 22, HiPE (the native code compiler) is not fully
    functional. The reasons for this are new BEAM instructions for
    binary matching that the HiPE native code compiler does not
    support. If erlc is invoked with the +native option, and if any
    of the new binary matching instructions are used, the compiler
    will issue a warning and produce a BEAM file without native
    code.
  * Cover now uses the counters module instead of ets for updating
    counters. The new function cover:local_only/0 allows running
    Cover in a restricted but faster local-only mode. The increase
    in speed will vary depending on the type of code being
    cover-compiled, as an example the compiler test suite runs more
    than twice as fast with the new Cover.
  * A simple socket API is provided through the socket module. This
    is a low level API that does *not* replace gen_[tcp|udp|sctp].
    It is intended to *eventually* replace the inet driver. It also
    provides a basic API that facilitates the implementation of
    other protocols than TCP, UDP and SCTP. Known issues are; No
    support for the Windows OS (currently), a small term leakage.
    This feature will be classed as experimental in OTP 22.
  * SSL: now uses the new logger API, including log levels and
    verbose debug logging.
  * SSL: Basic support for TLS 1.3 Server for experimental use.
  * crypto: The new hash_info/1 and cipher_info/1 functions returns
    maps with information about the hash or cipher in the argument.
  - The application otp_mibs has been removed from OTP.

-------------------------------------------------------------------
Thu May 16 09:47:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.8.1:
- Changes for 21.3.8.1:
 * http://erlang.org/download/OTP-21.3.8.1.README
 * erts: Fixed a buffer overflow when binary_to_existing_atom/2
   and list_to_existing_atom/2 was used with the latin1
   encoding. 
 * ssl: Correct solution for retaining tcp flow control
   OTP-15802 (ERL-934) as to not break ssl:recv as
   reported in (ERL-938)
 * tools: cover would fail to start if two processes tried to
   start it at the exact same time.
- Update to 21.3.8:
- Changes for 21.3.8:
 * http://erlang.org/download/OTP-21.3.8.README
 * common_test: The test result when a hook function fails is in
   general the same as if the function that the hook is
   associated with fails. For example, if
   post_init_per_testcase fails the result is that the
   test case is skipped, as is the case when
   init_per_testcase fails.This, however, was earlier not
   true for timetrap timeouts or other error situations
   where the process running the hook function was killed.
   This is now corrected, so the error handling should be
   the same no matter how the hook function fails.
   Related Id(s): ERIERL-334
 * common_test: In some rare cases, when two common_test nodes used the
   same log directory, a timing problem could occur which
   caused common_test to crash because it's log cache file
   was unexpectedly empty. This is now corrected.
   Related Id(s): ERIERL-342
 * common_test: Two new common_test hook functions are introduced:
   post_groups/2, which is called after Suite:groups/0
   post_all/3, which is called after Suite:all/0
   A new term, {testcase,TestCase,RepeatProperties} is now
   also allowed in the return from all/0. This can be used
   for repeating a single test case a specific number of
   times, or until it fails or succeeds once.
 * eldap, public_key, ssl:  Back port of bug fix ERL-893 from OTP-22 and document
   enhancements that will solve dialyzer warnings for
   users of the ssl application.
   This change also affects public_key, eldap (and inet doc).
   Related Id(s): ERL-893, ERL-929, PR-2215
 * erl_interface: erl_interface/ei refused to use node names with an
   alive name (the part of the node name preceding the @
   sign) longer than 63 characters and a host name longer
   than 64 characters. The total amount of characters
   allowed in a node name (alivename@hostname) was thus
   limited to 128 characters. These limits applied both to
   the own node name as well as node names of other nodes.
   Ordinary Erlang nodes limit the node name length to 256
   characters, which meant that you could not communicate
   with certain Erlang nodes due to their node name used.

   erl_interface/ei now allow the total amount of
   characters in a node name to be up to 256 characters.
   These characters may be distributed between alive name
   and host name in whatever way needed. That is, the
   maximum amount of characters in the alive name may be
   254 and the maximum amount of characters in the host
   name may be 254, but in total the node name must not
   exceed 256 characters.
 * erts:  Fixed more bugs in process_info(reductions) causing it
   to sometimes behave non-monotonic. That is, a
   subsequent call toward the same process could return a
   lower reduction value.
   Related Id(s): ERIERL-337, OTP-15709
 * ssl:  Missing check of size of user_data_buffer made internal
   socket behave as an active socket instead of active N.
   This could cause memory problems.
 * eldap, public_key, ssl: Back port of bug fix ERL-893 from OTP-22 and document
   enhancements that will solve dialyzer warnings for
   users of the ssl application.
   This change also affects public_key, eldap (and inet doc).
 * stdlib: A bug in gen_statem has been fixed where the internal
   timeout message could arrive as an info to the callback
   module during high load due to incorrect use of
   asynchronous timer cancel.
 
-------------------------------------------------------------------
Mon Apr 29 09:48:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.7:
- Changes for 21.3.7:
 * http://erlang.org/download/OTP-21.3.7.README
 * ssh: When an SSH server receives the very first message on a
   new TCP connection, and that message is not the
   expected one, the 64 first bytes of the received
   message are now dumped in the INFO REPORT that reports
   the Protocol Error.
   This facilitates the debugging of who sends the bad
   message or of detecting a possible port scanning

-------------------------------------------------------------------
Tue Apr 23 12:04:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.6:
- Changes for 21.3.6:
 * http://erlang.org/download/OTP-21.3.6.README
 * ssl: With the default BEAST Mitigation strategy for TLS 1.0
   an empty TLS fragment could be sent after a one-byte
   fragment. This glitch has been fixed.

-------------------------------------------------------------------
Wed Apr 17 09:56:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.5:
- Changes for 21.3.5:
 * http://erlang.org/download/OTP-21.3.5.README
 * diameter: Fix inadvertently broad monitor that resulted in
   gen_server cast messages to hidden nodes from module
   diameter_dist. 
 * erts: Add missing documentation of new external tags NEW_PID,
   NEW_PORT and NEWER_REFERENCE introduced in OTP 19.
   These new tags are planned to be "activated" in OTP 23
   when distribution capability flag DFLAG_BIG_CREATION
   becomes mandatory. Older nodes (>= 19) are able to
   decode these new tags and send them back to the new
   node. Nodes older than OTP 23 will however never encode
   their own local pids, ports and references using the
   new tags.
 * inets:  Fix the internal handling of the option
   erl_script_timeout in httpd. If explicit
   erl_script_timeout value was supplied in seconds it was
   not correctly converted to millisecond units for
   internal usage.
   This change fixes the handling of erl_script_timeout in
   all possible configuration scenarios.

-------------------------------------------------------------------
Mon Apr 15 09:13:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.4:
- Changes for 21.3.4:
 * http://erlang.org/download/OTP-21.3.4.README
 * crypto: Fixed build link error on Windows. Unresolved symbol
   'bcmp'.
 * erl_interface: Fix handling of Makefile dependencies so that parallel
   make works properly.
 * erts: Fix erlang:open_port/2 with the fd option to correctly
   cleanup the pollset when the port is closed. Before
   this fix there would be error printouts sent to logger
   when the same fd was reused in a new port.
 * ssh: The callback ssh_channel:init/1 was missing in OTP-21
 * ssh: If a client was connected to an server on an already
   open socket, the callback fun(PeerName,FingerPrint) in
   the accept_callback option passed the local name in the
   argument PeerName instead of the remote name.
 * common_test: OTP internal test improvements.

-------------------------------------------------------------------
Tue Apr 02 12:05:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.3:
- Changes for 21.3.3:
 * http://erlang.org/download/OTP-21.3.3.README
 * erts: Fixed a bug in seq_trace:reset_trace/0 that could crash
   the emulator.
 * erts: Fixed bug in process_info(reductions) causing it to
   sometimes return invalid results.
 * kernel/stdlib: Fixed a performance regression when reading files
   opened with the compressed flag.

-------------------------------------------------------------------
Tue Mar 26 09:18:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.2:
- Changes for 21.3.2:
 * http://erlang.org/download/OTP-21.3.2.README
 * erts: If a suspend/resume signal pair was sent to a process
   while it was executing dirty, the receiving process
   could later end up in a suspended state indefinitely.
   This bug was introduced in ERTS version 10.0 (OTP
   21.0).
 * etrs: Fix a possible deadlock when terminating the ERTS
   caused by a dirty scheduler not releasing it's
   run-queue lock when terminating.
 * xmerl: Handling of character references in attributes are
   fixed. 
 * xmerl:  Normalization of whitespace characters in attributes
   are fixed so it works when character references are
   used.

-------------------------------------------------------------------
Wed Mar 20 11:32:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.3.1:
- Changes for 21.3.1:
 * http://erlang.org/download/OTP-21.3.1.README
 * erl_interface: Fixed two bugs in the erl_call program. A missing
   initialization (introduced in erl_interface-3.11) which
   either caused a crash or failure to connect to or start
   a node, and an incorrectly calculated timeout which
   could cause failure to start an erlang node. These bugs
   only caused failures on some platforms.
 * ssl: The timeout for a passive receive was sometimes not
   cancelled and later caused a server crash. This bug has
   now been corrected.
 * ssl: Add tag for passive message (active N) in cb_info to
   retain transport transparency.  

- Update to 21.3:
- Changes for 21.3:
 * http://erlang.org/download/OTP-21.3.README
 * Erlang/OTP 21.3 is the third service release for the 21st major release
   with improvements, as well as a few features
 * Highlights
 * Kernel: The standard logger handler, logger_std_h, now has a new internal
   feature for log rotation. For full information see the documentation.
 * SSL:The Reason part of the error return from the functions connect and
   handshake has a better and documented format. This is a potential
   incompatibility. See the documentation.
   Refactoring of state handling has improved the TLS application data
   throughput and reduced CPU overhead
   Code optimizations has reduced CPU load for encryption/decryption,
   especially for Erlang's distribution protocol over TLS
   Now supports active N
 * Erl_interface: Support for plugin of a user supplied socket implementation has been added.
 * OTP:The HTML reference documentation now shows the OTP version where
   modules and functions were first introduced. Versions of OTP older than R13B04 is not shown in the reference
   documentation
 * For a full list of details see:
   http://erlang.org/download/otp_src_21.3.readme

- Update to 21.2.7:
- Changes for 21.2.7:
 * http://erlang.org/download/OTP-21.2.7.README
 * erts, otp: Fixes of install/release phase in build system.
   -- The source tree was modified when
   installing/releasing and/or applying a patch.
   -- Some files were installed with wrong access rights.
   -- If applying a patch (using otp_patch_apply) as
   another user (except root) than the user that built the
   source, the documentation was not properly updated. 
 * erts, kernel: Setting the recbuf size of an inet socket the buffer is
   also automatically increased. Fix a bug where the auto
   adjustment of inet buffer size would be triggered even
   if an explicit inet buffer size had already been set.
 * erts: Reading from UDP using active true or active N mode has
   been optimized when more packets than specified by
   read_packets are available on the socket. 
 * erts, kernel:  Setting the recbuf size of an inet socket the buffer is
   also automatically increased. Fix a bug where the auto
   adjustment of inet buffer size would be triggered even
   if an explicit inet buffer size had already been set.
 
-------------------------------------------------------------------
Tue Feb 19 10:37:44 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.2.6:
- Changes for 21.2.6:
 * http://erlang.org/download/OTP-21.2.6.README
 * erts: When using the {linger,{true,T}} option;
   gen_tcp:listen/2 used the full linger time before
   returning for example eaddrinuse. This bug has now been
   corrected.
 * stdlib: Optimize pretty printing of terms. The slower behaviour
   was introduced in Erlang/OTP 20.

-------------------------------------------------------------------
Thu Feb  7 18:20:58 UTC 2019 - matwey.kornilov@gmail.com

- Drop unsupported openSUSE versions

-------------------------------------------------------------------
Tue Feb  5 10:43:37 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- Update to 21.2.5:
- Changes for 21.2.5:
 * http://erlang.org/download/OTP-21.2.5.README
 * inets: Fixed bug that causes a crash in http client when using
   hostnames (e.g. localhost) with the the option
   ipv6_host_with_brackets set to true.
   This change also fixes a regression: httpc:request
   fails with connection error (nxdomain) if option
   ipv6_host_with_brackets set to true and host component
   of the URI is an IPv6 address.  

-------------------------------------------------------------------
Fri Jan 25 15:26:37 UTC 2019 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- update to 21.2.4:
- Changes for 21.2.4:
 * http://erlang.org/download/OTP-21.2.4.README
 * erts: Fix bug where doing a gen_tcp:send on a socket with
   delay_send set to true could cause a segfault if the
   other side closes the connection.
   Bug was introduced in erts-10.2 (OTP-21.2).
 * erts: Fix a race condition when a port program closes that
   could result in the next started port to hang during
   startup.
   Bug was introduced in erts-10.0 (OTP-21.0).
 * erts: Fix a bug where polling for external events could be
   delayed for a very long time if all active schedulers
   were 100% loaded.
   Bug was introduced in erts-10.2 (OTP-21.2).
 * inets: Make sure ipv6 addresses with brackets in URIs are
   converted correctly before passing to lower level
   functions like gen_tcp and ssl functions. Could cause
   connection to fail.
- update to 21.2.3:
- Changes for 21.2.3:
 * http://erlang.org/download/OTP-21.2.3.README
 * compiler: An optimization that avoided allocation of a stack
   frame for some case expressions was introduced in OTP
   21. (ERL-504/OTP-14808) It turns out that in rare
   circumstances, this optimization is not safe.
   Therefore, this optimization has been disabled.
 * erts: Fixed a crash when dangling files were closed after
   init:restart/0.
 * erts: A bug that could cause dirty schedulers to become
   unresponsive has been fixed.
 * ssl: Fix encoding of the SRP extension length field in ssl.
   The old encoding of the SRP extension length could
   cause interoperability problems with third party SSL
   implementations when SRP was used.
 * ssl: Guarantee active once data delivery, handling TCP
   stream properly.
   Correct gen_statem returns for some error cases
 * xmerl: The charset detection parsing crash in some cases when
   the XML directive is not syntactic correct.
       
-------------------------------------------------------------------
Mon Dec 31 17:59:37 UTC 2018 - Gabriele Santomaggio <g.santomaggio@gmail.com>

- update to 21.2.2:
- Changes for 21.2.2:
 * http://erlang.org/download/OTP-21.2.2.README
 * ssh: Fixed port leakage if a ssh:daemon call failed.
- update to 21.2.1:
- Changes for 21.2.1:
 * http://erlang.org/download/OTP-21.2.1.README
 * erts: Fixed bug on big endian architectures when changing
   file permissions or ownership with file:change_mode,
   change_owner, change_group or write_file_info. Bug
   exists since OTP-21.0.
 * erts: Fixed bug in operator band of two negative operands
   causing erroneous result if the absolute value of one
   of the operands have the lowest N*W bits as zero and
   the other absolute value is not larger than N*W bits. N
   is an integer of 1 or larger and W is 32 or 64
   depending on word size. 
 * ssl:  Fixed renegotiation bug. Client did not handle server
   initiated renegotiation correctly after rewrite to two
   connection processes, due to ERL-622 commit
   d87ac1c55188f5ba5cdf72384125d94d42118c18. This could
   manifest it self as a " bad_record_mac" alert.
   Also included are some optimizations
- update to 21.2:
- Changes for 21.2:
 * http://erlang.org/download/OTP-21.2.README
 * HIGHLIGHTS
 * erts, sasl: New counters and atomics modules supplies access to
   highly efficient operations on mutable fixed word sized
   variables.
 * erts: There is a new module persistent_term that implements a
   term storage suitable for terms that are frequently
   used but never or infrequently updated. Lookups are
   done in constant time without copying the terms.
 * ssh: Requires OpenSSL 1.1.1 or higher as cryptolib under the
   OTP application crypto.
 * ssl: *** POTENTIAL INCOMPATIBILITY ***
   ssl now uses active n internally to boost performance.
   Old active once behavior can be restored by setting
   application variable see manual page for ssl
   application (man 6).
 * erts: Add a new pollset that is made to handle sockets that
   use {active, true} or {active, N}. The new pollset will
   not be polled by a pollthread, but instead polled by a
   normal scheduler.
   This change was made because of the overhead associated
   with constantly having to re-apply the ONESHOT
   mechanism on fds that all input events were
   interesting.
   The new pollset is only active on platforms that
   support concurrent kernel poll updates, i.e. Linux and
   BSD.
 * POTENTIAL INCOMPATIBILITIES:
   kernel: A new function, logger:update_handler_config/3 is
   added, and the handler callback changing_config now has
   a new argument, SetOrUpdate, which indicates if the
   configuration change comes from set_handler_config/2,3    
   or update_handler_config/2,3.
   This allows the handler to consistently merge the new
   configuration with the old (if the change comes from
   update_handler_config/2,3) or with the default (if the
   change comes from set_handler_config/2,3).
   The built-in handlers logger_std_h and
   logger_disk_log_h are updated accordingly. A bug which
   could cause inconsistency between the handlers'
   internal state and the stored configuration is also
   corrected.
 * ssl: ssl now uses active n internally to boost performance.
   Old active once behavior can be restored by setting
   application variable see manual page for ssl
   application (man 6).
 * full relase notes here: http://erlang.org/download/OTP-21.2.README
-------------------------------------------------------------------
Wed Dec 12 19:11:37 UTC 2018 - matwey.kornilov@gmail.com

- Drop crypto.patch: isn't required anymore
  Reported by Gabriele Santomaggio

-------------------------------------------------------------------
Sun Dec 2 21:09:41 UTC 2018 - Gabriele Santomaggio <g.santomaggio@gmail.com>
- update to 21.1.4:
- Changes for 21.1.4:
 * http://erlang.org/download/OTP-21.1.4.README
 * kernel: Fix bug causing net_kernel process crash on connection
   attempt from node with name identical to local node.
- update to 21.1.3:
- Changes for 21.1.3:
 * http://erlang.org/download/OTP-21.1.3.README
 * erts: Added an optional ./configure flag to compile the
   emulator with spectre mitigation:
   --with-spectre-mitigation
   Note that this requires a recent version of GCC with
   support for spectre mitigation and the
   --mindirect-branch=thunk flag, such as 8.1.
-------------------------------------------------------------------
Wed Nov 25 15:40:59 UTC 2018 - matwey.kornilov@gmail.com

- Pack /etc/init.d/epmd only for systemd-less cases (boo#1116009)

-------------------------------------------------------------------
Fri Nov 17 22:39:41 UTC 2018 - Gabriele Santomaggio <g.santomaggio@gmail.com>
- update to 21.1.2:
- Changes for 21.1.2:
 * http://erlang.org/download/OTP-21.1.2.README
 * compiler: Fixed a bug where incorrect code was generated
   following a binary match guard.
 * erts: Fixed a rare bug where files could be closed on a
   normal instead of an IO scheduler, resulting in system
   instability if the operation blocked.
 * public_key: Add DSA SHA2 oids in public_keys ASN1-spec and
   public_key:pkix_sign_types/1

-------------------------------------------------------------------
Thu Nov  8 17:16:08 UTC 2018 - Markos Chandras <mchandras@suse.de>

- Fix instructions for changing address for epmd.socket service. The
  ListenStream option needs to be completely overriden otherwise the
  socket will be started with multiple ListenStream options and it
  will fail.

-------------------------------------------------------------------
Fri Nov  2 21:24:41 UTC 2018 -  Gabriele Santomaggio <g.santomaggio@gmail.com>

- update to 21.1.1:
- Changes for 21.1.1:
 - http://erlang.org/download/OTP-21.1.1.README
 * erts: Fixed a memory leak on errors when reading files.
 * ssl:  From ssl-9.0.2. CLOSE ALERTS could under some
   circumstances be encoded using an incorrect cipher
   state. This would cause the peer to regard them as
   unknown messages.
 * ssl: Correct handling of socket packet option with new TLS
   sender process, from ssl-9.0.2. When changing the
   socket option {packet, 1|2|3|4} with ssl:setopts/2 the
   option must internally be propagated to the sender
   process as well as the reader process as this
   particular option also affects the data to be sent.
 * eldap: A race condition at close could cause the eldap client
   to exit with a badarg message as cause.
- Changes for 21.1:
 - http://erlang.org/download/OTP-21.1.README
 * ssh: The key exchange methods
   'curve25519-sha256@libssh.org', 'curve25519-sha256' and
   'curve448-sha512' are implemented. The last two are
   defined in
   https://tools.ietf.org/html/draft-ietf-curdle-ssh-curves
   They all depends on that OpenSSL 1.1.1 or higher is
   used as cryptolib.
 * crypto: The typing in the CRYPTO and PUBLIC_KEY applications
   are reworked and a few mistakes are corrected.
   The documentation is now generated from the typing and
   some clarifications are made.
   A new chapter on Algorithm Details such as key sizes
   and availability is added to the CRYPTO User's Guide.
 * erts: The socket options recvtos, recvttl, recvtclass and
   pktoptions have been implemented in the socket modules.
   See the documentation for the gen_tcp, gen_udp and inet
   modules. Note that support for these in the runtime
   system is platform dependent. Especially for pktoptions
   which is very Linux specific and obsoleted by the RFCs
   that defined it.
 * ssh: The cipher 'chacha20-poly1305@openssh.com' is now
   supported if OpenSSL 1.1.1 or higher is used as
   cryptolib.
- Changes for 21.0.9:
 - http://erlang.org/download/OTP-21.0.9.README
 * compiler: Fix a regression in OTP-15204 that removed .beam file
   metadata that some external build tools relied on.
 * erts: As of ERTS version 10.0 (OTP 21.0) the erl_child_setup
   program, which creates port programs, ignores TERM
   signals. This setting was unintentionally inherited by
   port programs. Handling of TERM signals in port
   programs has now been restored to the default behavior.
   That is, terminate the process.
 * erts: The fix made for OTP-15279 in erts-10.07 (OTP-21.0.8)
   was not complete. It could cause a new connection
   attempt to be incorrectly aborted in certain cases.
   This fix will amend that flaw.    
- Changes for 21.0.8:
 - http://erlang.org/download/OTP-21.0.8.
 * erts: A process could get stuck in an infinite rescheduling
   loop between normal and dirty schedulers. This bug was
   introduced in ERTS version 10.0.
 * erts: Garbage collection of a distribution entry could cause
   an emulator crash if net_kernel had not brought
   previous connection attempts on it down properly.
 * kernel: Fixed bug in net_kernel that could cause an emulator
   crash if certain connection attempts failed. Bug exists
   since kernel-6.0 (OTP-21.0).
- Changes for 21.0.7:
 - http://erlang.org/download/OTP-21.0.7.
 * erts: A race between termination of a process and resume of
   the same process via erlang:resume_process/1 could
   cause the VM to crash. This bug was introduced in erts
   version 10.0 (OTP 21.0).
 * erts: When tracing on running, in trace events could be lost
   when a process was rescheduled between a dirty and a
   normal scheduler.
- Changes for 21.0.6:
 - http://erlang.org/download/OTP-21.0.6.README
 * crypto: Update the crypto engine functions to handle multiple
   loads of an engine.
 * inets: Change status code for no mod found to handle request
   to 501
 * 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 21.0.5:
 - http://erlang.org/download/OTP-21.0.5.README
 * POTENTIAL INCOMPATIBILITIES 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.
 * 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.
- Changes for 21.0.4:
 - http://erlang.org/download/OTP-21.0.4.README
 * erts: Fixed a crash when matching directly against a literal
   map using a single key that had been saved on the
   stack.
 * erts: Fix node crash when passing a bad time option to
   file:read_file_info/2.
- Changes for 21.0.3:
 - http://erlang.org/download/OTP-21.0.3.README
 * otp: Build support for the erlang/corba repository.
 * erts: Fixed a scheduler bug that caused normal schedulers to
   run dirty code.
 * erts: Fixed a bug in erlang:trace_info/2 which caused the
   emulator to crash when a bad argument was passed. The
   bug was introduced in ERTS version 10.0.
- Changes for 21.0.2:
 - http://erlang.org/download/OTP-21.0.2.README
 * compiler: In rare cases involving matching of binary literal
   strings, the compiler could optimize away code that
   should be executed.
 * compiler:There could be an internal consistency check failure
   when compiling code that called map_get(Key, Map) and
   then updated the same map.
 * compiler: In rare circumstances, the compiler could crash in
   beam_jump when compiling a floating point operation.
 * erts: Fixed a rare bug that could cause processes to be
   scheduled after they had been freed
 * erts: Fixed a race condition in the inet driver that could
   cause receive to hang when the emulator was compiled
   with gcc 8.
 * public_key: Fix some of the keylengths in the newly generated moduli
   file in public_key are not universally supported. This
   could cause the SSH key exchange
   diffie-hellman-group-exchange-sha* to fail.
   Those keylengths are now removed.
 * stdlib: Fix a bug that could cause a crash when formatting a
   list of non-characters using the control sequences p or
   P and limiting the output with the option chars_limit.
- Changes for 21.0.1:
 - http://erlang.org/download/OTP-21.0.1.
 * compiler:The compiler could crash when compiling a
   complicated function that used the binary syntax.
- Changes for 21.0:
 - http://erlang.org/download/otp_src_21.0.readme
 * Erlang/OTP 21 is a new major release with new features, improvements as well as incompatibilities.
 * Potential Incompatibilities:
   - All Corba applications are now moved from the OTP repository
   - A new Corba repository will be created https://github.com/erlang
   - New applications ftp and tftp, moved from inets
   - ssl no longer supports 3_DES cipher suites or RSA-key exchange cipher suites by default
   - Erlang:monitor on a primitive node (erl_interface, jinterface, etc) will no longer fail with badarg exception. 
     Instead a monitor will be created, but it will only supervise the connection to the node.
 * Highlights:
 * Erts:
   - Enhanced IO scalability
   - Support for usage of distribution controller processes for alternative transports, routing etc
   - compact instructions on 64bit systems for code below 4GB 20% less memory for loaded code
   - Rewrite of the efile-driver with NIFs and "Dirty schedulers" resulting in faster file operations
     non-smp VM removed
   - link and monitor optimized for scalability
-------------------------------------------------------------------
Sun Sep 30 07:20:57 UTC 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 11:27:27 UTC 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 18:57:58 UTC 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.

-------------------------------------------------------------------
Sat Apr 14 10:51:00 UTC 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  1 09:08:16 UTC 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 07:46:03 UTC 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 13:49:29 UTC 2017 - rbrown@suse.com

- Replace references to /var/adm/fillup-templates with new 
  %_fillupdir macro (boo#1069468)

-------------------------------------------------------------------
Thu Oct 19 10:40:11 UTC 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 20:36:14 UTC 2017 - matwey.kornilov@gmail.com

- Only Java 1.6 is supported by Erlang since 18.0 release

-------------------------------------------------------------------
Thu Sep 14 20:05:23 UTC 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 14:19:49 UTC 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 06:28:17 UTC 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 17:02:58 UTC 2017 - matwey.kornilov@gmail.com

- erlang-gs application has been depricated

-------------------------------------------------------------------
Mon Jul 17 14:24:49 UTC 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  6 11:26:42 UTC 2017 - meissner@suse.com

- Disable global PIE for erlang, code is currently not fully
  ready.

-------------------------------------------------------------------
Sun Apr 30 08:51:11 UTC 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  6 13:14:49 UTC 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  6 13:14:49 UTC 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 08:10:13 UTC 2017 - matwey.kornilov@gmail.com

- Add missed scripts requires for erlang-epmd package

-------------------------------------------------------------------
Thu Feb  2 15:40:10 UTC 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 09:38:50 UTC 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 09:27:58 UTC 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 18:20:31 UTC 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. 

-------------------------------------------------------------------
Sun Jun 26 09:01:32 UTC 2016 - matwey.kornilov@gmail.com

- Update to 19.0:
  * compiler, stdlib: New preprocessor macros *?FUNCTION_NAME,
    ?FUNCTION_ARITY*. New preprocessor directives -error(Term) and
    -warning(Term) to cause a compilation error or warning,
    respectively.
  * gen_statem: a new state machine behavior
  * mnesia_ext: plugin of external storage solutions to mnesia
  * crypto: uses EVP interface in OpenSSL resulting in generally
    better performance and support for HW acceleration
  * ssh: performance improvements, uses the new gen_statem behavior
  * ssl: enhanced error log messages
  * dialyzer: the support for maps is very much extended both
    the type  specification syntax and the type analysis.
  * erts: erlang:open_port(spawn, ...) 3-5 times faster
  * erts/kernel: Experimental support for Unix Domain Sockets
  * ose: Deprecated application has been removed
  * webtool: Deprecated application has been removed
  * test_server: Deprecated application has been removed, use
    common_test instead

-------------------------------------------------------------------
Mon Jun 20 21:35:57 UTC 2016 - jengelh@inai.de

- Do not suppress errors from useradd/groupadd
- Orthographic/typographical fixes

-------------------------------------------------------------------
Fri Jun 17 07:19:17 UTC 2016 - matwey.kornilov@gmail.com

- Update to 18.3.4:
  * inets: Handle multiple \t in mime types file
  * ssl: Correct ssl:prf/5 to use the negotiated cipher suite's prf
    function in ssl:prf/5 instead of the default prf.
  * ssl: Timeouts may have the value 0, guards have been corrected
    to allow this
  * ssl: Change of internal handling of hash sign pairs as the used
    one enforced to much restrictions making some valid
    combinations unavailable.
  * ssl: Create a little randomness in sending of session
    invalidation messages, to mitigate load when whole table is
    invalidated.

-------------------------------------------------------------------
Sun May 22 09:13:09 UTC 2016 - matwey.kornilov@gmail.com

- Return diameter application: as for 18.3.3 it is distributed
  under APL license

-------------------------------------------------------------------
Sun May 22 08:58:48 UTC 2016 - matwey.kornilov@gmail.com

- Update to 18.3.3:
  * common_test: The nodelay option used to be enabled (true) by
		 default for sockets opened by the Common Test
                 telnet client. 
  * common_test: Fix bug in cth_surefire
  * common_test: The ct:get_timetrap_info/0 function has been
		 updated to return more information about timetrap
                 scaling. 
  * common_test: A problem with stylesheet HTML tags getting
		 incorrectly escaped by Common Test has been
                 corrected.
  * common_test: The ct_run start flag -no_esc_chars and
		 ct:run_test/1 start option {esc_chars,Bool} have
                 been introduced.
  * inets: Put back unused module inets_regexp
  * ssl: Correct cipher suites conversion and gaurd expression.

-------------------------------------------------------------------
Tue May  3 16:53:07 UTC 2016 - matwey.kornilov@gmail.com

- Update to 18.3.2:
  * inets: Add environment information item peer_cert to mod_esi
  * ssl: Corrections to cipher suite handling using
         the 3 and 4 tuple format
  * ssl: Make values for the TLS-1.2 signature_algorithms
         extension configurable

-------------------------------------------------------------------
Thu Mar 17 09:07:18 UTC 2016 - kruber@zib.de

- Update to 18.3:
  * New statistics info about runnable and active processes &
    ports. Call erlang:statistics with:
    total_run_queue_lengths | run_queue_lengths | total_active_tasks
    | active_tasks.
  * Time warp improvements: dbg:p/2 and erlang:trace/3 with
    monotonic_timestamp |strict_monotonic_timestamp.
  * Introduced a validation callback for heart.
  * The module overload in sasl has been deprecated.
  * several bug fixes

-------------------------------------------------------------------
Sat Jan 30 14:49:55 UTC 2016 - matwey.kornilov@gmail.com

- Update to 18.2.3:
    * inets: mod_alias now traverses all aliases picking
      the longest match and not the first match.

-------------------------------------------------------------------
Tue Jan 12 14:08:41 UTC 2016 - matwey.kornilov@gmail.com

- Update to 18.2.2:
    * ssh: The authentication method 'keyboard-interactive' failed
      in the Erlang client when the server after successful
      authentication continued by asking for zero more
      passwords. 

-------------------------------------------------------------------
Mon Dec 28 08:50:34 UTC 2015 - matwey.kornilov@gmail.com

- Update to 18.2.1:
    * Due to a bug in the handling of paths on windows
      none of the following would work with paths
      containing a space: ct_run dialyzer erlc escript typer
      This also contains a fix for HiPE enabled emulator for
      FreeBSD.
- Update to 18.2:
    * ssl: Add configurable upper limit for session
      cache.  erts: Add function enif_getenv to read OS
      environment variables in a portable way from NIFs.
    * kernel: Add {line_delim, byte()} option to
      inet:setopts/2 and  decode_packet/3
    * ssh: The 'ecdsa-sha2-nistp256',
      'ecdsa-sha2-nistp384' and 'ecdsa-sha2-nistp521'
      signature algorithms for ssh are implemented. See RFC5656.
    * ssh: The ssh:daemon option dh_gex_groups is
      extended to read a user provided ssh moduli file
      with generator-modulus pairs. The file is in openssh
      format.

-------------------------------------------------------------------
Thu Dec 17 17:37:16 CET 2015 - ro@suse.de

- disable hipe on s390/s390x to fix build 

-------------------------------------------------------------------
Thu Oct 29 13:41:47 UTC 2015 - matwey.kornilov@gmail.com

- Update to 18.1.3:
    * ssl: Add possibility to downgrade an SSL/TLS connection to a
      tcp connection, and give back the socket control to a user
      process.
    * ssh: The following new key exchange algorithms are
      implemented:'ecdh-sha2-nistp256', 'ecdh-sha2-nistp384',
      'ecdh-sha2-nistp521','diffie-hellman-group14-sha1',
      'diffie-hellman-group-exchange-sha1' and
      'diffie-hellman-group-exchange-sha256'. This raises the
      security level considerably.
    * kernel,stdlib,sasl: A mechanism for limiting the amount of
      text that the built-in error logger events will produce has
      been introduced. It is useful for limiting both the size of
      log files and the CPU time used to produce them. This
      mechanism is experimental in the sense that it may be changed
      based on feedback. See config parameter
      error_logger_format_depth in the Kernel application.
- Removed erts_fix_unlock_status_lock.patch: fixed in upstream

-------------------------------------------------------------------
Tue Sep 29 17:17:53 UTC 2015 - matwey.kornilov@gmail.com

- Rework wxWidgets BuildRequire: fix build for Leap 42.1

-------------------------------------------------------------------
Wed Aug 26 17:23:03 UTC 2015 - kruber@zib.de

- update to 18.0.3:
  * erts: Fixed a binary memory leak when printing to shell using
          the tty driver (i.e. not -oldshell).
  * erts: Fix a bug where the standard error port sometimes
          crashes with eagain as the reason.

-------------------------------------------------------------------
Thu Aug 13 14:11:34 UTC 2015 - kruber@zib.de

- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts

-------------------------------------------------------------------
Fri Jul 24 15:38:54 UTC 2015 - seife+obs@b1-systems.com

- fix RHEL/CentOS 7 build

-------------------------------------------------------------------
Thu Jul  9 07:44:58 UTC 2015 - kruber@zib.de

- update to 18.0.2:
  * Fix processes ending up in an inconsistent half exited state
    in the runtime system without SMP support
  * Remove unnecessary copying of data when retrieving corrected
    Erlang monotonic time.
  * POTENTIAL INCOMPATIBILITY:
    Change default OS monotonic clock source chosen at build time.
    This in order to improve performance. The behavior will now on
    most systems be that (both OS and Erlang) monotonic time stops
    when the system is suspended. (changeable via the
    --enable-prefer-elapsed-monotonic-time-during-suspend
    configure parameter)
  * Fix erlang:system_info(end_time) returning a faulty value on
    32-bit architectures.
  * Fix the trace_file_drv not handling EINTR correctly which
    caused it to fail when the runtime system received a signal.

-------------------------------------------------------------------
Tue Jun 30 15:34:14 UTC 2015 - kruber@zib.de

- update to 18.0.1:
  * Fix a rare hanging of the VM seen to happen just after
    emulator start. Bug exists since R14.

-------------------------------------------------------------------
Fri Jun 26 11:59:59 UTC 2015 - kruber@zib.de

- update to 18.0:
  * new license: APL 2.0 (Apache Public License)
  * erts: The time functionality has been extended. This includes
          a new API for time, as well as "time warp" modes which
          alters the behavior when system time changes. You are
          strongly encouraged to use the new API instead of the
          old API based on erlang:now/0. erlang:now/0 has been
          deprecated since it is a scalability bottleneck. See
          http://www.erlang.org/doc/apps/erts/time_correction.html
  * erts: Beside the API changes and time warp modes a lot of
          scalability and performance improvements regarding time
          management has been made. Examples are:
          + scheduler specific timer wheels,
          + scheduler specific BIF timer management,
          + parallel retrieval of monotonic time and system time
            on OS:es that support it.
  * erts: The previously introduced "eager check I/O" feature is
          now enabled by default.
  * erts/compiler: enhanced support for maps. Big maps new uses a
          HAMT (Hash Array Mapped Trie) representation internally
          which makes them more efficient. There is now also
          support for variables as map keys.
  * dialyzer: The -dialyzer() attribute can be used for suppressing
          warnings in a module by specifying functions or warning
          options. It can also be used for requesting warnings in
          a module.
  * ssl:  Remove default support for SSL-3.0 and added padding check
          for TLS-1.0 due to the Poodle vulnerability.
  * ssl:  Remove default support for RC4 cipher suites, as they are
          consider too weak.
  * stdlib: Allow maps for supervisor flags and child specs
  * stdlib: New functions in ets:
          + take/2: Works the same as ets:delete/2 but also returns
            the deleted object(s).
          + update_counter/4 with a default object as argument

-------------------------------------------------------------------
Thu Jun 25 08:41:52 UTC 2015 - dmueller@suse.com

- update to 17.5.6:
  * Fix broken relay counters
  * Fix diameter_sctp listener race
- fix build for SLE_12

-------------------------------------------------------------------
Thu May 28 13:08:20 UTC 2015 - matwey.kornilov@gmail.com

- Update to 17.5.4

-------------------------------------------------------------------
Mon May  4 10:01:30 UTC 2015 - dmueller@suse.com

- fix systemd service files for epmd:
  * fix stop of epmd (epmd -kill is deprecated and ignored, so stop hangs)

-------------------------------------------------------------------
Tue Apr  7 12:18:26 UTC 2015 - kruber@zib.de

- Update to 17.5:
  * ERTS: Added command line argument option for setting the
          initial size of process dictionaries.
  * Diameter: configurable incoming_max len and string_decode for
              diameter messages
  * Bugfixes and minor small features in applications such as
    compiler, common_test, crypto, debugger, eldap, erts, hipe,
    inets, ssh, ssl, ...
- remoce ct-fix_incl-dirs.patch (included upstream)

-------------------------------------------------------------------
Mon Feb 23 09:27:18 UTC 2015 - kruber@zib.de

- add ct-fix_incl-dirs.patch (upstream patch for common test)

-------------------------------------------------------------------
Sat Dec 13 12:12:16 UTC 2014 - matwey.kornilov@gmail.com

- Version 17.4:
  * eldap: Nearly all TCP options are possible to give in the eldap:open/2 call.
  * ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate a pseudo tty.
  * ssl: Handle servers that may send an empty SNI extension to the client.

-------------------------------------------------------------------
Sun Nov  9 08:20:52 UTC 2014 - matwey.kornilov@gmail.com

- use wxWidgets 3.0

-------------------------------------------------------------------
Sun Nov 09 03:36:00 UTC 2014 - Led <ledest@gmail.com>

- fix bashisms in pre script

-------------------------------------------------------------------
Wed Sep 17 12:18:17 UTC 2014 - matwey.kornilov@gmail.com

- Update to 17.3:
  * erts: Introduced enif_schedule_nif() which allows a long
          running NIF to be broken into separate NIF invocations
          without the help of a wrapper function written in Erlang
  * common_test: Experimental support for running Quickcheck and
                 PropEr tests from common_test suites is added.
                 Examples of usage in the suites for the ssh and
                 inets applications
  * Bugfixes and minor new features in applications such as asn1,
    erts, kernel, stdlib, diameter, ssh, mnesia, ssl, jinterface

-------------------------------------------------------------------
Tue Aug 26 11:34:10 UTC 2014 - matwey.kornilov@gmail.com

- Enable Erlang-specific parts of rpmlint for openSUSE 13.2

-------------------------------------------------------------------
Fri Jun 27 17:56:13 UTC 2014 - matwey.kornilov@gmail.com

- Starting from 17.1 explicit --enable-systemd required
- To remake configure is not required anymore (patches had been dropped)

-------------------------------------------------------------------
Fri Jun 27 12:26:47 UTC 2014 - kruber@zib.de

- Update to 17.0:
  * crypto: Add aes_cfb8 cypher to crypto:block_encrypt and
            block_decrypt.
  * diameter: Add result code counters for CEA, DWA, and DPA.
  * erts: The following built in functions in the erlang and
          binary modules now bump an appropriate amount
          of reductions and yield when out of reductions:
          binary_to_list/1, binary_to_list/3, bitstring_to_list/1,
          list_to_binary/1, iolist_to_binary/1,
          list_to_bitstring/1, binary:list_to_bin/1
  * hipe: Handle Maps instructions get_map_elements, put_map_assoc,
          put_map_exact in the HiPE native code compiler.
  * mnesia: The time for inserting locks for a transaction with
            large number of locks is reduced significantly.
  * ssh: Option max_sessions added to ssh:daemon/{2,3}.
  * stdlib: Add maps:get/3 to maps module. The function will
            return the supplied default value if the key does not
            exist in the map.
- Drop erlang-ppc.patch: has been upstreamed
- Drop fix-armv7hl.patch: has been upstreamed

-------------------------------------------------------------------
Wed Apr  9 16:08:16 UTC 2014 - matwey.kornilov@gmail.com

- Update to 17.0:
  * Maps, a new dictionary data type (experimental)
  * ASN.1 improvements and optimizations
  * The {active, N} socket option for TCP, UDP, and SCTP
  * A new (optional) scheduler utilization balancing mechanism
  * Migration of memory carriers has been enabled by default on
    all ERTS internal memory allocators
  * Increased garbage collection tenure rate
  * Experimental "dirty schedulers" functionality
  * Funs can now be given names
  * Miscellaneous unicode support enhancements
  * A new version scheme for OTP its applications has been introduced
- Drop 0001-Add-systemd-option-to-empd.-Check-for-include-system.patch: has been upstreamed
- Drop 0002-Add-systemd-support-to-epmd.patch: has been upstreamed

-------------------------------------------------------------------
Thu Mar 27 18:09:29 UTC 2014 - matwey.kornilov@gmail.com

- Invoking ./Install is not required.

-------------------------------------------------------------------
Thu Mar 27 17:17:49 UTC 2014 - matwey.kornilov@gmail.com

- Split EPMd to separate package in order to make it possible to
  use alternative implementations of EPMd.

-------------------------------------------------------------------
Sun Mar 23 07:51:54 UTC 2014 - matwey.kornilov@gmail.com

- Add README.SUSE, modify epmd.socket: fix bnc#869112

-------------------------------------------------------------------
Sun Mar 23 06:46:23 UTC 2014 - matwey.kornilov@gmail.com

- Add erlang-observer package (observer depends on wx)

-------------------------------------------------------------------
Thu Feb 20 07:35:16 UTC 2014 - matwey.kornilov@gmail.com

- Use %service_add_pre macro

-------------------------------------------------------------------
Wed Feb 19 07:23:07 UTC 2014 - matwey.kornilov@gmail.com

- Fix names of epmd.service and epmd.socket files

-------------------------------------------------------------------
Thu Feb  6 12:12:26 UTC 2014 - matwey.kornilov@gmail.com

- Add User and Group to epmd.service

-------------------------------------------------------------------
Sat Dec 21 11:05:07 UTC 2013 - matwey.kornilov@gmail.com

- Add crypto.patch: fix compilation with openssl having EC disabled

-------------------------------------------------------------------
Fri Dec 20 19:51:06 UTC 2013 - matwey.kornilov@gmail.com

- Fixing systemd.
- Warning: variables in /etc/sysconfig/erlang must be set and filled.

-------------------------------------------------------------------
Fri Dec 20 14:51:25 UTC 2013 - kruber@zib.de

- update to R16B03 release:
  + A new memory allocation feature called "super carrier" has
    been introduced. It can for example be used for pre-allocation
    of all memory that the runtime system should be able to use.
    It is enabled by passing the +MMscs (size in MB) command line
    argument. For more information see the documentation of the
    +MMsco, +MMscrfsd, +MMscrpm, +MMscs, +MMusac, and, +Mlpm
    command line arguments in the erts_alloc(3) documentation.
  + The ldap client eldap now supports the start_tls operation.
    This upgrades an existing tcp connection to encryption using
    tls, see eldap:start_tls/2 and /3.
  + The ftp client (inets application) now supports ftp over tls
    (ftps).
- adapt patch erlang-not-install-misc.patch

-------------------------------------------------------------------
Sun Oct 27 17:07:46 UTC 2013 - p.drouand@gmail.com

- Add systemd support for openSUSE >= 12.3

-------------------------------------------------------------------
Thu Sep 19 06:13:18 UTC 2013 - matwey.kornilov@gmail.com

- update to R16B02 release:
  + Lots of bug-fixes
  + A new test scope
  + Added application:ensure_all_started/1-2
  + New erl option +SP to set schedulers by percentages.

-------------------------------------------------------------------
Fri Jun 21 20:11:27 UTC 2013 - kruber@zib.de

- update to R16B01 release:
  + Migration of memory carriers between allocator instances, when
    enabled it will result in reduced memory footprint when the
    memory load is unevenly distributed between scheduler specific
    allocator instances.
  + Interruptible term_to_binary, (thanks to Erik Stenman)
  + Added the +sfwi <interval> Scheduler Forced Wakeup Interval
  + All crypto functions except the block chipers will now chunk
    large input into several calls to avoid blocking the scheduler
    for too long.
  + Elliptic curve support in crypto, ssl and ssh
    (thanks to Andreas Schultz)  
  + Lift static limitation (FD_SETSIZE) for file descriptors on
    Mac OS X. (thanks to Anthony Ramine)
  + Removed a lock around GC statistics counter
  + Many small improvements and in Diameter
  + 60 user contributions
- adapted fix-armv7hl.patch

-------------------------------------------------------------------
Sat Jun 15 18:10:56 UTC 2013 - matwey.kornilov@gmail.com

- dialyzer requires graphviz (see dialyzer_callgraph:to_ps/3)

-------------------------------------------------------------------
Sat Jun 15 17:28:03 UTC 2013 - matwey.kornilov@gmail.com

- move dialyzer binaries into separate package

-------------------------------------------------------------------
Thu May 23 11:11:31 UTC 2013 - mrueckert@suse.de

- added rcepmd symlinks for the init script

-------------------------------------------------------------------
Thu Apr  4 08:23:56 UTC 2013 - speilicke@suse.com

- Drop rebar-specific RPM macros, these belong into erlang-rebar
  (seperate package)

-------------------------------------------------------------------
Sun Mar 31 07:28:23 UTC 2013 - schwab@suse.de

- Fix ppc and arm patches so that they don't conflict

-------------------------------------------------------------------
Fri Mar  8 12:21:26 UTC 2013 - matwey.kornilov@gmail.com

- Fix erlang-src orphaned directories.
  erlang-src has been split according to erlang package.

-------------------------------------------------------------------
Fri Mar  8 09:01:19 UTC 2013 - matwey.kornilov@gmail.com

- Add erlang-no-install-misc.patch:
  initial Fedora name was too long for us:
otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
  this patch is
  * to remove generating of erlang/man/cat? directories (which were not even market as %ghost) at %post.
    The man-files is gz-pped (by SUSE) and because of that, script misc/format_man_pages has been failing its job for a long time;
  * to remove unused scripts from misc.

-------------------------------------------------------------------
Wed Feb 27 14:52:47 UTC 2013 - kruber@zib.de

- update to R16B release:
  + Optimized handling of processes in the VM
    * New internal process table allowing for parallel reads and
      writes
    * optimized run queue management
    * optimized process state changes
  + "Non-blocking" code loading
  + New internal port table, and rewrite of scheduling of port
    tasks.
  + Dynamic allocation of port structures, allowing the default
    for maximum ports to be raised to 65536 (from 1024)
  + Support for UTF-8 encoded Unicode characters in source files.
  + Inets application: The http client now support HTTPS through a
    proxy
  + Asn1 application: Major cleanup of back ends and optimizations
    of mainly decode for PER and UPER.
  + The experimental features parameterized modules and packages
    are removed. An alternative compatible solution for
    parameterized modules is provided here
    https://github.com/erlang/pmod_transform.
  + All built in functions BIF's (even if they are implemented in
    C as part of the VM) are now visible in the source code of the
    module they belong to, including their type specs.
  + The Wx application now compiles and is usable with the
    unstable development branch of wxWidgets-2.9.
    This means that wx can now be built on 64 bit MacOsX as well.
- update otp-R15B02-rpath.patch to otp-R16B-rpath.patch

-------------------------------------------------------------------
Thu Feb  7 18:07:06 UTC 2013 - matwey.kornilov@gmail.com

- Add macros.erlang with some RPM macros for erlang packaging

-------------------------------------------------------------------
Mon Feb  4 10:54:07 UTC 2013 - kruber@zib.de

- update to R15B03-1 release:
  + integrated fix for a bug in ssl that affected accept calls
    with timeouts
  + ERL_CRASH_DUMP_SECONDS only needs to be set when using heart,
    all other invocations of the Erlang VM will crashdump on fatal
    errors as they did in R15B02
  + systems using heart still have to define a maximum time for
    crashdumps using the ERL_CRASH_DUMP_SECONDS environment
    variable
- dropped otp-R15B03-fix_ssl_accept_timeout.patch
  (fixed in release)

-------------------------------------------------------------------
Mon Jan  7 12:40:48 UTC 2013 - matwey.kornilov@gmail.com

- Add fix-armv7hl.patch - temporary fix build at armv7hl 

-------------------------------------------------------------------
Sat Jan  5 19:39:43 UTC 2013 - matwey.kornilov@gmail.com

- add make clean before build. it clears .beam files bundled with
  sources. our aim is to build everything from sources.

-------------------------------------------------------------------
Mon Dec  3 23:31:33 UTC 2012 - mrueckert@suse.de

- fixed typo in epmd init script:
  echo -e needed to get the "\n" printed properly.

-------------------------------------------------------------------
Mon Dec  3 18:07:40 UTC 2012 - kruber@zib.de

- update to R15B03 release:
  + mainly bug fixes
  + ERL_CRASH_DUMP_SECONDS must be set in order to get any Erlang
    crash dump (potential incompatibility introduced to fix the
    use of "-heart" in combination with the Erlang crash dump
  + details: http://www.erlang.org/download/otp_src_R15B03.readme

-------------------------------------------------------------------
Mon Nov 19 18:41:15 UTC 2012 - dimstar@opensuse.org

- Fix useradd invocation: -o is useless without -u and newer
  versions of pwdutils/shadowutils fail on this now.

-------------------------------------------------------------------
Sat Nov 17 13:36:31 UTC 2012 - matwey.kornilov@gmail.com

- fixed 'executable-docs' lint error

-------------------------------------------------------------------
Fri Nov 16 22:51:00 MSK 2012 - matwey.kornilov@gmail.com

- directory /usr/share/man/man1 is handled by filesystem package,
  we don't have to package it twice

-------------------------------------------------------------------
Fri Nov  9 11:54:55 UTC 2012 - saschpe@suse.de

- Symlink man-pages for binaries (1) into %_mandir (bnc#788027)

-------------------------------------------------------------------
Tue Nov  6 14:00:09 UTC 2012 - saschpe@suse.de

- Use SPDX-style license (ErlPL-1.1)
- Merge changes from devel:languages:misc/erlang, which is still the 
  devel project for Factory.

-------------------------------------------------------------------
Wed Oct 31 14:55:39 UTC 2012 - saschpe@suse.de

- Set same permissions for the following files (bnc#784670):
  /usr/lib64/erlang/bin/start_erl
  /usr/lib64/erlang/erts-5.8.5/bin/start_erl.src

-------------------------------------------------------------------
Mon Oct  8 09:40:46 UTC 2012 - saschpe@suse.de

- Avoid shipping libraries with licensing issues (see bnc#728667)
  + Neither ship 'diameter' source or binary and remove the corresponding
    but useless man pages
  + The xmerl binary (library) is safe to ship, but not it's sources
    (fixes bnc#776060)

-------------------------------------------------------------------
Thu Sep 27 01:16:22 UTC 2012 - mrueckert@suse.de

- epmd should not run under the service that needs it first:
  - add init script to launch epmd under the newly added epmd
    user/group.
  - added /etc/sysconfig/erlang to configure the port and the
    listening IP

-------------------------------------------------------------------
Mon Sep 10 09:26:31 UTC 2012 - kruber@zib.de

- require generic java-devel package for all distros (>= 1.5.0)
- fixed javac define for openjdk7
- enabled parallel build again

-------------------------------------------------------------------
Thu Sep  6 09:00:14 UTC 2012 - kruber@zib.de

- update to R15B02 release:
 + Highlights:
  * Dialyzer: The type analysis tool Dialyzer is optimized to be
    generally faster. - It can now also run in parallel (default)
    on SMP systems and by this perform the analysis significantly
    faster (Thanks to Stavros Aronis and Kostis Sagonas)
  * The SSL application now has experimental support for the
    TLS 1.1 and 1.2 standards as well (Thanks to Andreas Schultz).
  * CommonTest: It is now possible to sort the generated html
    tables. A Netconf client (ct_netconf) which support basic
    netconf over ssh is added
  * Diameter: Statistics counters related to Diameter messages can
    now be retrieved by calling the diameter:service_info/2 function.
  * Various smaller optimizations in the Erlang VM
  * This release also contains 66 contributions from users outside
    the Ericsson team

-------------------------------------------------------------------
Wed Jul 25 14:05:47 UTC 2012 - dvaleev@suse.com

- Add erlang-ppc.patch: Fix PPC architecture detection 

-------------------------------------------------------------------
Tue Jun 26 13:46:36 UTC 2012 - mvyskocil@suse.cz

- Simply use java-devel >= 1.6.0 as it expands to correct jdk on every
  distribution

-------------------------------------------------------------------
Mon Apr 16 16:15:13 UTC 2012 - kruber@zib.de

- updated to R15B01 release:
 + Highlights from R15B01:
  * Added erlang:statistics(scheduler_wall_time) to ensure correct
    determination of scheduler utilization. Measuring scheduler
    utilization is strongly preferred over CPU utilization, since
    CPU utilization gives very poor indications of actual
    scheduler/vm usage.
  * Changed ssh implementation to use the public_key application
    for all public key handling. This is also a first step for
    enabling a callback API for supplying public keys and handling
    keys protected with password phrases. Additionally the test
    suites where improved so that they do not copy the users keys
    to test server directories as this is a security liability.
    Also ipv6 and file access issues found in the process has been
    fixed.
  * When an escript ends now all printout to standard output and
    standard error gets out on the terminal. This bug has been
    corrected by changing the behaviour of erlang:halt/0,1, which
    should fix the same problem for other escript-like applications,
    i.e. that data stored in the output port driver buffers got
    lost when printing on a TTY and exiting through erlang:halt/0,1.
    The BIF:s erlang:halt/0,1 has gotten improved semantics and
    there is a new BIF erlang:halt/2 to accomplish something like
    the old semantics. See the documentation.
  * The DTrace source patch from Scott Lystig Fritchie is
    integrated in the source tree. Using an emulator with dtrace
    probe is still not supported for production use, but may be a
    valuable debugging tool. Configure with
    --with-dynamic-trace=dtrace (or --with-dynamic-trace=systemtap)
    to create a build with dtrace probes enabled. See runtime_tools
    for documentation and examples
  * Added Torbjörn Törnkvists LDAP client as a new application
    called eldap.
  * Added options for the ssh client to support user keys files
    that are password protected.

-------------------------------------------------------------------
Thu Dec 14 22:07:03 UTC 2011 - alex@simonov.me

- updated to R15B release

-------------------------------------------------------------------
Thu Nov 10 12:28:20 UTC 2011 - saschpe@suse.de

- Drop files with propriatery license (diameter and xmerl) (bnc#728667)

-------------------------------------------------------------------
Mon Oct 10 20:20:58 UTC 2011 - kruber@zib.de

- updated to R14B04 release
  + mainly a stabilization of the R14B03 release
    (but as usual there is some new functionality as well)

-------------------------------------------------------------------
Thu Sep 29 23:47:56 UTC 2011 - saschpe@suse.de

- BuildRequire java-1_6_0-openjdk-devel on 12.1 or newer,
  java-1_6_0-sun was dropped
- Added a spec file license header (needed for Factory)
- No need to require %{version}-%{release}, %{version} is enough
- Remove outdated sections (%clean), use %make_install macro
- Don't package INSTALL file

-------------------------------------------------------------------
Wed May 25 23:45:33 UTC 2011 - kruber@zib.de

- updated to R14B03 release
 + Highlights from R14B03:
  * Diameter is a brand new application in this release.
    The application support the diameter protocol specified in
    RFC 3588 and is intended to provide an Authentication,
    Authorization and Accounting (AAA) framework for applications.
  * The documentation for stdlib and kernel now uses type
    specifications from the source modules which should guarantee
    that the documentation and code are consistent with regard to
    the type information.
 + Higlights from R14B02:
  * OTP-8525 It is now possible to use Erlang specifications and
             types in EDoc documentation.
  * OTP-8768 All tests in Erlang/OTP have been converted to be run
             with Common Test as the backend instead of Test Server
  * OTP-8941 The previously experimental halfword emulator is now
             official (it is not supported by HiPE though).
  * OTP-9065 Dependency generation for Makefiles has been added
             to the erts compiler and erlc
 + Higlights from R14B01:
  * OTP-8922 new ETS option compressed
  * OTP-8926 new function inet:getifaddrs/0 modeled after C library
             function getifaddrs() on BSD and Linux
             (replaces inet:getiflist/0 and inet:ifget/2)

-------------------------------------------------------------------
Mon Feb 14 10:52:49 UTC 2011 - mrueckert@suse.de

- fix operator in some recommends

-------------------------------------------------------------------
Mon Sep 27 12:26:56 UTC 2010 - kruber@zib.de

- updated to R14B release
 + Higlights:
  * OTP-8544: re-writted large parts of the ethread library
  * OTP-8763: auto-imported the following BIFs:
    monitor/2, monitor/3, demonitor/2, demonitor/3, error/1,
    error/2, integer_to_list/2, list_to_integer/2

-------------------------------------------------------------------
Fri Jun  4 10:10:52 UTC 2010 - kruber@zib.de

- fixed parsing of the TOOLS_VERSION (fixes wrong erlang.el file
  for emacs)
- also made sure that this could not happen with the other version
  extractions

-------------------------------------------------------------------
Mon May  3 12:35:11 UTC 2010 - kruber@zib.de

- instead of removing all sources, create a sub-package with them
- include java_src and c_src as well
- fixed tv being packaged twice

-------------------------------------------------------------------
Mon May  3 08:06:35 UTC 2010 - kruber@zib.de

- added a fix from Arch Linux for their bug 17001 (wx not working)
- install common_test helper script per default

-------------------------------------------------------------------
Tue Mar 23 08:30:46 UTC 2010 - aj@suse.de

- Split up packages so that tcl/tk and wxGTK requirements are in sub
  packages.
- Do not package erlang sources.
- Link against shared zlib.

-------------------------------------------------------------------
Mon Mar  1 2010 kruber@zib.de

- fixed emacs support

-------------------------------------------------------------------
Thu Feb 25 2010 kruber@zib.de

- update to R13B04, highlights:
 * documentation can now be built from the source
 * enhanced Native Implemented Functions (NIFs) (but still beta)
 * enhanced garbage collection of binaries
 * support for user defined prompt in the shell
 * enhanced cross compilation support
- clean repo from old versions
- added emacs erlang support
- reduced package size (hardlink duplicates)

-------------------------------------------------------------------
Thu Nov 26 2009 kruber@zib.de

- update to R13B03, highlights:
 * Native Implemented Functions (NIFs) still experimental but very useful.
 * The documentation is built in a new way using xsltproc and Apache FOP.
   The layout is changed both in HTML and PDF versions. This is the first step,
   more changes and improvements will come in the following releases. 

-------------------------------------------------------------------
Mon Oct 12 2009 nico.laus.2001@gmx.de

- update to R13B02, highlights:
 * Dialyzer can now refer to types defined in another module, using the syntax
   Module:Type().
 * There is a new function file:read_line/1 to facilitate reading entire lines
   in raw mode.
 * There is new section in the Efficiency Guide about drivers.
-------------------------------------------------------------------
* Thu Aug 20 2009 nico.laus.2001@gmx.de

- use RPM_OPT_FLAGS for distributions other than openSUSE 11.0 or Fedora 9
 (adding this for those was not possible due to a bug in GCC)

-------------------------------------------------------------------
* Sat Aug  1 2009 alex@simonov.in.ua

- update to R13B01
- clean repo from old versions
- integrated compiler patch that fixes an "Internal consistency check failed" error
  see http://www.erlang.org/cgi-bin/ezmlm-cgi?2:mss:1335:200906:hbcibacodggnfnj
- version of java must be equal or great then 1.5.0

-------------------------------------------------------------------
Tue Feb 10 2009 alex@simonov.in.ua

- add OTP-7738 patch  
A process being garbage collected via the garbage_collect/1
BIF or the check_process_code/2 BIF didn't handle message
receive and resume correctly during the garbage collect.
When this occurred, the process returned to the state it had
before the garbage collect instead of entering the new state.

-------------------------------------------------------------------
* Wed Dec 25 2008 <alex@simonov.in.ua>

- fix build on SLE-10

-------------------------------------------------------------------
* Wed Dec 24 2008 <alex@simonov.in.ua>

- fix build jinterface, set javac target to 1.5
- remove depend on gcc 4.3.3
- add smp support
- add hipe support
- add kernel poll support
- add rpmlint file
- split java interface into separate package

-------------------------------------------------------------------
Tue Dec  2 2008 <alex@simonov.in.ua>

- update to R12B-5
- use GCC >= 4.3.3 for openSUSE 11

-------------------------------------------------------------------
Tue Oct 30 2007 mrueckert@suse.de
- fix ssl build

-------------------------------------------------------------------
Tue Sep 25 2007 mrueckert@suse.de
- update to R11B-5

openSUSE Build Service is sponsored by