Bug fix release : otp_src_R14B03
Build date      : 2011-05-24

This is R14B03, the third maintenance release for the R14B major release.

You can find the README file for the release at

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

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

  http://www.erlang.org/download/otp_src_R14B03.tar.gz
  http://www.erlang.org/download/otp_win32_R14B03.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_R14B03.tar.gz.torrent
  http://www.erlang.org/download/otp_win32_R14B03.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_R14B03.tar.gz
  http://www.erlang.org/download/otp_doc_man_R14B03.tar.gz

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

The OTP Team


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

    OTP-9321  == diameter ==

	      Initial release of the diameter application.


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

    OTP-9176  Use of escript in documentation build is straightened up.
	      Thanks to Boris M�hmer for the initial patch.

    OTP-9287  The find_redist script has been updated to support new
	      windows SDKs, thanks to Dave Cottlehuber.


--- asn1-1.6.17 ---------------------------------------------------------

    OTP-9286  Test cases which started failing when timer:tc was changed to
	      not catch are corrected.

    OTP-9303  The bounds checking in the asn1_erl_driver when the length
	      value of a TLV is a Long Definite Length is corrected. Thanks
	      to Vance Shipley.


--- common_test-1.5.3.1 -------------------------------------------------

    OTP-9200  Removes backwards incompatability introduced between test_server 
              and common_test in R14B02.


--- common_test-1.5.4 ---------------------------------------------------

    OTP-9159  It was previously not possible to use timetrap value
	      'infinity' with ct:timetrap/1. This has been fixed.

    OTP-9160  It is now possible to return a tuple {fail,Reason} from
	      init_per_testcase/2. The result is that the associated test
	      case gets logged as failed without ever executing.

    OTP-9161  Common Test now accepts, but ignores, empty test case group
	      specifications.

    OTP-9195  The Common Test VTS mode has been updated to be able to
	      report test results of suites that include test case groups
	      (when it would previously crash).

    OTP-9210  Common Test now refreshes the very top level index.html page
	      at the start of each individual test in a test run, so that
	      progress of the ongoing test can be tracked by following the
	      link to its overview page.

    OTP-9233  A bug that made it impossible to cancel the previous timetrap
	      when calling ct:timetrap/1 has been corrected.

    OTP-9264  Fix bug which would make cth's to not be removed when out of
	      scope when adding a cth in suite/0 and crashing in
	      pre_init_per_suite.


--- compiler-4.7.4 ------------------------------------------------------

    OTP-9134  If a variable is matched out in binary matching and used as
	      the size for a binary element, it would seem to be unbound if
	      used in a subsequent match operation. (Thanks to Bernard
	      Duggan.)

    OTP-9152  Eliminate incorrect warning in <code>sys_core_fold</code>


--- cosEvent-2.1.11 -----------------------------------------------------

    OTP-9319  Removed superfluous usage of shy in the documentation since
	      it can cause problem if a buggy tool is used.


--- cosEventDomain-1.1.11 -----------------------------------------------

    OTP-9319  Removed superfluous usage of shy in the documentation since
	      it can cause problem if a buggy tool is used.


--- cosFileTransfer-1.1.11 ----------------------------------------------

    OTP-9319  Removed superfluous usage of shy in the documentation since
	      it can cause problem if a buggy tool is used.


--- cosNotification-1.1.17 ----------------------------------------------

    OTP-9319  Removed superfluous usage of shy in the documentation since
	      it can cause problem if a buggy tool is used.


--- cosProperty-1.1.14 --------------------------------------------------

    OTP-9319  Removed superfluous usage of shy in the documentation since
	      it can cause problem if a buggy tool is used.


--- cosTime-1.1.11 ------------------------------------------------------

    OTP-9319  Removed superfluous usage of shy in the documentation since
	      it can cause problem if a buggy tool is used.


--- cosTransactions-1.2.11 ----------------------------------------------

    OTP-9319  Removed superfluous usage of shy in the documentation since
	      it can cause problem if a buggy tool is used.


--- crypto-2.0.2.2 ------------------------------------------------------

    OTP-9225  Strengthened random number generation. (Thanks to Geoff 
              Cant)


--- crypto-2.0.3 --------------------------------------------------------

    OTP-9172  Various small documentation fixes (Thanks to Bernard Duggan)

    OTP-9275  New crypto support for streaming of AES CTR and HMAC. (Thanks
	      to Travis Jensen)

    OTP-9280  Due to standard library DLL mismatches between versions of
	      OpenSSL and Erlang/OTP, OpenSSL is now linked statically to
	      the crypto driver on Windows. This fixes problems starting
	      crypto when running Erlang as a service on all Windows
	      versions.


