Bug fix release : otp_src_R13B03
Build date      : 2009-11-23

This is R13B03, the third maintenance release for the R13B major release.

You can find the README file for the release at

  http://www.erlang.org/download/otp_src_R13B03.readme (this file)

The source distribution and binary distribution for Windows can be
downloaded from

  http://www.erlang.org/download/otp_src_R13B03.tar.gz
  http://www.erlang.org/download/otp_win32_R13B03.exe

The distribution can also be downloaded using the BitTorrent
protocol. Use the following torrent files to download the source
distribution and binary distribution for Windows:

  http://www.erlang.org/download/otp_src_R13B03.tar.gz.torrent
  http://www.erlang.org/download/otp_win32_R13B03.exe.torrent

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

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

The 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_R13B03.tar.gz
  http://www.erlang.org/download/otp_doc_man_R13B03.tar.gz

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

The OTP Team


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

    OTP-8220  A module can have native implemented functions (NIFs) that
	      are dynamically loaded by calling erlang:load_nif/2. This is
	      an experimental feature that is not yet intended for
	      production systems. It is released with intention to get some
	      early feedback on the interfaces before they are carved in
	      stone.


--- documentation -------------------------------------------------------

    OTP-8282  Removed bogus "\011" character sequence in documentation.


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

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8264  OTP can be built and run on Windows 7.


--- appmon-2.1.10.2 -----------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- asn1-1.6.12 ---------------------------------------------------------

    OTP-8256  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- common_test-1.4.6 ---------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8235  For a failed test case, the tc_done event is supposed to
	      report info on the form {failed,Error}. Only Error was
	      reported, however, which has now been fixed.

    OTP-8284  It is now possible to fail a test case from the
	      end_per_testcase/2 function, by returning {fail,Reason}.

    OTP-8285  It is now possible to fail a test case by having the end_tc/3
	      framework function return {fail,Reason} for the test case.

    OTP-8286  The test_server framework API (e.g. the end_tc/3 function)
	      has been modified. See the test_server_ctrl documentation for
	      details.

    OTP-8287  Various updates of the test events have been implemented. The
	      data field for some events, such as tc_done and tc_auto_skip
	      has been modified to make pattern matching on the data easier
	      and more consistent. Also the order in which some events are
	      received has been altered. E.g. the tc_auto_skip event for a
	      test case now comes after the tc_done for the failed
	      configuration function (not before) which makes more sense.
	      Note that no new events have been added and that the event
	      record remains unchanged.

    OTP-8288  The marquee used for test names on the all_runs.html page has
	      been removed on request. Note that the test name field has
	      the full text string in a title tag, which is displayed when
	      hovering the mouse pointer over it (i.e. if the web browser
	      supports title tags).

    OTP-8289  If the init_per_testcase/2 function fails, the test case now
	      gets marked and counted as auto skipped, not user skipped
	      (which would previously happen).

    OTP-8290  It is now possible to refresh the top level index files in an
	      arbitrary log directory by specifying a {refresh_logs,LogDir}
	      tuple in the ct:run_test/1 options list. Also the
	      -refresh_logs flag for the run_test script has been extended
	      to take an optional LogDir argument, i.e. -refresh_logs
	      [LogDir]. If no LogDir is specified, current working
	      directory is assumed, unless the log directory is set with
	      the -logdir flag.

    OTP-8294  It was previously required that test suites were located
	      under a test object (or OTP application) sub-directory named
	      "test" (or under a directory named "<testobject>_test"). This
	      has been changed so that Common Test now looks for suites
	      primarily in a test sub-directory only if the directory
	      exists. Otherwise it will assume the suites are stored in the
	      same directory the user specifies with e.g. the 'dir' start
	      flag/option.


--- compiler-4.6.4 ------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8238  The compiler's 'E' option now works with modules with types
	      and specifications.

    OTP-8269  The compiler could crash if invalid calls to is_record/2 was
	      used in (for example) a list comprehension. (Thanks to Tobias
	      Lindahl.)

    OTP-8271  Certain uses of binary matching in a begin-end in a list
	      comprehension could cause the compiler to crash or generate
	      incorrect code.

    OTP-8295  The -on_load() directive can be used to run a function when a
	      module is loaded. It is documented in the section about code
	      loading in the Reference Manual.


