Major relese    : otp_src_R14B
Build date      : 2010-09-15

R14B is a major new release of Erlang/OTP.
You can download the full source distribution from
 
  http://www.erlang.org/download/otp_src_R14B.tar.gz
  http://www.erlang.org/download/otp_src_R14B.readme (this file)

Note: To unpack the TAR archive you need a GNU TAR compatible program.

For installation instructions please read the README that is part of
the distribution.

The Windows binary distribution can be downloaded from

  http://www.erlang.org/download/otp_win32_R14B.exe


On-line documentation can be found at http://www.erlang.org/doc/.
You can also download the complete HTML documentation or the Unix manual files

  http://www.erlang.org/download/otp_doc_html_R14B.tar.gz
  http://www.erlang.org/download/otp_doc_man_R14B.tar.gz

We also want to thank those that sent us patches, suggestions and bug
reports,

The OTP Team


--- HIGHLIGHTS ----------------------------------------------------------

    OTP-8544  == erts stdlib ==

	      Large parts of the ethread library have been rewritten. The
	      ethread library is an Erlang runtime system internal,
	      portable thread library used by the runtime system itself.

	      Most notable improvement is a reader optimized rwlock
	      implementation which dramatically improve the performance of
	      read-lock/read-unlock operations on multi processor systems
	      by avoiding ping-ponging of the rwlock cache lines. The
	      reader optimized rwlock implementation is used by
	      miscellaneous rwlocks in the runtime system that are known to
	      be read-locked frequently, and can be enabled on ETS tables
	      by passing the {read_concurrency, true} option upon table
	      creation. See the documentation of ets:new/2 for more
	      information. The reader optimized rwlock implementation can
	      be fine tuned when starting the runtime system. For more
	      information, see the documentation of the +rg command line
	      argument of erl.

	      There is also a new implementation of rwlocks that is not
	      optimized for readers. Both implementations interleaves
	      readers and writers during contention as opposed to, e.g.,
	      the NPTL (Linux) pthread rwlock implementation which use
	      either a reader or writer preferred strategy. The
	      reader/writer preferred strategy is problematic since it
	      starves threads doing the non-preferred operation.

	      The new rwlock implementations in general performs better in
	      ERTS than common pthread implementations. However, in some
	      extremely heavily contended cases this is not the case. Such
	      heavy contention can more or less only appear on ETS tables.
	      This when multiple processes do very large amounts of write
	      locked operations simultaneously on the same table. Such use
	      of ETS is bad regardless of rwlock implementation, will never
	      scale, and is something we strongly advise against.

	      The new rwlock implementations depend on atomic operations.
	      If no native atomic implementation is found, a fallback
	      solution will be used. Using the fallback implies a
	      performance degradation. That is, it is more important now
	      than before to build OTP with a native atomic implementation.

	      The ethread library contains native atomic implementations
	      for, x86 (32 and 64 bit), powerpc (32 bit), sparc V9 (32 and
	      64 bit), and tilera (32 bit). On other hardware gcc's builtin
	      support for atomic memory access will be used if such exists.
	      If no such support is found, configure will warn about no
	      atomic implementation available.

	      The ethread library can now also use the libatomic_ops
	      library for atomic memory accesses. This makes it possible
	      for the Erlang runtime system to utilize optimized native
	      atomic operations on more platforms than before. If configure
	      warns about no atomic implementation available, try using the
	      libatomic_ops library. Use the --with-libatomic_ops=PATH
	      configure command line argument when specifying where the
	      libatomic_ops installation is located. The libatomic_ops
	      library can be downloaded from:
	      http://www.hpl.hp.com/research/linux/atomic_ops/

	      The changed API of the ethread library has also caused
	      modifications in the Erlang runtime system. Preparations for
	      the to come "delayed deallocation" feature has also been done
	      since it depends on the ethread library.

	      Note: When building for x86, the ethread library will now use
	      instructions that first appeared on the pentium 4 processor.
	      If you want the runtime system to be compatible with older
	      processors (back to 486) you need to pass the
	      --enable-ethread-pre-pentium4-compatibility configure command
	      line argument when configuring the system.

    OTP-8763  == stdlib ==

	      Some Built In Functions (BIFs) from the module erlang was
	      never made autoimported for backward compatibility reasons.
	      As local functions now override autoimports, new autoimports
	      is no longer a problem, why the following BIFs are finally
	      made autoimported: monitor/2, monitor/3, demonitor/2,
	      demonitor/3, error/1, error/2, integer_to_list/2,
	      list_to_integer/2.