--- dialyzer-2.4.3 ------------------------------------------------------

    OTP-9175  Fix the name of an error function(Thanks to Maria christakis)

    OTP-9219  Fix crash related with the contract blame assignment patch

    OTP-9226  dialyzer/doc: synchronize manual.txt and dialyzer.xml (Thanks
	      to Tuncer Ayaz)

    OTP-9278  Simplify Dialyzer's test suite structure

	      *_SUITE.erl files are now automatically generated by the
	      respective data directories by the Makefile.


--- diameter-0.9 --------------------------------------------------------

    OTP-9321  Initial release of the diameter application.

    OTP-9323  Documentation completion.


--- docbuilder-0.9.8.10 -------------------------------------------------

    OTP-9143  fop 1.0 crashed when building the docbuilder pdf with the
	      following message "java.lang.IllegalArgumentException: factor
	      < 0; was: -1". <br/> This is a known bug in fop 1.0 (fop bug
	      id: Bug 50524) when there is a word that consist of a single
	      soft hyphen (&amp;shy;). this has been fixed in fop source
	      archive but not it's not in a release yet. It's fixed in our
	      documentation by removing the soft hyphens where this is a
	      problem.


--- edoc-0.7.8 ----------------------------------------------------------

    OTP-9165  Fix infinite loop for malformed edoc input

	      When processing an edoc comment with ``` in it, if the
	      comment ends without a matching ''' then an infinite loop
	      occurs in the function edoc_wiki:strip_empty_lines/2. This
	      change fixes that by adding a clause to return from the
	      function upon the end of the comment input. This allows an
	      error to be thrown to indicate the problem, which is the same
	      behaviour as leaving either `` or ` unmatched. (Thanks to
	      Taylor Venable)

    OTP-9301  Bugs concerning the option report_missing_types that was
	      added in EDoc-0.7.7 have been corrected: the option was
	      misspelled in the source, and local definitions as well as
	      the function tags @private and @hidden were not handled
	      correctly. (Thanks to Manolis Papadakis.)


--- erl_docgen-0.2.5 ----------------------------------------------------

    OTP-9261  The support for using Erlang specifications and types has
	      been improved.


--- erl_interface-3.7.4 -------------------------------------------------

    OTP-9151  Fix using sizeof() for array given as function argument

	      When using the sizeof() operator for an array given as
	      function argument it returns the size of the pointer. In this
	      case, the affected function hex(char digest[16], char
	      buff[33]) will just print 4 or 8 byte instead of the full
	      length of 16 bytes, on 32bit and 64bit systems respectively.
	      (Thanks to Cristian greco)

    OTP-9241  Initialize to and to_name in erl_receive_msg. (Thanks to
	      G�ran Larsson)

    OTP-9252  erl_interface: fix compile error(Thanks to Michael Santos)


--- erts-5.8.3.1 --------------------------------------------------------

    OTP-9181  Ets table type ordered_set could order large integer keys 
              wrongly on pure 64bit platforms. This is now corrected. 

    OTP-9197  A "receive after timeout" could be lost in a process being 
              garbage collected by another process. The garbage collect 
              was either explicit using the garbage_collect/1 BIF, or 
              implicit during code loading. The status of a process was 
              unnecessarily set to waiting before a process was enqueued 
              in a run queue. This bug was harmless up until OTP-R14B01. 
              In OTP-R14B02 erlang:hibernate/3 was fixed (OTP-9125). After 
              the introduction of OTP-9125, the previously harmless process 
              status bug sometimes caused erroneous badarg exceptions 
              from process_info(). OTP-9125 also introduced a thread unsafe 
              access to the status field of a process which now also have 
              been fixed.


--- erts-5.8.3.2 --------------------------------------------------------

    OTP-9258  Fix halfword emulator bug in ets:select_delete for ordered_set 
              that caused emulator to crash.