--- cosEvent-2.1.7 ------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- cosEventDomain-1.1.7 ------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- cosFileTransfer-1.1.9 -----------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- cosNotification-1.1.12 ----------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- cosProperty-1.1.10 --------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- cosTime-1.1.7 -------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- cosTransactions-1.2.8 -----------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- crypto-1.6.2 --------------------------------------------------------

    OTP-8068  An erroneous type spec for <c>gen:start/6</c> caused dialyzer
	      to erroneously issue warnings when <c>{spawn_opt,
	      SpawnOptionList}</c> was passed in the option list to the
	      <c>gen_server</c> and <c>gen_fsm</c> start functions.

    OTP-8261  Fixed emulator crash caused by crypto using an old openssl
	      version that did not cope with large file descriptors.


--- crypto-1.6.3 --------------------------------------------------------

    OTP-8200  Suppressed false valgrind errors caused by libcrypto using
	      uninitialized data as entropy.

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8281  When the crypto application failed to load the OpenSSL/LibEAY
	      shared object, error indication was sparse. Now a more
	      specific error message is sent to the error logger.


--- debugger-3.2.1 ------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- dialyzer-2.1.0 ------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8300  Dialyzer can statically detect some kinds of data races in
	      Erlang programs. Use the new option -Wrace_conditions to
	      enable the race analysis. The technique is described in a
	      paper which is available at:
	      http://www.it.uu.se/research/group/hipe/dialyzer/publications
	      /races.pdf

	      Added support for packages (thanks to Maria Christakis).

	      There has been a major change in the default mode of
	      Dialyzer. Previously, the default mode was the GUI, while now
	      it is the command line. As a result of this change, it is now
	      possible to analyze a set of files/dirs with the command:

	      dialyzer file1 ... fileN

	      In other words, the -c (--command-line) option is no longer
	      necessary, though it will be retained for some time for
	      backwards compatibility. To start dialyzer's GUI use either
	      of the following commands:

	      dialyzer --gui %% for the old gs-based GUI dialyzer --wx %%
	      for the new wx-based GUI (where available)

	      There is a new option --apps which allows the user to easily
	      refer to Erlang/OTP applications and include them in the
	      analysis or in the building of the PLT. For example, we
	      recommend building the PLT with:

	      dialyzer --build_plt --apps erts kernel stdlib mnesia ...

	      The new option can also take absolute file names as well as
	      applications. Note that the application versions that will be
	      included in the PLT are those that correspond to the
	      Erlang/OTP system which is used.

	      Dialyzer has a new wxWidgets based GUI (thanks to Elli
	      Frangaki) for platforms where the wx application is
	      available.