--- otp -----------------------------------------------------------------

    OTP-8601  Fix that the system documentation can be built from both a
	      source and release structure.

    OTP-8733  reference() has been substituted for ref() in the
	      documentation.

    OTP-8756  Building for multiple targets in the same source tree
	      previously failed since the bootstrap/{erl,erlc} files only
	      were generated during the first build. The
	      bootstrap/{erl,erlc} files are now regenerated when switching
	      target.

    OTP-8786  The highlight and incompatibility links on the front page of
	      the documentationhave been removed.


--- appmon-2.1.13 -------------------------------------------------------

    OTP-8839  An obsolete compiler directive for native code generation was
	      removed from a source file.


--- asn1-1.6.14.1 -------------------------------------------------------

    OTP-8598  Extension Addition Groups are now supported by the parser and
	      in all backends.

    OTP-8779  Bug in UNALIGNED PER regarding encoding and decoding of
	      constrained numbers with a valuerange > 1024. (Thanks to
	      Vincent de Phily)

    OTP-8797  Extension Addition Groups are now supported in nested types
	      within a SEQUENCE and CHOICE as well (missed that in previous
	      fix)

    OTP-8829  Minor corrections in the User Guide.


--- common_test-1.5.1 ---------------------------------------------------

    OTP-8725  Common Test has been updated to handle start options and test
	      specification terms for test case groups (and test cases in
	      groups). Also, an option named 'label', has been added that
	      associates the test run with a name that Common Test prints
	      in the overview HTML logs.

    OTP-8753  Returning {return_group_result,failed} from end_per_group in
	      a group that is part of a sequence, did not cause the
	      proceeding cases (or groups) to get skipped. This has been
	      fixed.

    OTP-8803  Andrey Pampukha has been added to the AUTHORS file. Thank you
	      Andrey for your work on configuration data handling, Large
	      Scale Testing improvements, and other useful updates and
	      fixes.

    OTP-8804  The Configuration Data chapter in the User's Guide has been
	      updated.

    OTP-8808  Milliseconds are now included in timestamps in Common Test
	      log entries. (Thanks to Tomas Johansson.)

    OTP-8818  ct:install now works as the documentation describes.


--- compiler-4.7.1 ------------------------------------------------------

    OTP-8840  Eliminated warnings for auto-imported BIF clashes.


--- crypto-2.0.1 --------------------------------------------------------

    OTP-8718  Crypto dialyzer type error in md5_mac and sha_mac.

    OTP-8760  Added erlang:system_info(build_type) which makes it easier to
	      chose drivers, NIF libraries, etc based on build type of the
	      runtime system.

	      The NIF library for crypto can now be built for valgrind
	      and/or debug as separate NIF libraries that will be
	      automatically loaded if the runtime system has been built
	      with a matching build type.

    OTP-8781  RC4 stream cipher didn't work. This since the new NIF
	      implementation of crypto:rc4_encrypt_with_state/2 introduced
	      in crypto-2.0 didn't return an updated state. (Thanks to Paul
	      Guyot)

    OTP-8810  A number of memory leaks in the crypto NIF library have been
	      fixed.


--- debugger-3.2.4 ------------------------------------------------------

    OTP-8757  Type specs have been added/cleaned up. (Thanks to Kostis
	      Sagonas.)


--- dialyzer-2.3.1 ------------------------------------------------------

    OTP-8840  Eliminated warnings for auto-imported BIF clashes.


--- docbuilder-0.9.8.8 --------------------------------------------------

    OTP-8784  Fixed problem with a centered table that was transformed into
	      an xml document which then produced mis-formatted html.


--- edoc-0.7.6.7 --------------------------------------------------------

    OTP-8749  Edoc now uses the new API functions to inets instead of the
	      deprecated ones.


--- erl_docgen-0.2.2 ----------------------------------------------------

    OTP-8792  Fixed the transformation from xml to html of the funcs block
	      in comref pages.