--- erts-5.8.4 ----------------------------------------------------------

    OTP-9118  Fix binary and iolist overflow problems. Typically problems
	      arose in length calculation where the result would exceed (1
	      bsl 32 - 1).

    OTP-9139  Using the old erlang shell (i.e. erl instead on werl) on
	      windows and doing several init:restart's would eventually
	      hang the VM. That is no longer the case.

    OTP-9140  Removed recursive C code when printing Erlang terms to
	      buffers, avoiding stack overflows that could cause VM to
	      crash.

    OTP-9145  The send_timeout option in gen_tcp did not work properly in
	      active mode or with {active,once} options. This is now
	      corrected.

    OTP-9150  New enif_is_exception function to allow NIFs to determine
	      whether an ERL_NIF_TERM represents an exception. (Thanks to
	      Steve Vinoski)

    OTP-9154  Fixed various typos across the documentation (Thanks to
	      Tuncer Ayaz)

    OTP-9163  Remove duplicate stack entries which could occur after
	      calling certain BIFs.

    OTP-9164  A race when starting two nodes simultaneously using run_erl
	      has been removed.

    OTP-9189  Add documentation on .erlang processing back again (Thanks to
	      Gabor Liptak)

    OTP-9192  Remove gratuitous paren in driver_entry(Thanks to Tuncer
	      Ayaz)

    OTP-9194  Fix some wrong pointer dereferences (Thanks to Cristian
	      Greco)

    OTP-9205  erts: Remove unused variables (Thanks to Tuncer Ayaz)

    OTP-9209  The documentation for init:get_args/0 has been removed.
	      init:get_args/0 itself was deprecated in R9C and removed in
	      R12B. (Thanks to Eric Pailleau.)

    OTP-9211  A process being garbage collected by another process could be
	      scheduled on another scheduler. This prevented this scheduler
	      from doing any useful work until the garbage collection was
	      done. This either occurred due to a explicit call to the
	      garbage_collect/1 BIF, or due to a garbage collection part of
	      code loading. A process being garbage collected like this
	      will now not be scheduled until the garbage collection has
	      completed.

    OTP-9213  Allow user to specify the IP address epmd binds to

	      The IP address(es) epmd binds to can now be specified by the
	      user, either via epmd's new "-address" option or (if that's
	      not used) by setting the environment variable
	      ERL_EPMD_ADDRESS. Multiple addresses may be specified using a
	      comma-separated list. If the loopback address is not in this
	      list, it will be added implicitly, so that the daemon can be
	      queried by an interactive epmd process.(Thanks to Holger
	      Wei�)

    OTP-9214  epmd: include host address in local access check

	      In FreeBSD jails, the source and destination address of
	      connections to localhost are changed to be the IP address of
	      the jail. Consider connections from the host's IP address to
	      itself (e.g., the source and destination address match) to be
	      local for the access control checks. (Thanks to Michal Santos
	      and Tom at diogunix.com)

    OTP-9215  Fix list returned by net_kernel:epmd_module

	      Function epmd_module of net_kernel returns a list instead of
	      an atom, when the epmd_module-flag is used. (Thanks to Markus
	      Knofe)

    OTP-9223  Fix epmd's dbg_perror() output

	      The dbg_perror() function now hands the current errno value
	      over to dbg_gen_printf(). This fixes the problem that errno
	      had been reset to zero by the time it was used (to print the
	      corresponding error message) in the dbg_gen_printf()
	      function. (Thanks to Holger Wei�)

    OTP-9224  heart: remove garbage appended to heart command

	      heart:get_cmd/0 is documented to return an empty string if
	      the command is cleared. get_cmd/0 returns 2 extra bytes: 1
	      byte for the trailing null, 1 byte from the op (the op is an
	      unsigned char and 2 bytes are allocated for it in the
	      returned buffer). (Thanks to Michael Santos)

    OTP-9245  file: fix hang reading compressed files

	      The gzio driver goes into an infinite loop when reading past
	      the end of a compressed file. Reported-By: Alex Morarash
	      (Thanks to Michael Santos)

    OTP-9250  Eliminate alias warnings from gcc 4.5.2

    OTP-9251  Unsigned integer may overflow in error message (Thanks to
	      Michael Santos)

    OTP-9253  Driver names should be strings, not atoms

    OTP-9254  driver_entry: Remove gratuitous paren and fix typo (Thanks to
	      Tuncer Ayaz)

    OTP-9262  Fix format specifiers in erl_exit messages

	      Fix an error message by using an unsigned integer specifier
	      as seen in a tweet by @metabrew: #erlang VM crashed with "no
	      next heap size found: -2090496108, offset 0", suddenly
	      allocated all available RAM

	      Also correct mis-typed string formats in bif.c.(Thanks to
	      Michael Santos)

    OTP-9263  net_drv: remove unused tcp request id inet_drv: remove
	      gratuitous assignment (Thanks to Tuncer Ayaz)

    OTP-9270  Teach run_erl RUN_ERL_DISABLE_FLOWCNTRL for disabling flow
	      control

	      Flow control can cause unwanted behaviour of the beam
	      process, if accidentally hit Ctrl-S (instead of Ctrl-D to
	      detach) the entire beam may be blocked.

	      Fix this problem by making it possible to turn off flow
	      control by setting the environment variable
	      RUN_ERL_DISABLE_FLOWCNTRL. (Thanks to Jonas Faklkevik)

    OTP-9276  Remove unnecessary validation copy in prim_file:drv_command/3
	      (Thanks to Tony Rogvall)

    OTP-9279  Symbolic link handling on windows have been slightly updated
	      to map error conditions more consequently and correctly read
	      directory links created outside of the Erlang environment.

    OTP-9280  Due to standard library DLL mismatches between versions of
	      OpenSSL and Erlang/OTP, OpenSSL is now linked statically to
	      the crypto driver on Windows. This fixes problems starting
	      crypto when running Erlang as a service on all Windows
	      versions.

    OTP-9281  The following bugs due to missing memory barriers have been
	      fixed:

	      ETS tables using the write_concurrency option could
	      potentially get into an internally inconsistent state.

	      ETS tables using the ordered_set option could potentially get
	      into an internally inconsistent state.

	      A number of memory barriers have been added when building
	      with the libatomic_ops API (i.e. when passing
	      --with-libatomic_ops=PATH to configure) and the tilera
	      atomics API (i.e. when building for the tilera chip). Note
	      that these bugs were due to erroneous usage of the APIs, and
	      not in the implementations of the APIs. When using these APIs
	      the following bugs where present:

	      The BIF erlang:ports/0 could return an erroneous result.

	      A thread blocking other threads during code loading, or setup
	      of tracing could potentially read invalid data.

	      Fixation of ETS tables could potentially get into an
	      internally inconsistent state.

    OTP-9291  Halfword emulator memory handling improvements:

	      Much more of internal memory structures have been made able
	      to use "high" memory and are no longer restricted to the 4Gb
	      limit that still applies for all process heap data.

	      Fixed faulty values from erlang:memory() caused by 32-bit
	      counter overflow.

	      New counter low in erlang:memory() that sums up all memory
	      restricted by 4Gb limit.

    OTP-9292  Fix halfword bug for ETS ordered_set when doing select/match
	      with partly bound key.

    OTP-9297  The value set in the undocumented and unsupported
	      ERL_version_FLAGS (e.g. ERL_R14B03_FLAGS) environment
	      variable can now be overridden by the command line (similar
	      to ERL_AFLAGS).

    OTP-9298  Fix bug in code:is_module_native that caused crash for
	      deleted modules.

    OTP-9302  Calling driver_async_cancel() could cause a scheduler thread
	      to enter an eternal loop doing no useful work. (Thanks to
	      Anders Ramsell)