--- docbuilder-0.9.8.6 --------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- edoc-0.7.6.5 --------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- erl_interface-3.6.4 -------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- erts-5.7.4 ----------------------------------------------------------

    OTP-8193  The use of pthread_cond_timedwait() have been completely
	      removed from the runtime system. This since its behavior is
	      unpredictable when the system clock is suddenly changed. The
	      previous use of it was harmless.

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8202  A new garbage collecting strategy for binaries which is more
	      aggressive than the previous implementation. Binaries now has
	      a virtual binary heap tied to each process. When binaries are
	      created or received to a process it will check if the heap
	      limit has been reached and if a reclaim should be done. This
	      imitates the behavior of ordinary Erlang terms. The virtual
	      heaps are grown and shrunk like ordinary heaps. This will
	      lessen the memory footprint of binaries in a system.

    OTP-8205  The ErlDrvTermData term types used by driver_output_term()
	      and driver_send_term() have been extended with the term types
	      ERL_DRV_INT64, and ERL_DRV_UINT64 for passing 64-bit
	      integers. Also the 64-bit integer data types ErlDrvSInt64 and
	      ErlDrvUInt64 have been introduced.

	      For more information see the erl_driver(3) documentation.

    OTP-8207  An insufficient stack allocation was made when reading CPU
	      information on BSD operating systems. (Thanks Michael Turner
	      and Akira Kitada)

    OTP-8209  A bug when supplying an argument without a dash directly
	      after the program name when starting erlang could prevent
	      distribution to start. This is now corrected.

    OTP-8215  [escript] The restriction that the first line in escripts
	      must begin with #! has been removed.

	      [escript] Some command line options to the escript executable
	      has now been documented. For example you can run an escript
	      in the debugger by just adding a command line option.

	      [escript] The documentation of the escript header syntax has
	      been clarified. For example the header is optional. This
	      means that it is possible to directly "execute" .erl, .beam
	      and.zip files.

    OTP-8218  A ticker process could potentially be blocked indefinitely
	      trying to send a tick to a node not responding. If this
	      happened, the connection would not be brought down as it
	      should.

    OTP-8219  The instruction for building OTP on Windows was outdated and
	      incomplete, the document is updated.

	      Also the otp_build script required windows drives to show up
	      in Cygwin using the /cygdrive prefix. That requirement is now
	      removed.

    OTP-8220  A module can have native implemented functions (NIFs) that
	      are dynamically loaded by calling erlang:load_nif/2. This is
	      an experimental feature that is not yet intended for
	      production systems. It is released with intention to get some
	      early feedback on the interfaces before they are carved in
	      stone.

    OTP-8221  The float/1 BIF would always force a garbage collection. The
	      BIFs size/1, byte_size/1, bit_size/1, abs/1, and round/1
	      would force a garbage-collection if the result was not a
	      sufficiently small integer.

    OTP-8225  The erlang:port_command/3 BIF has been added.
	      erlang:port_command/3 is currently not auto imported, but it
	      is planned to be auto imported in OTP R14. For more
	      information see the erlang(3) documentation.

    OTP-8230  Using certain firewalls (i.e. MS IAS Client and certain
	      versions of COMODO) could expose an undocumented behaviour in
	      the Win32 socket interface causing the name resolution calls
	      to hang infinitely. This is now worked around by adding
	      possibilities for port programs under Windows to use
	      overlapped I/O on their standard input/output file handles.

    OTP-8236  'configure --enable-darwin-64bit' would fail if Snow Leopard
	      had been booted with the 64-bit kernel. (Thanks to Ryan M.
	      Graham.)

    OTP-8242  Fixed bug on ETS tables with write_concurrency. The emulator
	      could crash when doing a select or match with a bound key
	      without finding any object.

    OTP-8245  The information-request / information-response, and
	      group-leader-change-request / group-leader-changed-response
	      signal pairs described below did not always adhere to the
	      signal order guarantees of Erlang's signal model in the
	      runtime system with SMP support. These signals could for
	      example sometimes pass exit signals.

	      The following BIFs behaviors can be modeled as if an
	      asynchronous information-request signal is sent to Pid. If
	      Pid is alive, it responds with an asynchronous
	      information-response signal; otherwise, the runtime system
	      responds with a no-such-process signal. When the response is
	      received, the caller transforms it into the result of the
	      BIF.

	      is_process_alive(Pid) erlang:process_display(Pid, Type)
	      process_info(Pid) process_info(Pid, ItemSpec)

	      When Pid resides on the same node as the caller of
	      group_leader(GroupLeader, Pid), the group_leader/2 BIFs
	      behavior can be modeled as if an asynchronous
	      group-leader-change-request signal is sent to Pid. If Pid is
	      alive, it responds with an asynchronous
	      group-leader-changed-response signal; otherwise, the runtime
	      system responds with a no-such-process signal. When the
	      response is received, the caller transforms it into the
	      result of the BIF. The distributed case which only consists
	      of an asynchronous group-leader-change-request signal and no
	      response is not effected.

    OTP-8257  Errors in the system_profile documentation has been
	      corrected.

    OTP-8279  Low watermark socket option modified high watermark instead
	      of low watermark in the inet_driver. (Thanks to Feng Yu and
	      Tuncer Ayaz)

    OTP-8297  A race condition could cause the runtime system with SMP
	      support to end up in a completely unresponsive state.


--- et-1.3.3 ------------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- eunit-2.1.4 ---------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- gs-1.5.11 -----------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- hipe-3.7.4 ----------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8301  Misc updates.