--- erl_interface-3.7.1 -------------------------------------------------

    OTP-8748  Removed unused variable in ei_decode_term.c.

	      Fixed faulty deallocation in erl_call.

    OTP-8813  ei_connect: correct man page examples (Thanks to Michael
	      Santos)

    OTP-8814  ei: prevent overflow in ei_connect_init and ei_xconnect

	      Add length check of the buffer before copying. (Thanks to
	      Michael Santos)

    OTP-8826  Remove DECLSPEC feature which fails on Windows Vista and use
	      the fallback implementation instead.

    OTP-8827  erl_call: fix multiple buffer overflows (Thanks to Michael
	      Santos)

    OTP-8837  Fix incorrect writev iovec buffer handling in erl_interface
	      (Thanks to Steve Vinoski)


--- erts-5.8.1 ----------------------------------------------------------

    OTP-7178  Very small floating point numbers generated errors when
	      converting from list to float in some versions of the VM,
	      this is now corrected so that i.e. list_to_float("1.0e-324").
	      returns 0.0 in all versions of Erlang.

    OTP-7405  Windows Vista and Windows 7 file system virtualization, which
	      makes "old style" windows programs execute in a file system
	      sandbox, was previously unintentionally turned on for the
	      Erlang VM. This is now corrected so that i.e. writes to
	      C:\Program Files\. without administrator privileges will
	      fail.

    OTP-7863  ets:select_reverse/{1,2,3} are now documented.

    OTP-8540  External format of integers changed to make full use of all
	      32 bits of INTEGER_EXT. This is a compatible change as old
	      code can read full 32-bit integers but only produce 28-bit
	      integers as INTEGER_EXT.

    OTP-8544  Large parts of the ethread library have been rewritten. The
	      ethread library is an Erlang runtime system internal,
	      portable thread library used by the runtime system itself.

	      Most notable improvement is a reader optimized rwlock
	      implementation which dramatically improve the performance of
	      read-lock/read-unlock operations on multi processor systems
	      by avoiding ping-ponging of the rwlock cache lines. The
	      reader optimized rwlock implementation is used by
	      miscellaneous rwlocks in the runtime system that are known to
	      be read-locked frequently, and can be enabled on ETS tables
	      by passing the {read_concurrency, true} option upon table
	      creation. See the documentation of ets:new/2 for more
	      information. The reader optimized rwlock implementation can
	      be fine tuned when starting the runtime system. For more
	      information, see the documentation of the +rg command line
	      argument of erl.

	      There is also a new implementation of rwlocks that is not
	      optimized for readers. Both implementations interleaves
	      readers and writers during contention as opposed to, e.g.,
	      the NPTL (Linux) pthread rwlock implementation which use
	      either a reader or writer preferred strategy. The
	      reader/writer preferred strategy is problematic since it
	      starves threads doing the non-preferred operation.

	      The new rwlock implementations in general performs better in
	      ERTS than common pthread implementations. However, in some
	      extremely heavily contended cases this is not the case. Such
	      heavy contention can more or less only appear on ETS tables.
	      This when multiple processes do very large amounts of write
	      locked operations simultaneously on the same table. Such use
	      of ETS is bad regardless of rwlock implementation, will never
	      scale, and is something we strongly advise against.

	      The new rwlock implementations depend on atomic operations.
	      If no native atomic implementation is found, a fallback
	      solution will be used. Using the fallback implies a
	      performance degradation. That is, it is more important now
	      than before to build OTP with a native atomic implementation.

	      The ethread library contains native atomic implementations
	      for, x86 (32 and 64 bit), powerpc (32 bit), sparc V9 (32 and
	      64 bit), and tilera (32 bit). On other hardware gcc's builtin
	      support for atomic memory access will be used if such exists.
	      If no such support is found, configure will warn about no
	      atomic implementation available.

	      The ethread library can now also use the libatomic_ops
	      library for atomic memory accesses. This makes it possible
	      for the Erlang runtime system to utilize optimized native
	      atomic operations on more platforms than before. If configure
	      warns about no atomic implementation available, try using the
	      libatomic_ops library. Use the --with-libatomic_ops=PATH
	      configure command line argument when specifying where the
	      libatomic_ops installation is located. The libatomic_ops
	      library can be downloaded from:
	      http://www.hpl.hp.com/research/linux/atomic_ops/

	      The changed API of the ethread library has also caused
	      modifications in the Erlang runtime system. Preparations for
	      the to come "delayed deallocation" feature has also been done
	      since it depends on the ethread library.

	      Note: When building for x86, the ethread library will now use
	      instructions that first appeared on the pentium 4 processor.
	      If you want the runtime system to be compatible with older
	      processors (back to 486) you need to pass the
	      --enable-ethread-pre-pentium4-compatibility configure command
	      line argument when configuring the system.

    OTP-8580  erlang:localtime_to_universaltime({{2008, 8, 1}, {0, 0,
	      0}},true) when TZ=UTC now behaves consistently on all Unix
	      platforms.

	      The problem fixed was originally reported by Paul Guyot on
	      erlang-bugs mailing list:

	      http://www.erlang.org/pipermail/erlang-bugs/2008-November/001
	      077.html

    OTP-8716  Fix faulty 64-bit integer term output from drivers. Large
	      64-bits integers did not generate correct bignums and could
	      even cause emulator crash. Only affects drivers using
	      ERL_DRV_INT64 or ERL_DRV_UINT64, introduced in R13B03.

    OTP-8726  Fixed: inet:setopts(S, [{linger,{true,2}}]) returned
	      {error,einval} for SCTP sockets. The inet_drv had a bug when
	      checking the option size.

    OTP-8728  Fix libm linking with --as-needed flag

	      When building with "--as-needed" linker flags on Linux the
	      build will fail. This has now been fixed.

	      (Thanks to Christian Faulhammer)

    OTP-8729  gen_udp:connect/3 was broken for SCTP enabled builds. It did
	      not detect remote end errors as it should.

    OTP-8730  Reduce the risk of integer wrapping in bin vheap size
	      counting.

	      The vheap size series will now use the golden ratio instead
	      of doubling and fibonacci sequences.

    OTP-8732  ETS ordered_set containing [] as key could cause strange
	      thing to happen, like an infinite hanging ets:select.

    OTP-8733  reference() has been substituted for ref() in the
	      documentation.

    OTP-8736  When a native compiled module called a not loaded non-native
	      compiled module that had an on_load function, the export
	      entries were trashed after code loading so on the next call
	      from the native compiled module to the non-native compiled
	      the emulator crashed. This bug has now been fixed.

    OTP-8737  Optimization reducing memory consumption by two words per ETS
	      object.

    OTP-8745  Fixes for unsupported halfword-emulator

    OTP-8746  NIF 64-bit integer support; enif_get_int64, enif_get_uint64,
	      enif_make_int64, enif_make_uint64.

    OTP-8754  Alignment of trailing data in messages has been adjusted.
	      This in order to be able to pass data of any type as trailing
	      data in the future.

    OTP-8758  The obsolete/driver.h header file has been removed. It has
	      been obsolete and deprecated since R8B. Drivers that still
	      include obsolete/driver.h must be updated to include
	      erl_driver.h.

    OTP-8760  Added erlang:system_info(build_type) which makes it easier to
	      chose drivers, NIF libraries, etc based on build type of the
	      runtime system.

	      The NIF library for crypto can now be built for valgrind
	      and/or debug as separate NIF libraries that will be
	      automatically loaded if the runtime system has been built
	      with a matching build type.

    OTP-8762  Further lessened the memory requirements of ETS objects.

    OTP-8764  The broken elib_malloc alternate memory allocator has been
	      removed. erlang:system_info(elib_malloc) will always return
	      false, and in R15, erlang:system_info(elib_malloc) will fail
	      with a badarg exception.

    OTP-8765  Calling erlang:system_info/1 with the new argument
	      update_cpu_info will make the runtime system reread and
	      update the internally stored CPU information. For more
	      information see the documentation of
	      erlang:system_info(update_cpu_info).

	      The CPU topology is now automatically detected on Windows
	      systems with less than 33 logical processors. The runtime
	      system will now, also on Windows, by default bind schedulers
	      to logical processors using the default_bind bind type if the
	      amount of schedulers is at least equal to the amount of
	      logical processors configured, binding of schedulers is
	      supported, and a CPU topology is available at startup.

    OTP-8769  HiPE-enabled Erlang VMs running on BSD systems sometimes
	      generated messages like "Yikes! erts_alloc() returned
	      misaligned address 0x8016a512c". Fixed. (Thanks to Mikael
	      Pettersson.)

    OTP-8773  A race condition in erts_poll() could cause delay of poll for
	      I/O.

    OTP-8774  The SMP ERTS internal child waiter thread used on Linux
	      system with NPTL was unintentionally disabled during cross
	      compilation rewrites (OTP-8323 in R13B03). It has now been
	      re-enabled. Enabling it again gives a slight performance
	      improvement.

    OTP-8775  epmd used to generate a message to the syslog when it started
	      up, which could be annoying. This has been changed to only
	      generate the message if the debug swith is given. (Thanks to
	      Michael Santos.)

    OTP-8780  Removed some potential vulnerabilities from the Erlang Port
	      Mapper Daemon (epmd) and straightened up access control. Also
	      removed hazardous interfaces allowing anyone on a machine to
	      forcefully unregister other nodes. This means that the
	      ei_unregister/erl_unregister interfaces in erl_interface is
	      rendered not only error prone and mystifying as before, but
	      totally ineffective. The old behaviour of unchecked node
	      unregistering can be restored if needed, see epmd
	      documentation for details.

    OTP-8791  Building in a source tree without prebuilt platform
	      independent build results failed on the SSL examples when:

	      cross building. This has been solved by not building the SSL
	      examples during a cross build.

	      building on Windows.

    OTP-8795  inet:getsockopt for SCTP sctp_default_send_param had a bug to
	      not initialize required feilds causing random answers. It is
	      now corrected.

    OTP-8798  The hipe_bifs:get_hrvtime/0 BIF now always returns a real
	      value even if the "perfctr" Linux kernel extension is not
	      available. It used to return a dummy value. (Thanks to Mikael
	      Pettersson.)

    OTP-8799  Calling a native-code compiled module with an on_load
	      function could cause a crash. (Thanks to Mikael Pettersson.)

    OTP-8801  The emulator could crash while writing a crash dump if
	      native-compiled modules had been loaded. (Thanks to Paul
	      Guyot.)

    OTP-8811  The scheduler wakeup threshold is now possible to adjust at
	      system boot. For more information see the +swt command line
	      argument of erl.

    OTP-8816  The undocumented function inet:ifget/2 has been improved to
	      return interface hardware address (MAC) on platforms
	      supporting getaddrinfo() (such as BSD unixes). Note it still
	      does not work on all platforms for example not Windows nor
	      Solaris, so the function is still undocumented.

	      Buffer overflow and field init bugs for inet:ifget/2 and
	      inet:getservbyname/2 has also been fixed.

	      Thanks to Michael Santos.

    OTP-8821  The garbage collector could crash if invoked from
	      native-compiled code after a call to a BIF. (Thanks to Paul
	      Guyot.)

    OTP-8823  A rare memory leak in binary:matches is removed

    OTP-8831  For a socket in the HTTP packet mode, the return value from
	      gen_tcp:recv/2,3 if there is an error in the header will be
	      {ok,{http_error,String}} instead of
	      {error,{http_error,String}} to be consistent with
	      ssl:recv/2,3.

    OTP-8834  Optimizations for MIPS when using gcc atomics. (Thanks to
	      Steve Vinoski)

    OTP-8835  Lock optimization in timer functionality.