--- et-1.4.3 ------------------------------------------------------------

    OTP-9238  The popup window 'contents viewer' did not display properly
	      on Windows.


--- eunit-2.1.7 ---------------------------------------------------------

    OTP-9220  Increase depth of error messages in Eunit Surefire reports

	      Currently, error messages in Eunit Surefire reports are
	      shortened just like when written to a terminal. However, the
	      space limitations that constrain terminal output do not apply
	      here, so it's more useful to include more of the error
	      message. The new depth of 100 should be enough for most
	      cases, while protecting against runaway errors. (Thanks to
	      Magnus Henoch)

    OTP-9269  Don't let eunit_surefire report back to eunit when stopping

	      When eunit is terminating, a stop message is sent to all
	      listeners and eunit then waits for *one* result message but
	      previously both eunit_tty and eunit_surefire sent a response
	      on error. Don't send a result message from eunit_surefire;
	      let eunit_tty take care of all result reporting, both
	      positive and negative to avoid race conditions and
	      inconsistencies. (Thanks to Klas Johansson)


--- hipe-3.8 ------------------------------------------------------------

    OTP-9182  Fix hipe bug causing minor heap corruption related to binary
	      matching. The bug has not been confirmed as the cause of any
	      actual fault symptom.

    OTP-9198  Enable HiPE by default when compiling for PPC64

    OTP-9277  Fix handling of <<_:N,_:_*M>> type expressions Fix the
	      argument of erlang:list_to_bitstring/1 Remove unneeded
	      function 'sequence/2' Same functionality provided by
	      string:join/2.