--- ic-4.2.23 -----------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- inets-5.2 -----------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8204  [httpc] Streaming to file did not work.

    OTP-8206  Fixing spelling in doc and code.

    OTP-8247  [ftpc] The *ls* operation (LIST command) with wildcards did
	      not work properly. This function is documented as working on
	      directories, but this is actually not according the standard.
	      The LIST command is specified to operate on a directory or
	      other group of files, or a file. Previously, an attempt was
	      made to check if the listing returned by the server was
	      actually an error message. This was done by changing remote
	      directory (cd) into the (assumed) "directory". This may work
	      if Pathname was actually a directory, but as this is not
	      always the case, this test does not work. Instead, we now
	      return the actual server result and leave the interpretation
	      to the caller.

    OTP-8248  [httpc] Fixes various bugs in timeout and keep-alive queue
	      handling. 1) When a queued request times out, the error
	      message is sent the owner of the active request. 2) Requests
	      in the keep-alive queue is forgotten when handler terminates.
	      3) Timeout out requests are retried. Jean-S�bastien P�dron

    OTP-8249  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8258  [ftpc] The FTP client has been changed in the following way:
	      1) It is now also possible to start a standalone FTP client
	      process using the re-introduced ftp:open function. This is an
	      alternative to starting the client using the Inets service
	      framework. 2) Previously, the FTP client attempted to use
	      IPv6, unless otherwise instructed (the ip_v6_disabled flag),
	      and only used IPv4 if this did not work. This has now been
	      *changed*. A new option, ipfamily, has been introduced, with
	      the default value *inet* (IPv4). See ftp:open for more info.

    OTP-8280  [httpd] Unnecessarily strict matching when handling closing
	      sockets.


--- inviso-0.6.1 --------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- jinterface-1.5.2 ----------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- kernel-2.13.4 -------------------------------------------------------

    OTP-8198  A link in pg2(3) has been fixed. (Thanks to Christophe
	      Romain.)

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8218  A ticker process could potentially be blocked indefinitely
	      trying to send a tick to a node not responding. If this
	      happened, the connection would not be brought down as it
	      should.

    OTP-8259  A bug in pg2 when members who died did not leave process
	      groups has been fixed. (Thanks to Matthew Dempsky.)

    OTP-8266  The top directory in archive files does not need to have a
	      -vsn suffix anymore. For example if the archive file has the
	      name like mnesia-4.4.7.ez the top directory in the archive
	      can either be named mnesia or mnesia-4.4.7. If the archive
	      file has a name like mnesia.ez the top directory in the
	      archive must be named mnesia as earlier.

    OTP-8295  The -on_load() directive can be used to run a function when a
	      module is loaded. It is documented in the section about code
	      loading in the Reference Manual.


--- megaco-3.12 ---------------------------------------------------------

    OTP-8183  Improve handling of async transaction reply. For requests
	      issued using megaco:cast, asynchronous, the reply will be
	      delivered using the handle_transaction_reply callback
	      function. If a receiver of a request does not reply in time,
	      megaco re-sends the request. If the receiver of the request
	      sends the reply at the same time as the sender re-sends, it
	      will also send a reply to the resent request (thinking the
	      first reply got lost). These two replies may arrive more or
	      less at the same time causing confusion if the request had
	      been issued using megaco:cast. In order to improve this
	      situation, a number of improvements have been done: 1) When
	      the first reply arrives, we start a timer. The timeout time
	      for the timer is specified by the config option:
	      request_keep_alive_timeout 2) We also keep track of how many
	      replies has been received (we do this as long as the
	      request_keep_alive timer is running). 3) Each reply that
	      arrives while the timer is running (including the first) will
	      be delivered using the handle_trans_reply callback function,
	      but with the UserReply augmented to include a serial number
	      indicating which reply number this is. The first reply will
	      be zero (0). Note that if the timer was *not* configured,
	      megaco will act exactly as before! 4) Replies arriving after
	      the timer has expired will be delivered in the same way as
	      before, using the handle_unexpected_trans callback function.

    OTP-8212  If the megaco app received a transaction reply, for a request
	      issued using the megaco:call function, from the wrong MG
	      (wrong MId), megaco would still deliver the reply as if it
	      came from the correct MG (right MId). This has been changed
	      so that instead the function will return with the error
	      reason. See megaco:call for more info.


--- megaco-3.13 ---------------------------------------------------------

    OTP-8239  A minor optimization by using ets:update_element instead of
	      ets:insert for some table updates.

    OTP-8249  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- mnesia-4.4.12 -------------------------------------------------------

    OTP-8250  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- observer-0.9.8.1 ----------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- odbc-2.10.6 ---------------------------------------------------------

    OTP-8250  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8291  Applied a patch from Andrew Thompson, which fixes some error
	      cases.


--- orber-3.6.14 --------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- os_mon-2.2.4 --------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8211  Memsup did not read memory correctly on MaxOSX Snowleopard.
	      This has now been corrected. (Thanks to Joel Reymont)

    OTP-8226  Removed unused code in cpu_sup.erl.


