<?xml version="1.0" encoding="UTF-8"?>
<otherdata xmlns="http://linux.duke.edu/metadata/other" packages="26">
<package pkgid="56dbfe3532ffd5702b494d780e9475525fa3dfcb748c507ed6e2ed8e52a62d44" name="couch-js" arch="src">
  <version epoch="1" ver="1.8.5" rel="25.1"/>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1.8.5-2" date="1302350400">- Correct symlink to provide backward capabiliies libjs.so.1</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1.8.5-3" date="1302609600">- Add Epoch: 1 to allow update of 1.70-13 version.</changelog>
  <changelog author="Christopher Aillon &lt;caillon@redhat.com&gt; - 1.8.5-4" date="1302609601">- devel subpackage needs to ask for the newly added epoch</changelog>
  <changelog author="Dan Hor&#xE1;k &lt;dan[at]danny.cz&gt; - 1.8.5-5" date="1306497600">- add secondary arch patches from xulrunner</changelog>
  <changelog author="Colin Walters &lt;walters@verbum.org&gt; - 1:1.8.5-6" date="1308744000">- Include mozjs185.pc, clean up build
- Based on work from Christopher Aillon &lt;caillon@redhat.com&gt;
- Switch to using make install DESTDIR=, instead of hardcoding build rules.
- Add DESTDIR= patch from GNOME 3.2 jhbuild
- Make mozjs185 the canonical target for both libmozjs and libmozjs185.</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1:1.8.5-7" date="1308830400">- Make build system more proper (bz#710837), thanks to Jasper St. Pierre.
- Add missing header prmjtime.h (bz#709955), thanks to Jim Meyering.
- Merge Colin Walters build changes http://www.spinics.net/lists/fedora-devel/msg153214.html (1:1.8.5-6)</changelog>
  <changelog author="Karsten Hopp &lt;karsten@redhat.com&gt; 1.8.5-8" date="1322827200">- add patch from bugzilla 749604, fixes PPC failures</changelog>
  <changelog author="Dennis Gilmore &lt;dennis@ausil.us&gt; - 1.8.5-9" date="1326196800">- add patch to enable js to build on both hard and soft floating point arm distros</changelog>
  <changelog author="Fedora Release Engineering &lt;rel-eng@lists.fedoraproject.org&gt; - 1:1.8.5-10" date="1342699200">- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1:1.8.5-11" date="1353153600">- Thanks to Ville Skyttä (bz#875343) build against libedit instead of readline
	what simplify licensing apparently without any loss of functionality</changelog>
  <changelog author="Dennis Gilmore &lt;dennis@ausil.us&gt; - 1:1.8.5-12" date="1358510400">- make sure -march=armv7-a is not hardcoded in arm builds</changelog>
  <changelog author="Fedora Release Engineering &lt;rel-eng@lists.fedoraproject.org&gt; - 1:1.8.5-13" date="1360843200">- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-14" date="1383739200">- Patch to build on aarch64
  Resolves: #1027493</changelog>
  <changelog author="Daniel Mach &lt;dmach@redhat.com&gt; - 1:1.8.5-15" date="1388145600">- Mass rebuild 2013-12-27</changelog>
  <changelog author="Daniel Mach &lt;dmach@redhat.com&gt; - 1:1.8.5-16" date="1390564800">- Mass rebuild 2014-01-24</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-17" date="1395057600">- Fix multiarch conflicts in js-config.h
- Resolves: #1076416</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-18" date="1408190400">- Backport ppc64le patch (Aldy Hernandez &lt;aldyh@redhat.com&gt;)
- Resolves: #1125725</changelog>
  <changelog author="Yaakov Selkowitz &lt;yselkowi@redhat.com&gt; - 1:1.8.5-19" date="1409054400">- Rebase aarch64 patch
- Resolves: #1134124</changelog>
  <changelog author="Yaakov Selkowitz &lt;yselkowi@redhat.com&gt; - 1:1.8.5-20" date="1491480000">- Fix for 48-bit VA on aarch64
- Resolves: #1423015</changelog>
  <changelog author="CouchDB Developers &lt;dev@couchdb.apache.org&gt; - 1:1.8.5-21" date="1527163200">- Remove libedit/readline dependency (we don't use it)
- Disable methodjit (seems to result in runtime instability)
- Merge in all patches from debian to ensure same builds</changelog>
</package>
<package pkgid="ce48d33c36902badecae014387cbef4ed5ebc471a5aae6a5c5230fb1aed61c71" name="couch-js" arch="x86_64">
  <version epoch="1" ver="1.8.5" rel="25.1"/>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1.8.5-2" date="1302350400">- Correct symlink to provide backward capabiliies libjs.so.1</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1.8.5-3" date="1302609600">- Add Epoch: 1 to allow update of 1.70-13 version.</changelog>
  <changelog author="Christopher Aillon &lt;caillon@redhat.com&gt; - 1.8.5-4" date="1302609601">- devel subpackage needs to ask for the newly added epoch</changelog>
  <changelog author="Dan Hor&#xE1;k &lt;dan[at]danny.cz&gt; - 1.8.5-5" date="1306497600">- add secondary arch patches from xulrunner</changelog>
  <changelog author="Colin Walters &lt;walters@verbum.org&gt; - 1:1.8.5-6" date="1308744000">- Include mozjs185.pc, clean up build
- Based on work from Christopher Aillon &lt;caillon@redhat.com&gt;
- Switch to using make install DESTDIR=, instead of hardcoding build rules.
- Add DESTDIR= patch from GNOME 3.2 jhbuild
- Make mozjs185 the canonical target for both libmozjs and libmozjs185.</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1:1.8.5-7" date="1308830400">- Make build system more proper (bz#710837), thanks to Jasper St. Pierre.
- Add missing header prmjtime.h (bz#709955), thanks to Jim Meyering.
- Merge Colin Walters build changes http://www.spinics.net/lists/fedora-devel/msg153214.html (1:1.8.5-6)</changelog>
  <changelog author="Karsten Hopp &lt;karsten@redhat.com&gt; 1.8.5-8" date="1322827200">- add patch from bugzilla 749604, fixes PPC failures</changelog>
  <changelog author="Dennis Gilmore &lt;dennis@ausil.us&gt; - 1.8.5-9" date="1326196800">- add patch to enable js to build on both hard and soft floating point arm distros</changelog>
  <changelog author="Fedora Release Engineering &lt;rel-eng@lists.fedoraproject.org&gt; - 1:1.8.5-10" date="1342699200">- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1:1.8.5-11" date="1353153600">- Thanks to Ville Skyttä (bz#875343) build against libedit instead of readline
	what simplify licensing apparently without any loss of functionality</changelog>
  <changelog author="Dennis Gilmore &lt;dennis@ausil.us&gt; - 1:1.8.5-12" date="1358510400">- make sure -march=armv7-a is not hardcoded in arm builds</changelog>
  <changelog author="Fedora Release Engineering &lt;rel-eng@lists.fedoraproject.org&gt; - 1:1.8.5-13" date="1360843200">- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-14" date="1383739200">- Patch to build on aarch64
  Resolves: #1027493</changelog>
  <changelog author="Daniel Mach &lt;dmach@redhat.com&gt; - 1:1.8.5-15" date="1388145600">- Mass rebuild 2013-12-27</changelog>
  <changelog author="Daniel Mach &lt;dmach@redhat.com&gt; - 1:1.8.5-16" date="1390564800">- Mass rebuild 2014-01-24</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-17" date="1395057600">- Fix multiarch conflicts in js-config.h
- Resolves: #1076416</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-18" date="1408190400">- Backport ppc64le patch (Aldy Hernandez &lt;aldyh@redhat.com&gt;)
- Resolves: #1125725</changelog>
  <changelog author="Yaakov Selkowitz &lt;yselkowi@redhat.com&gt; - 1:1.8.5-19" date="1409054400">- Rebase aarch64 patch
- Resolves: #1134124</changelog>
  <changelog author="Yaakov Selkowitz &lt;yselkowi@redhat.com&gt; - 1:1.8.5-20" date="1491480000">- Fix for 48-bit VA on aarch64
- Resolves: #1423015</changelog>
  <changelog author="CouchDB Developers &lt;dev@couchdb.apache.org&gt; - 1:1.8.5-21" date="1527163200">- Remove libedit/readline dependency (we don't use it)
- Disable methodjit (seems to result in runtime instability)
- Merge in all patches from debian to ensure same builds</changelog>
</package>
<package pkgid="be254d77cd5039c60a242eb0f81f2b24235fed030af0326b83d5647775cf8db2" name="couch-js-devel" arch="x86_64">
  <version epoch="1" ver="1.8.5" rel="25.1"/>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1.8.5-2" date="1302350400">- Correct symlink to provide backward capabiliies libjs.so.1</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1.8.5-3" date="1302609600">- Add Epoch: 1 to allow update of 1.70-13 version.</changelog>
  <changelog author="Christopher Aillon &lt;caillon@redhat.com&gt; - 1.8.5-4" date="1302609601">- devel subpackage needs to ask for the newly added epoch</changelog>
  <changelog author="Dan Hor&#xE1;k &lt;dan[at]danny.cz&gt; - 1.8.5-5" date="1306497600">- add secondary arch patches from xulrunner</changelog>
  <changelog author="Colin Walters &lt;walters@verbum.org&gt; - 1:1.8.5-6" date="1308744000">- Include mozjs185.pc, clean up build
- Based on work from Christopher Aillon &lt;caillon@redhat.com&gt;
- Switch to using make install DESTDIR=, instead of hardcoding build rules.
- Add DESTDIR= patch from GNOME 3.2 jhbuild
- Make mozjs185 the canonical target for both libmozjs and libmozjs185.</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1:1.8.5-7" date="1308830400">- Make build system more proper (bz#710837), thanks to Jasper St. Pierre.
- Add missing header prmjtime.h (bz#709955), thanks to Jim Meyering.
- Merge Colin Walters build changes http://www.spinics.net/lists/fedora-devel/msg153214.html (1:1.8.5-6)</changelog>
  <changelog author="Karsten Hopp &lt;karsten@redhat.com&gt; 1.8.5-8" date="1322827200">- add patch from bugzilla 749604, fixes PPC failures</changelog>
  <changelog author="Dennis Gilmore &lt;dennis@ausil.us&gt; - 1.8.5-9" date="1326196800">- add patch to enable js to build on both hard and soft floating point arm distros</changelog>
  <changelog author="Fedora Release Engineering &lt;rel-eng@lists.fedoraproject.org&gt; - 1:1.8.5-10" date="1342699200">- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild</changelog>
  <changelog author="Pavel Alexeev &lt;Pahan@Hubbitus.info&gt; - 1:1.8.5-11" date="1353153600">- Thanks to Ville Skyttä (bz#875343) build against libedit instead of readline
	what simplify licensing apparently without any loss of functionality</changelog>
  <changelog author="Dennis Gilmore &lt;dennis@ausil.us&gt; - 1:1.8.5-12" date="1358510400">- make sure -march=armv7-a is not hardcoded in arm builds</changelog>
  <changelog author="Fedora Release Engineering &lt;rel-eng@lists.fedoraproject.org&gt; - 1:1.8.5-13" date="1360843200">- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-14" date="1383739200">- Patch to build on aarch64
  Resolves: #1027493</changelog>
  <changelog author="Daniel Mach &lt;dmach@redhat.com&gt; - 1:1.8.5-15" date="1388145600">- Mass rebuild 2013-12-27</changelog>
  <changelog author="Daniel Mach &lt;dmach@redhat.com&gt; - 1:1.8.5-16" date="1390564800">- Mass rebuild 2014-01-24</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-17" date="1395057600">- Fix multiarch conflicts in js-config.h
- Resolves: #1076416</changelog>
  <changelog author="Colin Walters &lt;walters@redhat.com&gt; - 1:1.8.5-18" date="1408190400">- Backport ppc64le patch (Aldy Hernandez &lt;aldyh@redhat.com&gt;)
- Resolves: #1125725</changelog>
  <changelog author="Yaakov Selkowitz &lt;yselkowi@redhat.com&gt; - 1:1.8.5-19" date="1409054400">- Rebase aarch64 patch
- Resolves: #1134124</changelog>
  <changelog author="Yaakov Selkowitz &lt;yselkowi@redhat.com&gt; - 1:1.8.5-20" date="1491480000">- Fix for 48-bit VA on aarch64
- Resolves: #1423015</changelog>
  <changelog author="CouchDB Developers &lt;dev@couchdb.apache.org&gt; - 1:1.8.5-21" date="1527163200">- Remove libedit/readline dependency (we don't use it)
- Disable methodjit (seems to result in runtime instability)
- Merge in all patches from debian to ensure same builds</changelog>
</package>
<package pkgid="874ef5dc98057dc9fc77bf544b2c6a745c6077712df478b3ed3115fba86fc55d" name="couchdb" arch="src">
  <version epoch="0" ver="2.3.1" rel="6.2"/>
  <changelog author="CouchDB Developers &lt;dev@couchdb.apache.org&gt; 2.0.0-1" date="1493726400">- New upstream version
- New sysvinit and systemd service files
- New backported couchup script</changelog>
</package>
<package pkgid="6b5c2d6d2d17027564c346b6f5ff3a4ff1b0d2a628914795b9ff1bcdadb39aef" name="couchdb" arch="x86_64">
  <version epoch="0" ver="2.3.1" rel="6.2"/>
  <changelog author="CouchDB Developers &lt;dev@couchdb.apache.org&gt; 2.0.0-1" date="1493726400">- New upstream version
- New sysvinit and systemd service files
- New backported couchup script</changelog>
</package>
<package pkgid="59fdd54c2570fd966a9cd14dba656b4ef57f68c68109e719c90928d62ee4a9b3" name="erlang" arch="src">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="96b711e6c69dfe79aae513563b7a175b4518c8a4af9f78647ae3e67735c7104e" name="erlang" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="40e9071d0c86af59bb3580d310beb2bfc30b6dc7e8e44a290910fece631873d6" name="erlang-debugger" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="2b64fa98c4c827437a682a5b6ccb48eb0e6d2f3adf87fce7eba86e7f4a6bb175" name="erlang-debugger-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="e2c6cbe4f21885a3409aea3a566edd91085b54e961fd512487ed0afa2861779a" name="erlang-dialyzer" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="dca317d321d4235a7dc0778c3be42f642b73e03baa21bb3881662d1ba0569095" name="erlang-dialyzer-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="0acee7cf761ec8d73ce2b3ff753835863d4fc0e0c166596af56fe5a69f672a42" name="erlang-diameter" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="167048ea8f6e939df75ec3ce6c5f3f9c32aa2f6484021e7d390e37f1b11737a5" name="erlang-diameter-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="a2643b8d55e5079638b18d2088ac1b2047f46972e3e0c783cf7d7592945a1205" name="erlang-doc" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="21477a2410239c9d769797e5d8107a75faf06f308efba184988a309b9c9149e5" name="erlang-epmd" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="2ef41f3e05f44f7f6ecc1f3a65f2ce3efb6f8c07e8bbacc1c6cfa29adf067dbf" name="erlang-et" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="ae97dea00c08ba8d9ad2fbb0ab67f8492b7c84b54b2debd8c41a2701c90054fb" name="erlang-et-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="8e1b9c67622c20c5e353d0f7ef89cc3947395145752c2192ccd5aad68d0e0d19" name="erlang-jinterface" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="3d58d37c74d6f6c846bee90db0f3efc1503fb4a063373fe73832dfba6fbdeeea" name="erlang-jinterface-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="de209115c7e758f83188b48f0bf814b4d9a3f8260a90c156da13380c7bd4d729" name="erlang-observer" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="0cbbbeeadc113a3abbd3da0cb14c3397ae2f5190c01c233405bda4e7d68064b0" name="erlang-observer-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="586a93b148d2f1041eeacc4086db73f4b9bd420430e7c22f8e6a6de495cef28a" name="erlang-reltool" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="23b9e78fb711224f9df69eca2ba8fc116cb9d46235f856ad125902994aa41142" name="erlang-reltool-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="7ebc265f94ec5d30491eb61fec3dcd858a7940b6827bad180d996b322331a6c5" name="erlang-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="7883284f88c318e6d65b8241a528af8539c28d69c6abd6bf94533ad942e26443" name="erlang-wx" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
<package pkgid="0cd7e975667900f6fa5aaf62050a1c6e217645d5c2001fba1e270a84ad3c61b7" name="erlang-wx-src" arch="x86_64">
  <version epoch="0" ver="20.3.8.15" rel="6.2"/>
  <changelog author="matwey.kornilov@gmail.com" date="1489147200">- Add missed scripts requires for erlang-epmd package</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1491480001">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1493553600">- 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.</changelog>
  <changelog author="meissner@suse.com" date="1494072000">- Disable global PIE for erlang, code is currently not fully
  ready.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1500292800">- 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, &gt;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'=&gt;1, 'b'=&gt;2,
    'a'=&gt;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</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1501502400">- erlang-gs application has been depricated</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503230400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1503835200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1505390401">- Only Java 1.6 is supported by Erlang since 18.0 release</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1508414400">- 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.</changelog>
  <changelog author="rbrown@suse.com" date="1511438400">- Replace references to /var/adm/fillup-templates with new
  %_fillupdir macro (boo#1069468)</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1511784000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1517486400">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1523707200">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534248000">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1534334400">- Update to 20.3.8.6:
  * inets: Change status code for no mod found to handle request
  to 501</changelog>
  <changelog author="dmueller@suse.com" date="1538308800">- 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.</changelog>
  <changelog author="matwey.kornilov@gmail.com" date="1544356800">- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
  * asn1: Handle erroneous length during decode (BER only) without
    crashing.
- Changes for 20.3.8.14:
  * ssh: Incompatibility with newer OpenSSH fixed. Previously
    versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
  * ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
  * erts: List subtraction (The -- operator) will now yield properly
    on large inputs.
  * stdlib: List subtraction (The -- operator) will now yield
    properly on large inputs.
  * ssl: Extend check for undelivered data at closing, could under
    some circumstances fail to deliverd all data that was acctualy
    recivied.
- Changes for 20.3.8.11:
  * erts: ERTS internal trees of monitor structures could get into
    an inconsistent state. This could cause 'DOWN' messages not to
    be delivered when they should, as well as delivery of 'DOWN'
    messages that should not be delivered.
- Changes for 20.3.8.10:
  * erts: Fixed bug in ets:select_replace when called with a fully
    bound key could cause a following call to ets:next or ets:prev
    to crash the emulator or return invalid result.
  * eldap: A race condition at close could cause the eldap client to
    exit with a badarg message as cause.</changelog>
</package>
</otherdata>