--- inets-5.6 -----------------------------------------------------------

    OTP-9094  [httpc] Add support for upload body streaming (PUT and POST)

    OTP-9114  [ftp] Added (type) spec for all exported functions.

    OTP-9123  [httpd] mod_esi:deliver/2 made to accept binary data.

    OTP-9124  [httpd] Prevent XSS in error pages. Prevent user controlled
	      input from being interpreted as HTML in error pages by
	      encoding the reserved HTML characters.

    OTP-9131  [httpd] Wrong security property names used in documentation.
	      security_data_file used instead of data_file.
	      security_max_retries instead of max_retries.
	      security_block_time instead of block_time.
	      security_fail_expire_time instead of fail_expire_time.
	      security_auth_timeout instead of auth_timeout.

    OTP-9157  [httpd] Improved error messages.

    OTP-9158  [httpd] Fix timeout message generated by mod_esi. When a
	      mod_esi request times out, the code to send a timeout
	      response was incorrect and generated an internal server error
	      as well as an invalid response line.

    OTP-9172  Various small documentation fixes (Thanks to Bernard Duggan)

    OTP-9202  [httpd] Extended support for file descriptors. In order to be
	      able to bind to a privileged port without running the erlang
	      VM as root, the support for using file descriptors has been
	      improved. It is now possible to add to the config (option fd)
	      when calling the inets:start(httpd, ...) function.

    OTP-9230  Default ssl implementation changed to essl (erlang ssl).

    OTP-9246  [httpc] httpc manager crashes. When a request results in a
	      retry, the request id will be "reused" in the previous
	      implementation a race condition could occur causing the
	      manager to crash. This is now avoided by using
	      proc_lib:init_ack and gen_server:enter_loop to allow more
	      advanced initialization of httpc_handlers without blocking
	      the httpc_manger and eliminating extra processes that can
	      cause race conditions.

    OTP-9289  Calling gen_tcp:connect with option {ip, {127,0,0,1}} results
	      in an exit with reason badarg. Neither SSL nor INETS catches
	      this, resulting in crashes with incomprehensible reasons.


--- kernel-2.14.4 -------------------------------------------------------

    OTP-9145  The send_timeout option in gen_tcp did not work properly in
	      active mode or with {active,once} options. This is now
	      corrected.

    OTP-9154  Fixed various typos across the documentation (Thanks to
	      Tuncer Ayaz)

    OTP-9168  Fix typo in doc of rpc:pmap/3 (Thanks to Ricardo Catalinas
	      Jim�nez)

    OTP-9221  A bug in inet_res, the specialized DNS resolver, has been
	      corrected. A late answer with unfortunate timing could cause
	      a runtime exception. Some code cleanup and improvements also
	      tagged along. Thanks to Evegeniy Khramtsov for a pinpointing
	      bug report and bug fix testing.

    OTP-9268  Types and specifications have been added.

    OTP-9272  Erlang types and specifications are used for documentation.

    OTP-9337  Two opaque types that could cause warnings when running
	      Dialyzer have been modified.


--- mnesia-4.4.18 -------------------------------------------------------

    OTP-9170  Call chmod without the "-f" flag "-f" is a non-standard 
              chmod option which at least SGI IRIX and HP UX do not support. 
              As the only effect of the "-f" flag is to suppress warning 
              messages, it can be safely omitted. (Thanks to Holger Wei�) 

    OTP-9186  Mnesia sometimes failed to update meta-information in large 
              systems, which could cause table content to be inconsistent 
              between nodes.


--- mnesia-4.4.19 -------------------------------------------------------

    OTP-9285  Mnesia could crash if mnesia:add_table_index/2 was invoked
	      before the table was loaded on all nodes.

    OTP-9304  Add {majority, boolean()} per-table option.

	      With {majority, true} set for a table, write transactions
	      will abort if they cannot commit to a majority of the nodes
	      that have a copy of the table. Currently, the implementation
	      hooks into the prepare_commit, and forces an asymmetric
	      transaction if the commit set affects any table with the
	      majority flag set. In the commit itself, the transaction will
	      abort if it cannot satisfy the majority requirement for all
	      tables involved in the transaction.(Thanks to Ulf Wiger)


--- orber-3.6.21 --------------------------------------------------------

    OTP-9326  Eliminated Dialyzer warnings.


--- os_mon-2.2.6 --------------------------------------------------------

    OTP-9216  Add NetBSD support to memsup and disksup (Thanks to Andrew
	      Thompson)

    OTP-9217  Add support for DragonFlyBSD to memsup

	      DragonFly was partially supported by os_mon already but when
	      trying to start the os_mon application it'd crash with an
	      error about an unknown operating system in memsup. This patch
	      changes memsup to use the FreeBSD sysctl method to get memory
	      information when on DragonFly. (Thanks to Andrew Thompson )