--- otp_mibs-1.0.6 ------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- parsetools-2.0.1 ----------------------------------------------------

    OTP-8197  A minor bug in leex(3) has been fixed.

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8231  leex no longer uses the deprecated regexp module.


--- percept-0.8.3 -------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- pman-2.7.1 ----------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- public_key-0.4 ------------------------------------------------------

    OTP-8250  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- reltool-0.5.1 -------------------------------------------------------

    OTP-8199  In the new release of Reltool (0.5) there is a severe bug
	      that may cause your source files to be deleted. The bug is
	      triggered when you generate a target system WITH archive
	      files AND your library directories are given with absolute
	      paths. (Library directories are given with the ERL_LIBS
	      environment variable or with the lib_dirs configuration
	      parameter.)


--- reltool-0.5.2 -------------------------------------------------------

    OTP-8254  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the HTML frames are removed.


--- runtime_tools-1.8.2 -------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- sasl-2.1.8 ----------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- snmp-4.14 -----------------------------------------------------------

    OTP-8223  [compiler] Include object and notification groups in the
	      compiled mib. This will make it possible to import groups
	      from other mibs. Also the SNMPv2-MIB-file has been updated to
	      a more up-to-date version.

    OTP-8228  [manager] Added support for message filtering in the network
	      interface module provided with the application. The component
	      that actually make the filter decisions is the network
	      interface filter module. This module must implement the
	      network interface filter behaviour for message filtering. See
	      also the Configuring the application chapter of the User's
	      Guide to see how to configure this feature.

    OTP-8237  The MIBs delivered as part of the application is now also
	      available as man pages, section 7.


--- snmp-4.15 -----------------------------------------------------------

    OTP-8229  [manager] When information of an unknown agent is received,
	      it was previously delivered to the default user via calls to
	      all the functions of the callback API depending on the info
	      type (pdu, trap, report or inform). The problem was that the
	      TargetName argument was useless in this case (only an already
	      known agent has a known/valid TargetName, but the TargetName
	      used in these call was generated "on the fly"). This has now
	      been changed so that when a message is received from an
	      unknown agent, then only handle_agent (for the default user)
	      is called, but now this call also has a Type argument, which
	      is pdu | trap | report | inform depending on what kind of
	      message was actually received, thus making it possible for
	      the user to properly analyze the data received. To handle
	      this, the snmpm_user behaviour has been updated.

    OTP-8249  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- ssh-1.1.7 -----------------------------------------------------------

    OTP-8121  Now clear all processes when a connection is terminated.

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8277  In some rare cases the connection handler could enter an
	      infinite loop.

    OTP-8278  If an SFTP server did not respond with EOF, the function
	      ssh_sftp:list_dir/2/3 would enter an infinite loop.


--- ssl-3.10.5 ----------------------------------------------------------

    OTP-8224  Allow clients to not send certificates if option
	      <c>fail_if_no_peer_cert</c> was not set.

    OTP-8244  <p>A ssl:ssl_accept/3 could crash a connection if the timing
	      was wrong.</p> <p>Removed info message if the socket closed
	      without a proper disconnect from the ssl layer. </p>
	      <p>ssl:send/2 is now blocking until the message is sent.</p>


--- ssl-3.10.6 ----------------------------------------------------------

    OTP-8275  The ssl:ssl_accept/3 issue was not properly fixed in the
	      previous patch, see OTP-8244.


--- ssl-3.10.7 ----------------------------------------------------------

    OTP-8218  A ticker process could potentially be blocked indefinitely
	      trying to send a tick to a node not responding. If this
	      happened, the connection would not be brought down as it
	      should.

    OTP-8250  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8260  Code cleanup from Kostis.


--- stdlib-1.16.3.1 -----------------------------------------------------

    OTP-8068  An erroneous type spec for <c>gen:start/6</c> caused dialyzer
	      to erroneously issue warnings when <c>{spawn_opt,
	      SpawnOptionList}</c> was passed in the option list to the
	      <c>gen_server</c> and <c>gen_fsm</c> start functions.

    OTP-8261  Fixed emulator crash caused by crypto using an old openssl
	      version that did not cope with large file descriptors.