--- et-1.4.1 ------------------------------------------------------------

    OTP-8796  Fixed broken links in the documentation.

    OTP-8830  Fixed gui crash on windows.


--- gs-1.5.13 -----------------------------------------------------------

    OTP-8824  The documentation for GS is updated with the warning that it
	      should not be used in new applications. GS is planned to be
	      deprecated soon and might be removed from the distribution
	      already in the next major release (R15). For graphical
	      applications we recommend the use of WX instead.


--- hipe-3.7.7 ----------------------------------------------------------

    OTP-8800  The HiPE compiler could crash when compiling certain modules
	      (the bug has been latent, and been exposed by new
	      optimizations introduced in the BEAM compiler in R14A).
	      (Thanks to Mikael Pettersson.)

    OTP-8802  hipe:load/1 was broken. (Thanks to Paul Guyot.)


--- inets-5.5 -----------------------------------------------------------

    OTP-8739  [httpc] If a request times out (not connect timeout), the
	      handler process exited (normal) but neglected to inform the
	      manager process. For this reason, the manager did not clean
	      up the request table., resulting in a memory leak. Also the
	      manager did not create a monitor for the handler, so in an
	      unforseen handler crash, this could also create a memory
	      leak.

    OTP-8741  The service tftp was spelled wrong in documentation and in
	      some parts of the code. It should be tftp.

    OTP-8742  [httpc] Replaced the old http client api module (http) with
	      the new, httpc in the users guide.

    OTP-8840  Eliminated warnings for auto-imported BIF clashes.

    OTP-8844  Fixing auto-import issues.