--- public_key-0.12 -----------------------------------------------------

    OTP-9144  The public_key application now supports encode/decode of ssh
	      public-key files.


--- reltool-0.5.6 -------------------------------------------------------

    OTP-9135  The system level option app_files is documented to allow the
	      values keep | strip | all, but it only allowed keep. This is
	      corrected.

    OTP-9229  Allow the same module name in multiple applications visible
	      to reltool, as long as all but one of the
	      applications/modules are explicitely excluded. (Thanks to
	      Andrew Gopienko and Jay Nelson)


--- sasl-2.1.9.4 --------------------------------------------------------

    OTP-9142  Remove traces of release_handler reading from filesystem when
	      it has Masters list

	      There are a couple of places in release_handler and
	      release_handler_1 that assumed it has a disk to read from,
	      which in the case of an erl_prim_loader Loader other than
	      efile is not necessarily true

	      Add check_paths/2 to do the equivalent of check_path/1 for
	      when there is a Masters list

	      Change get_vsn to no longer get sent File paths but instead
	      use the Bin since beam_lib:version being sent a file path
	      causes it to read the local file system

	      Add get_current_vsn/1 as an equivalent to
	      beam_lib:version(code:which(Mod)), but using
	      erl_prim_loader:get_file instead of reading from local file
	      system

	      (Thanks to Steven Gravell)

    OTP-9146  Change default behaviour to not check src code when creating
	      release

	      Add new option src_tests to systools:make_script and
	      systools:make_tar. The old option no_module_tests is now
	      ignored as this is the default behaviour.

    OTP-9149  rb:stop did sometimes return {error,running}. This came from
	      supervisor:delete_child and happened when the rb_server has
	      not yet terminated when this function was called. Instead of
	      having a separate gen_server call to rb_server for stopping
	      the process, supervisor:terminate_child is now called. This
	      is a synchronous function - i.e. it waits for the process to
	      actually terminate before it returns.

	      A file descriptor leak in rb:scan_files is corrected. The
	      index file was never closed after reading.

	      A mismatch in the behavior of rb:filter, when filter included
	      'no', is corrected. Such filters will now return *all*
	      non-matching reports, not only the 'proplist' reports.

    OTP-9166  Start and end date for rb:filter/2 was specified as
	      {{Y-M-D},...} in the help text instead of {{Y,M,D},...}. This
	      has been corrected.

    OTP-9185  If some, but not all, of the sasl environment variables
	      related to the log_mf_h error handler were missing sasl would
	      successfully start but silently skip starting log_mf_h. This
	      is corrected so sasl startup will now fail if one or two of
	      the three variables are given. If none of the variables are
	      given, sasl will start as before without starting log_mf_h.


--- snmp-4.20 -----------------------------------------------------------

    OTP-9022  Fixed encode/decode of values of type Counter32. This type is
	      an unsigned integer 32, but is actually encoded as an signed
	      integer 32, but the encode/decode function treated it as if
	      it was encoded as an unsigned integer 32.

    OTP-9088  TBD

    OTP-9119  [agent] Add handling multiple engine-id(s) for trap sending.
	      See snmp_community_mib:add_community/6 for more info.

    OTP-9162  [manager] Add override options argument to request functions.

    OTP-9174  [manager] The old API functions (for get and set requests)
	      are now officially deprecated. They will be removed as of
	      R16B.

    OTP-9183  [agent] Allow user to pass "extra info" to the net-if process
	      when sending notifications.

    OTP-9208  Added type specs for functions that do not return.


--- ssh-2.0.5 -----------------------------------------------------------

    OTP-9225  Strengthened random number generation. (Thanks to Geoff 
              Cant)


--- ssh-2.0.6 -----------------------------------------------------------

    OTP-9232  A memory leak has been fixed. I.e. per terminated connection 
              the size of a pid and the length of a user name string was 
              not cleared.


--- ssh-2.0.7 -----------------------------------------------------------

    OTP-9273  An unexpected message would crash the ssh_connection_handler 
              and close the connection. Now an error message is generated 
              instead.