--- stdlib-1.16.4 -------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8215  [escript] The restriction that the first line in escripts
	      must begin with #! has been removed.

	      [escript] Some command line options to the escript executable
	      has now been documented. For example you can run an escript
	      in the debugger by just adding a command line option.

	      [escript] The documentation of the escript header syntax has
	      been clarified. For example the header is optional. This
	      means that it is possible to directly "execute" .erl, .beam
	      and.zip files.

    OTP-8216  Optimized array:from_orddict/1, it is now faster and uses
	      less memory if the orddict was sparse.

	      Changed array:reset/2, it will now never expand the array
	      which it could before for non fixed arrays. See the
	      documentation.

    OTP-8227  The Erlang Pretty Printer (erl_pp) now puts the leading [ of
	      list comprehensions as well as the leading << of bit string
	      comprehensions on a separate line in order to expose the
	      Cover counter of the template.

    OTP-8232  The extension ".xrl" used for Leex input files is now
	      recognized by the compiler.

    OTP-8255  Some clarifications have been made in the documentation
	      regarding gen_server, gen_fsm, and gen_event behavior when
	      handling 'EXIT' messages from the parent process. For more
	      information see the gen_server(3), gen_fsm(3), and
	      gen_event(3) documentation.

    OTP-8295  The -on_load() directive can be used to run a function when a
	      module is loaded. It is documented in the section about code
	      loading in the Reference Manual.


--- syntax_tools-1.6.4 --------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- test_server-3.3.5 ---------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8284  It is now possible to fail a test case from the
	      end_per_testcase/2 function, by returning {fail,Reason}.

    OTP-8285  It is now possible to fail a test case by having the end_tc/3
	      framework function return {fail,Reason} for the test case.

    OTP-8286  The test_server framework API (e.g. the end_tc/3 function)
	      has been modified. See the test_server_ctrl documentation for
	      details.

    OTP-8289  If the init_per_testcase/2 function fails, the test case now
	      gets marked and counted as auto skipped, not user skipped
	      (which would previously happen).


--- toolbar-1.4.1 -------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- tools-2.6.5 ---------------------------------------------------------

    OTP-8188  The coverage analysis tool cover has been improved when it
	      comes to handling list and bit string comprehensions (a
	      counter for each qualifier), bit syntax expressions (the
	      Value and Size expressions), and try expressions (the body
	      called Exprs in the Reference Manual). A few (not all)
	      situations where several expressions are put on the same line
	      are also handled better than before.

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8210  Emacs erlang-mode improvements. 

	      A lot of erlang compilation improvements from Tomas
	      Abrahamsson, two new options erlang-compile-erlang-function
	      and erlang-compile-extra-opts. Compilation splits the window
	      to two windows. Fixed next-error.

	      Applied patch from Victor Ren, which fixes how
	      erlang-templates are loaded so they don't interfere with
	      other modes.

	      Changed the font highlighting and improved indentation of try
	      catch after constructs, and various other fixes.

	      Added rudimentary support for type() and spec(). 

	      Added a large patch from Anders Dahlin which reworked when
	      indentation and the syntax highlighting.

    OTP-8270  When loading Cover compiled code on remote nodes running code
	      in the loaded module, a badarg failure was sometimes the
	      result. This bug has been fixed.

    OTP-8273  The short-circuit operators andalso and orelse are now
	      handled correctly by the coverage analysis tool cover (it is
	      no longer checked that the second argument returns a Boolean
	      value.)


--- tv-2.1.4.4 ----------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- typer-0.1.7.3 -------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- webtool-0.8.5 -------------------------------------------------------

    OTP-8201  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.


--- wx-0.98.4 -----------------------------------------------------------

    OTP-8243  Added wx_object improvements from Mazen.

	      Fixed pid issues, reported by Mazen.

	      Added wxLogNull class, reported by Amit Murthy.

	      Various configure fixes.

    OTP-8250  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.

    OTP-8292  wx now builds with wxWidgets 2.8.4 or a later 2.8 release,
	      thanks Nico Kruber.


--- xmerl-1.2.3 ---------------------------------------------------------

    OTP-8251  A continuation clause of parse_reference/3 had it's
	      parameters in wrong order.

    OTP-8252  A new option to turn off the parsing of an external DTD is
	      added to xmerl_sax_parser:file/2 and
	      xmerl_sax_parser:stream/2 (skip_external_dtd).

    OTP-8253  The documentation is now built with open source tools
	      (xsltproc and fop) that exists on most platforms. One visible
	      change is that the frames are removed.