--- inviso-0.6.2 --------------------------------------------------------

    OTP-8747  The obsolete guards has now been changed to the new guard
	      interface.


--- jinterface-1.5.3.1 --------------------------------------------------

    OTP-8841  An pom.xml file is now generated. (Thanks to Gabor Liptak.)


--- kernel-2.14.1 -------------------------------------------------------

    OTP-8726  Fixed: inet:setopts(S, [{linger,{true,2}}]) returned
	      {error,einval} for SCTP sockets. The inet_drv had a bug when
	      checking the option size.

    OTP-8729  gen_udp:connect/3 was broken for SCTP enabled builds. It did
	      not detect remote end errors as it should.

    OTP-8733  reference() has been substituted for ref() in the
	      documentation.

    OTP-8750  Even when configuring erlang with --enable-native-libs, the
	      native code for modules loaded very early (such as lists)
	      would not get loaded. This has been corrected. (Thanks to
	      Paul Guyot.)

    OTP-8787  A bug introduced in kernel-2.13.5.3 has been fixed. If
	      running net_kernel:set_net_ticktime/1 twice within the
	      TransitionPerod the second call caused the net_kernel process
	      to crash with a badmatch.

    OTP-8795  inet:getsockopt for SCTP sctp_default_send_param had a bug to
	      not initialize required feilds causing random answers. It is
	      now corrected.

    OTP-8816  The undocumented function inet:ifget/2 has been improved to
	      return interface hardware address (MAC) on platforms
	      supporting getaddrinfo() (such as BSD unixes). Note it still
	      does not work on all platforms for example not Windows nor
	      Solaris, so the function is still undocumented.

	      Buffer overflow and field init bugs for inet:ifget/2 and
	      inet:getservbyname/2 has also been fixed.

	      Thanks to Michael Santos.

    OTP-8822  As a usability improvement the 'inet6' option to functions
	      gen_tcp:listen/2, gen_tcp:connect/3-4, gen_udp:open/2 and
	      gen_sctp:open/1-2 is now implicit if the address argument or
	      the 'ip' option contain an IPv6 address (8-tuple).

    OTP-8831  For a socket in the HTTP packet mode, the return value from
	      gen_tcp:recv/2,3 if there is an error in the header will be
	      {ok,{http_error,String}} instead of
	      {error,{http_error,String}} to be consistent with
	      ssl:recv/2,3.