--- ssl-4.1.5 -----------------------------------------------------------

    OTP-9227  Updated dialyzer spec

    OTP-9283  Invalidation of a session for reusing should first flag that
	      the session may no longer be reused and then later when all
	      possible pending reuses have been handled delete the session
	      from the database. This could otherwise cause the client to
	      terminate due to {badarg,[{erlang,byte_size,[undefined]}, and
	      the server to terminate due to
	      {{badmatch,{resumed,undefined}}.

    OTP-9289  Calling gen_tcp:connect with option {ip, {127,0,0,1}} results
	      in an exit with reason badarg. Neither SSL nor INETS catches
	      this, resulting in crashes with incomprehensible reasons.

    OTP-9310  In TLS 1.1, failure to properly close a connection no longer
	      requires that a session not be resumed. This is a change from
	      TLS 1.0 to conform with widespread implementation practice.
	      Erlang ssl will now in TLS 1.0 conform to the widespread
	      implementation practice instead of the specification to avoid
	      performance issues.


--- stdlib-1.17.4 -------------------------------------------------------

    OTP-9147  The default value undefined was added to records field types
	      in such a way that the result was not always a well-formed
	      type. This bug has been fixed.

    OTP-9148  Update index file atomically

	      Since the log_mf_h index file might be read by other
	      processes than the error handler (e.g. by the rb tool), this
	      file should be updated atomically. This will avoid hitting
	      the time gap between opening the file in write mode (and thus
	      emptying the file) and the actual update with the new
	      contents. To do this, a temporary file is written, and the
	      file:rename/1 used to replace the real index file.

    OTP-9154  Fixed various typos across the documentation (Thanks to
	      Tuncer Ayaz)

    OTP-9167  Supervisors should not save child-specs for temporary
	      processes when they terminate as they should not be
	      restarted. Saving the temporary child spec will result in
	      that you can not start a new temporary process with the same
	      child spec as an already terminated temporary process. Since
	      R14B02 you can not restart a temporary temporary process as
	      arguments are no longer saved, it has however always been
	      semantically incorrect to restart a temporary process. Thanks
	      to Filipe David Manana for reporting this and suggesting a
	      solution.

    OTP-9169  Add timer:tc/1 and remove the catch in tc/2 and tc/3. The
	      time measuring functions will thus no longer trap exits,
	      errors or throws caused by the measured function.

    OTP-9172  Various small documentation fixes (Thanks to Bernard Duggan)

    OTP-9201  Allow supervisor:terminate_child(SupRef,Pid) for
	      simple_one_for_one supervisors

	      supervisor:terminate_child/2 was earlier not allowed if the
	      supervisor used restart strategy simple_one_for_one. This is
	      now changed so that children of this type of supervisors can
	      be terminated by specifying the child's Pid.

	      (Thanks to Vance Shipley.)

    OTP-9218  Fix format_status bug for unregistered gen_event processes

	      Port the gen_fsm code for format_status to gen_event in order
	      to prevent a lists:concat([...,pid()]) crash when calling
	      sys:get_status/1 on an unregistered gen_event process.

	      Refactor format_status header code from gen_* behaviours to
	      module gen.

	      Extend the format_status tests in gen_event_SUITE to cover
	      format_status bugs with anonymous gen_event processes.
	      (Thanks To Geoff Cant)

    OTP-9242  List of pids changed to 'set' in supervisor for dynamic
	      temporary children. Accessing the list would not scale well
	      when adding/deleting many children. (Thanks to Evgeniy
	      Khramtsov)

    OTP-9244  Change pool module to attempt to attach to nodes that are
	      already running

	      The pool module prints out an error message and takes no
	      further action for nodes that are already running. This patch
	      changes that behavior so that if the return from
	      slave:start/3 is {already_running, Node} then an attempt to
	      attach to the node is still made. This makes sense because
	      the node has been specified by the user in the .hosts.erlang
	      file indicating a wish for the node to be part of the pool
	      and a manual attach can be successfully made after the pool
	      is started.(Thanks to Kelly McLaughlin)

    OTP-9256  unicode: document 16#FFFE and 16#FFFF (non chars)(Thanks to
	      Tuncer Ayaz)

    OTP-9267  Types and specifications have been added.

    OTP-9271  Erlang types and specifications are used for documentation.

    OTP-9282  Allow Dets tablenames to be arbitrary terms.

    OTP-9307  re: remove gratuitous "it " in manpage (Thanks to Tuncer
	      Ayaz)

    OTP-9322  A bug in erl_eval(3) has been fixed.

    OTP-9333  A specification that could cause problems for Dialyzer has
	      been fixed. An opaque type in erl_eval has been turned in to
	      a ordinary type. This is a temporary fix.


--- syntax_tools-1.6.7.1 ------------------------------------------------

    OTP-9180  In a file containing declarations and comments without any
	      empty lines between them, the recomment_forms() function
	      would associate a multi-line comment with the declaration
	      above it rather than the one following it. (Thanks to Richard
	      Carlsson and Kostis Sagonas.)


--- test_server-3.4.3.1 -------------------------------------------------

    OTP-9200  Removes backwards incompatability introduced between test_server 
              and common_test in R14B02.


--- test_server-3.4.4 ---------------------------------------------------

    OTP-9138  When running tests with auto-compilation disabled, Common
	      Test could only display the test suite source code on html
	      format in the test case log if the source file was located in
	      the same directory as the pre-compiled suite. This has been
	      modified so that Common Test now tries to locate the source
	      file by means of the test suite module info
	      (Suite:module_info/1). As a result, a suite may now be
	      compiled to a different output directory (e.g. $MYTEST/bin)
	      than the source code directory (e.g. $MYTEST/src), without
	      the source-code-to-html generation being affected.

    OTP-9159  It was previously not possible to use timetrap value
	      'infinity' with ct:timetrap/1. This has been fixed.

    OTP-9160  It is now possible to return a tuple {fail,Reason} from
	      init_per_testcase/2. The result is that the associated test
	      case gets logged as failed without ever executing.

    OTP-9233  A bug that made it impossible to cancel the previous timetrap
	      when calling ct:timetrap/1 has been corrected.

    OTP-9249  Added DragonflyBSD check in test_server configure.


--- tools-2.6.6.4 -------------------------------------------------------

    OTP-9179  Change make:files to behave more like erlc

	      This change removes the unnecessary checks on the files when
	      make:files is called and allows the error checking to be done
	      in compile:file, where the error messages are produced. It
	      does not affect the return value.

	      (Thanks to Sam bobroff)

    OTP-9204  add user specified compiler options on form reloading

	      In order to be able to test non-exported functions from
	      another (test) module it is necessary to compile the specific
	      module (at least during the test phase) with the export_all
	      compiler option. This allows complete separation of testing
	      and productive code. At the moment it is not possible to
	      combine this with a test code coverage using the cover
	      module. The problem is that when cover compiling a module
	      using cover:compile_* the code is reloaded into the emulator
	      omitting/filtering the passed user options. In my example
	      above the export_all option would be removed and the
	      non-exported functions cannot be called any more. (Thanks to
	      Tobias Schlager)

    OTP-9255  Inhibit electric newline after "->" when inside a type spec

	      The Erlang mode for Emacs inserts a newline after every "->",
	      which saves you one keystroke when writing a function, but
	      that is inappropriate when writing a type spec, as you'd
	      normally keep the spec on one line. This change inhibits the
	      automatic insertion when the current line starts with "-spec"
	      or "-type".(Thanks to Magnus Henoch)

    OTP-9300  Add a check logic to prevent file descriptor leak

	      cover module handle files as raw in export and import. Assert
	      counts of ports are the same at the beginning and at the end
	      of the test case.(Thanks to Shunichi Shinohara)


--- tv-2.1.4.7 ----------------------------------------------------------

    OTP-9153  tv: Allow table viewer to display refs, ports and small
	      binaries

	      Table viewer displayed #Port, #Ref, or #Bin as place holders
	      for their respective object types in ets and mnesia tables.
	      This can make table viewer difficult to use when viewing
	      tables containing those data types. It doesn't make sense to
	      render large binaries so #Bin will still be used for binaries
	      that exceed 100 bytes. (Thanks to Blaine whittle)


--- typer-0.9.1 ---------------------------------------------------------

    OTP-9173  Add options -pa Dir and -pz Dir to TypEr

	      Setting code path options is useful e.g. when analyzing
	      programs that use parse transforms.(Thanks to Tomas
	      Abrahamsson)


--- webtool-0.8.8 -------------------------------------------------------

    OTP-9172  Various small documentation fixes (Thanks to Bernard Duggan)


--- wx-0.98.10 ----------------------------------------------------------

    OTP-9324  Fixed wx app files on mac and solaris. Thanks Jachym Holecek
	      and Joe Williams.


--- xmerl-1.2.9 ---------------------------------------------------------

    OTP-9187  Fix minor typos and improve punctuation in the xmerl_xpath
	      @doc comment (Thanks to Marcus Marinelli)

    OTP-9228  Added the xmerl test suites and examples to the open source
	      distribution.

    OTP-9274  Prevent xmerl from over-normalizing character references in
	      attributes

	      Section 3.3.3 of the XML Recommendation gives the rules for
	      attribute-value normalization. One of those rules requires
	      that character references not be re-normalized after being
	      replaced with the referenced characters. (Thanks to Tom
	      Moertel)

    OTP-9288  Fixed the default encoding option in SAX parser.