--- megaco-3.15 ---------------------------------------------------------

    OTP-8842  Fixing auto-import issues.


--- mnesia-4.4.15 -------------------------------------------------------

    OTP-8840  Eliminated warnings for auto-imported BIF clashes.


--- orber-3.6.17 --------------------------------------------------------

    OTP-8840  Eliminated warnings for auto-imported BIF clashes.


--- parsetools-2.0.4 ----------------------------------------------------

    OTP-8771  Running HiPE-compiled Yecc parsers no longer results in a
	      function_clause error.


--- public_key-0.8 ------------------------------------------------------

    OTP-8722  Revise the public_key API - Cleaned up and documented the
	      public_key API to make it useful for general use, also
	      changed ssl to use the new API.

    OTP-8788  Handling of unknown CA certificates was changed in ssl and
	      public_key to work as intended.

    OTP-8825  Added the functionality so that the verification fun will be
	      called when a certificate is considered valid by the path
	      validation to allow access to each certificate in the path to
	      the user application. Also try to verify subject-AltName, if
	      unable to verify it let the application verify it.


--- runtime_tools-1.8.4.1 -----------------------------------------------

    OTP-8755  Minor corrections and removal of a temporary workaround.

    OTP-8783  Small fix in inviso_autostart_server.


--- sasl-2.1.9.2 --------------------------------------------------------

    OTP-8619  In R13B04 sys:get_status was modified to invoke format_status/2 
              in the callback module if the module exports that function. 
              This resulted in a change to the term returned from calling 
              sys:get_status on the supervisor module, since supervisor 
              is a gen_server and gen_server exports format_status. The 
              sasl release_handler_1 module had a dependency on the pre-R13B04 
              term returned by sys:get_status when invoked on a supervisor, 
              so the R13B04 change broke that dependency. This problem 
              has been fixed by change release_handler_1 to handle both 
              the pre-R13B04 and R13B04 terms that sys:get_status can 
              return from a supervisor.


--- snmp-4.18 -----------------------------------------------------------

    OTP-8761  When the function FilterMod:accept_recv/2 returned false the
	      SNMP agent stopped collecting messages from UDP.


--- ssh-2.0.1 -----------------------------------------------------------

    OTP-8714  SSH in some cases terminated channels with reason normal when
	      it should have been shutdown.

    OTP-8735  SSH in some cases generated a crash report when a channel was
	      closed in a normal way.

    OTP-8807  The processes ssh_subsystem_sup and one ssh_channel_sup was
	      not terminated when a connection was closed.


--- ssl-4.0.1 -----------------------------------------------------------

    OTP-8721  The server now verifies the client certificate verify message
	      correctly, instead of causing a case-clause.

    OTP-8722  Revise the public_key API - Cleaned up and documented the
	      public_key API to make it useful for general use, also
	      changed ssl to use the new API.

    OTP-8723  Added support for inputing certificates and keys directly in
	      DER format these options will override the pem-file options
	      if specified.

    OTP-8740  To gain interoperability ssl will not check for padding
	      errors when using TLS 1.0. It is first in TLS 1.1 that
	      checking the padding is an requirement.

    OTP-8770  Changed the semantics of the verify_fun option in the
	      ssl-application so that it takes care of both application
	      handling of path validation errors and verification of
	      application specific extensions. This means that it is now
	      possible for the server application in verify_peer mode to
	      handle path validation errors. This change moved some
	      functionality earlier in ssl to the public_key application.

    OTP-8772  The client hello message now always include ALL available
	      cipher suites (or those specified by the ciphers option).
	      Previous implementation would filter them based on the client
	      certificate key usage extension (such filtering only makes
	      sense for the server certificate).

    OTP-8785  Fixed handling of the option {mode, list} that was broken for
	      some packet types for instance line.

    OTP-8790  Empty packets were not delivered to the client.

    OTP-8791  Building in a source tree without prebuilt platform
	      independent build results failed on the SSL examples when:

	      cross building. This has been solved by not building the SSL
	      examples during a cross build.

	      building on Windows.

    OTP-8793  Fixed a handshake error which occurred on some ssl
	      implementations.

    OTP-8825  Added the functionality so that the verification fun will be
	      called when a certificate is considered valid by the path
	      validation to allow access to each certificate in the path to
	      the user application. Also try to verify subject-AltName, if
	      unable to verify it let the application verify it.


--- stdlib-1.17.1 -------------------------------------------------------

    OTP-6759  The ms_transform now warns if the fun head shadows
	      surrounding variables (just like the warnings you would get
	      for an ordinary fun in the same context).

    OTP-7863  ets:select_reverse/{1,2,3} are now documented.

    OTP-8544  Large parts of the ethread library have been rewritten. The
	      ethread library is an Erlang runtime system internal,
	      portable thread library used by the runtime system itself.

	      Most notable improvement is a reader optimized rwlock
	      implementation which dramatically improve the performance of
	      read-lock/read-unlock operations on multi processor systems
	      by avoiding ping-ponging of the rwlock cache lines. The
	      reader optimized rwlock implementation is used by
	      miscellaneous rwlocks in the runtime system that are known to
	      be read-locked frequently, and can be enabled on ETS tables
	      by passing the {read_concurrency, true} option upon table
	      creation. See the documentation of ets:new/2 for more
	      information. The reader optimized rwlock implementation can
	      be fine tuned when starting the runtime system. For more
	      information, see the documentation of the +rg command line
	      argument of erl.

	      There is also a new implementation of rwlocks that is not
	      optimized for readers. Both implementations interleaves
	      readers and writers during contention as opposed to, e.g.,
	      the NPTL (Linux) pthread rwlock implementation which use
	      either a reader or writer preferred strategy. The
	      reader/writer preferred strategy is problematic since it
	      starves threads doing the non-preferred operation.

	      The new rwlock implementations in general performs better in
	      ERTS than common pthread implementations. However, in some
	      extremely heavily contended cases this is not the case. Such
	      heavy contention can more or less only appear on ETS tables.
	      This when multiple processes do very large amounts of write
	      locked operations simultaneously on the same table. Such use
	      of ETS is bad regardless of rwlock implementation, will never
	      scale, and is something we strongly advise against.

	      The new rwlock implementations depend on atomic operations.
	      If no native atomic implementation is found, a fallback
	      solution will be used. Using the fallback implies a
	      performance degradation. That is, it is more important now
	      than before to build OTP with a native atomic implementation.

	      The ethread library contains native atomic implementations
	      for, x86 (32 and 64 bit), powerpc (32 bit), sparc V9 (32 and
	      64 bit), and tilera (32 bit). On other hardware gcc's builtin
	      support for atomic memory access will be used if such exists.
	      If no such support is found, configure will warn about no
	      atomic implementation available.

	      The ethread library can now also use the libatomic_ops
	      library for atomic memory accesses. This makes it possible
	      for the Erlang runtime system to utilize optimized native
	      atomic operations on more platforms than before. If configure
	      warns about no atomic implementation available, try using the
	      libatomic_ops library. Use the --with-libatomic_ops=PATH
	      configure command line argument when specifying where the
	      libatomic_ops installation is located. The libatomic_ops
	      library can be downloaded from:
	      http://www.hpl.hp.com/research/linux/atomic_ops/

	      The changed API of the ethread library has also caused
	      modifications in the Erlang runtime system. Preparations for
	      the to come "delayed deallocation" feature has also been done
	      since it depends on the ethread library.

	      Note: When building for x86, the ethread library will now use
	      instructions that first appeared on the pentium 4 processor.
	      If you want the runtime system to be compatible with older
	      processors (back to 486) you need to pass the
	      --enable-ethread-pre-pentium4-compatibility configure command
	      line argument when configuring the system.

    OTP-8733  reference() has been substituted for ref() in the
	      documentation.

    OTP-8763  Some Built In Functions (BIFs) from the module erlang was
	      never made autoimported for backward compatibility reasons.
	      As local functions now override autoimports, new autoimports
	      is no longer a problem, why the following BIFs are finally
	      made autoimported: monitor/2, monitor/3, demonitor/2,
	      demonitor/3, error/1, error/2, integer_to_list/2,
	      list_to_integer/2.


--- test_server-3.4.1 ---------------------------------------------------

    OTP-8725  Common Test has been updated to handle start options and test
	      specification terms for test case groups (and test cases in
	      groups). Also, an option named 'label', has been added that
	      associates the test run with a name that Common Test prints
	      in the overview HTML logs.

    OTP-8753  Returning {return_group_result,failed} from end_per_group in
	      a group that is part of a sequence, did not cause the
	      proceeding cases (or groups) to get skipped. This has been
	      fixed.

    OTP-8805  It is now possible to skip all tests in a suite, or a group,
	      by returning {fail,Reason} from the end_tc/5 framework
	      function for init_per_suite, or init_per_group.


--- tools-2.6.6.1 -------------------------------------------------------

    OTP-8776  cover will now show ampersand characters in the source code
	      correctly. (Thanks to Tom Moertel.)


--- tv-2.1.4.6 ----------------------------------------------------------

    OTP-8751  With some window managers (e.g. stumpwm), tv would constantly
	      restart while trying to open a table. (Thanks to Dmitriy
	      Budashny.)


--- typer-0.1.7.5 -------------------------------------------------------

    OTP-8840  Eliminated warnings for auto-imported BIF clashes.


--- wx-0.98.7 -----------------------------------------------------------

    OTP-8766  Fix crash (segmentation fault) in callback handling.

    OTP-8767  Add wxSystemSettings module.

	      Add wxTreeCtrl:editLabel/2.


--- xmerl-1.2.6 ---------------------------------------------------------

    OTP-8697  Fixed problem with hex entities in UTF-8 documents: When a
	      document was in UTF-8 encoding, xmerl_scan improperly
	      replaced hex entities by the UTF-8 bytes instead of returning
	      the character, as it does with inline UTF-8 text and decimal
	      entities. (Thanks to Paul Guyot.)