Bug fix release : otp_src_R11B-4
Build date      : 2007-03-28

This is bug fix release 4 for the R11B release.
You can download the full source distribution from
 
  http://www.erlang.org/download/otp_src_R11B-4.tar.gz
  http://www.erlang.org/download/otp_src_R11B-4.readme (this file)

Note: To unpack the TAR archive you need a GNU TAR compatible
program. For instance, on MacOS X before 10.3 you must use the 'gnutar' command;
you can't use the 'tar' command or StuffIt to unpack the sources.


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_R11B-4.exe


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

  http://www.erlang.org/download/otp_doc_html_R11B-4.tar.gz
  http://www.erlang.org/download/otp_doc_man_R11B-4.tar.gz

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

The OTP Team


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

    OTP-6505  There is a new escript program that can be used for writing
              scripts in Erlang. Erlang scripts don't need to be compiled
              and any arguments can be passed to them without risk that
              they are interpreted by the Erlang system.

    OTP-6546  Dialyzer (in the modes where either source or BEAM code which
              contains debug_info is analyzed) spits out line information
              for all discrepancies. This has been a major change, worth of
              increasing the version number.

              We warn users that *considerably* more discrepancies are
              identified by this version of Dialyzer compared with previous
              ones and applications. If, for some reason, warnings
              generated by previous versions of Dialyzer are preferable,
              the command line option --old_style can be employed.


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

    OTP-6510  Fixed some small errors and typos in the system
              documentation. (Thanks to Ulf Wiger, Bob Ippolito).


--- appmon-2.1.8 ------------------------------------------------------------

    OTP-6534  Removed some dead code from the appmon_info and process_info
              modules. Also rewritten large parts of process_info to make
              it easier to read and more efficient.


--- asn1-1.4.4.14 ------------------------------------------------------------

    OTP-6405  Now it is possible to use 'asn1config' and 'inline' options
              together. It is also possible to use 'inline' on a single
              file like: asn1ct:compile("MyASN1spec.asn",[inline]).

    OTP-6462  Data in info/0 in generated code is moved to attribute
              asn1_info, thus vsn value remains the same if compiler
              options for asn1-spec differs but the generated code is the
              same.

    OTP-6506  Dialyzer warnings on asn1 are removed, i.e. dead code
              removed.


--- compiler-4.4.4 ------------------------------------------------------------

    OTP-6461  Incorrect code could be generated for bit syntax matching if
              the old inliner was used with aggressive settings.


--- cosNotification-1.1.4 ------------------------------------------------------------

    OTP-6527  Removed some unused code.


--- cosProperty-1.1.2 ------------------------------------------------------------

    OTP-6527  Removed some unused code.


--- cosTransactions-1.2.1 ------------------------------------------------------------

    OTP-6527  Removed some unused code.


--- debugger-3.1.1 ------------------------------------------------------------

    OTP-6552  Removed some dead code from dbg_ieval.


--- dialyzer-1.6.0 ------------------------------------------------------------

    OTP-6546  Dialyzer (in the modes where either source or BEAM code which
              contains debug_info is analyzed) spits out line information
              for all discrepancies. This has been a major change, worth of
              increasing the version number.

              We warn users that *considerably* more discrepancies are
              identified by this version of Dialyzer compared with previous
              ones and applications. If, for some reason, warnings
              generated by previous versions of Dialyzer are preferable,
              the command line option --old_style can be employed.

    OTP-6547  Dialyzer handles term comparison operators more precisely and
              is able to identify more discrepancies in 'if' or 'case'
              statements with comparisons.

              Dialyzer has more precise type information for many standard
              OTP functions.


--- edoc-0.7.2 ------------------------------------------------------------

    OTP-6457  Some missing files have been added:
              ~/include/edoc_doclet.hrl, ~/priv/edoc.dtd, ~/priv/erlang.png

    OTP-6568  Undefined macros only cause warnings, not errors.

              New, built-in @version macro.

              Documented the @docfile and @headerfile generic tags.

              Added recognition of "TODO:" as a wiki equivalent for @todo
              tags.

              Added documentation about overview pages.

              'where' and ',' are allowed as separators in specs.

              Corrected ambiguity in spec grammar (possible incompatibility
              issue - parentheses may need to be added in some cases, in
              existing code).

              Experimental (and undocumented) support for @param and
              @return tags and corresponding "..." annotations on @spec
              parameters.


--- erts-5.5.3.1 ------------------------------------------------------------

    OTP-6430  Faster system calls for keeping the time accurate are used on
	      newer Linux kernels, which can result in a significant
	      speed-up of the emulator on those systems.

    OTP-6431  <c>erlang:system_flag(multi_scheduling, block)</c> could
	      cause the emulator with SMP support to deadlock.

    OTP-6432  The runtime system with SMP support failed to call the driver
	      timeout callback of ports in state closing. This could cause
	      ports to fail flushing their I/O queues.

    OTP-6437  The <c>{Port, closed}</c> message from a closed port could
	      arrive at the port owner before <c>Port</c> had been removed
	      from the result of <c>erlang:ports/0</c> in the runtime
	      system with SMP support.

    OTP-6438  The async id of async jobs created via <c>driver_async</c>
	      wasn't created in a thread safe manner in the runtime system
	      with SMP support. This could in worst case cause
	      <c>driver_async_cancel()</c> to cancel another async job than
	      intended.

    OTP-6440  Added number of async threads and number of scheduler threads
	      to the system information that can be retrieved via
	      <c>driver_system_info()</c>. For more information see the
	      <c>erl_driver(3)</c> documentation.

    OTP-6447  Under rare circumstances a terminating connection between two
	      nodes could cause an instantaneous reconnect between the two
	      nodes to fail on the runtime system with SMP support.

    OTP-6452  In the documentation of the driver entry field
	      <c>extended_marker</c> of erts version 5.5.3
	      (<c>driver_entry(3)</c>), the following is stated: "The
	      following fields are ignored if this field is equal to
	      <c>0</c>". This is a documentation bug and has been changed
	      to: "If this field is equal to <c>0</c>, all the fields
	      following this field also <em>have</em> to be <c>0</c>, or
	      <c>NULL</c> in case it is a pointer field".

	      The runtime check for detection of old incompatible drivers
	      made when loading drivers has been improved. The emulator
	      can, however, not make sure that a driver that doesn't use
	      the extended driver interface isn't incompatible. Therefore,
	      when loading a driver that doesn't use the extended driver
	      interface, there is a risk that it will be loaded also when
	      the driver is incompatible. When the driver use the extended
	      driver interface, the emulator can verify that it isn't of an
	      incompatible driver version. You are therefore advised to use
	      the extended driver interface.

	      For more information see the <c>erl_driver(3)</c> and
	      <c>driver_entry(3)</c> documentation.

    OTP-6465  When <c>SIGUSR1</c> is received by the runtime system with
	      SMP support, the <c>erl_crash.dump</c> is now written by a
	      special thread, instead of as before directly from the signal
	      handler.

    OTP-6473  An erroneous packet size could be used for the first messages
	      passed through a newly established connection between two
	      Erlang nodes. This could cause messages to be discarded, or
	      termination of the connection.

    OTP-6475  When terminating ports on the runtime system with SMP
	      support, removal of links to processes was done without
	      locking the link lock on processes. This could cause an
	      emulator crash.

    OTP-6479  The emulator with SMP support could crash when a port flushed
	      its I/O queue by calling <c>driver_async()</c> from the
	      timeout driver callback.

    OTP-6494  <p>term_to_binary/2 with compression is now faster.<p>

	      <p>term_to_binary/2 now accepts the option
	      '<c>{compressed,Level}</c>' for specifying the compression
	      level. <c>Level</c> must be in the range 0 (no compression)
	      through 9 (highest compression level). Default is 6.</p>

	      <p>Future compatibility bugfix: binary_to_term/1 did not
	      handle the <c>Uniq</c> and <c>Index</c> fields correctly.</p>

    OTP-6516  Removed unnecessary reallocation when initializing
	      kernel-poll set.

    OTP-6521  Large exit reasons could under rare circumstances cause the
	      runtime system with SMP support to crash.


--- erts-5.5.4 ------------------------------------------------------------

    OTP-6336  An interface towards the SCTP Socket API Extensions has been
              implemented.It is an Open Source patch courtesy of Serge
              Aleynikov and Leonid Timochouk. The Erlang code parts has
              been adapted by the OTP team, changing the Erlang API
              somewhat.

              The Erlang interface consists of the module gen_sctp and an
              include file -include_lib("kernel/include/inet_sctp.hrl").
              for option record definitions. The gen_sctp module is
              documented.

              The delivered Open Source patch, before the OTP team
              rewrites, was written according to
              http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13 and
              was claimed to work fine, tested on Linux Fedora Core 5.0
              (kernel 2.6.15-2054 or later) and on Solaris 10 and 11. The
              OTP team rewrites used the same standard document but might
              have accidentally broken some functionality. If so it will
              soon be patched to working state. The tricky parts in C and
              the general design has essentially not changed. During the
              rewrites the code was hand tested on SuSE Linux Enterprise
              Server 10, and briefly on Solaris 10. Feedbach on code and
              docs is very much appreciated.

              The SCTP interface is in beta state. It has only been hand
              tested and has no automatic test suites in OPT meaning
              everything is most certainly not tested. Socket active mode
              is broken. IPv6 is not tested. The documentation has been
              reworked due to the API changes, but has not been proofread
              after this.

              Thank you from the OTP team to Serge Aleynikov and Leonid
              Timochouk for a valuable contribution. We hope we have not
              messed it up too much.

    OTP-6433  Corrected misspelling of '-pz' in the help text for erlc.
              (Thanks to Ulf Wiger.)

    OTP-6434  A {minor_version,Version} option is now recognized by
              term_to_binary/2. {minor_version,1} will cause floats to be
              encoded in an exact and more space-efficient way compared to
              the previous encoding.

    OTP-6459  The MD5 calculation of a BEAM file done by code:module_md5/1,
              beam_lib:md5/1, and by the compiler for the default value of
              the vsn attribute have all been changed so that its result
              will be the same on all platforms; modules containing funs
              could get different MD5s on different platforms.

    OTP-6504  The emulator could dump core while writing an erl_crash.dump
              file if there were funs with a large terms in its
              environment. Since there is no way to inspect a fun's
              environment in the crashdump_viewer application anyway, a
              variables in the environment are now set to [] before dumping
              the fun. (Thanks to Jean-Sebastien Pedron.)

    OTP-6505  There is a new escript program that can be used for writing
              scripts in Erlang. Erlang scripts don't need to be compiled
              and any arguments can be passed to them without risk that
              they are interpreted by the Erlang system.

    OTP-6519  Setting and getting socket options in a "raw" fashion is now
              allowed. Using this feature will inevitably produce non
              portable code, but will allow setting ang getting arbitrary
              uncommon options on TCP stacks that do have them.

    OTP-6525  Miscellaneous signal handling improvements on the Erlang
              runtime system with SMP support.

              The fallback implementation of spin locks and atomic
              operations are now implemented using pthread spin locks when
              pthread spin locks are found on the system.

              The Erlang runtime system with SMP support can now run on
              Linux systems that has Linuxthreads instead of NPTL (Native
              POSIX Thread Library). Note that the SMP support hasn't been
              as thoroughly tested with Linuxthreads as with NPTL. A
              runtime system with SMP support will therefore not be built
              by default on Linux when NPTL isn't found. In order to force
              a build of the runtime system with SMP support, pass
              --enable-smp-support to configure when building OTP.

    OTP-6528  {Port, {exit_status, S}} messages from ports opened with the
              exit_status option could under rare circumstances be delayed.
              This bug was present on Erlang runtime systems without SMP
              support on all unix operating systems other than SunOS.

    OTP-6530  A bug in linuxthreads could cause the emulator to dump core
              when dlerror() was called before the first call to dlopen().
              As a workaround the emulator always makes a call to dlopen()
              on initialization when linuxthreads is used as thread
              library.

    OTP-6531  file:sync/1 did not do anything on Windows. Now it calls the
              system function for flushing buffers (FlushFileBuffers()).
              (Thanks to Matthew Sackman.)

    OTP-6536  open_port/2 could on the runtime system with SMP support fail
              with the wrong exit reason when a port couldn't be created.
              When this happened the exit reason was typically eintr, or
              ebusy instead of eagain.

    OTP-6538  The file driver (efile_drv) did not flush data written using
              the option 'delayed_write' after the set timeout time, rather
              at the next file operation. This bug has now been corrected.


--- gs-1.5.6 ------------------------------------------------------------

    OTP-6541  Removed some dead code from gstk_editor and tcl2erl.


--- hipe-3.6.1.1 ------------------------------------------------------------

    OTP-6449  Dialyzer could fail to analyze certain beam files that used
	      try/catch.


--- hipe-3.6.2 ------------------------------------------------------------

    OTP-6577  Miscellanous improvements.


--- ic-4.2.12 ------------------------------------------------------------

    OTP-6575  Dead code was deleted from the following modules: ic_cclient,
              ic_code, ic_cserver, ic_erlbe, ic_java_type, ic_noc,
              ic_plainbe, ic_pp, ic_pragma, icscan, icstruct, ictype,
              icunion.


--- inets-4.7.9 ------------------------------------------------------------

    OTP-6476  Bug in in handling of request timers has been corrected.

    OTP-6480  [tftp] - Daemon was only able to process one request when fd
	      option was given.


--- inets-4.7.10 ------------------------------------------------------------

    OTP-6484  [httpd] - The server no longer produces error messages when
	      the client resets the the connection. This is not an error as
	      far as the server is concerned.

    OTP-6498  [tftp] The server is now silent by default. Error messages
	      can however be displayed by setting the debug level to
	      'error' (new) or higher.


--- inets-4.7.11 ------------------------------------------------------------

    OTP-6511  [http] - Chunked encoding updated to handle the empty chunk.

    OTP-6522  [http] - Removed minor bugs and dead code found by dialyzer.


--- inviso-0.2 ------------------------------------------------------------

    OTP-6426  This ticket includes several improvements and bugfixes to
	      both runtime_tools and inviso. The overload mechanism can now
	      also react to incomming messages. This is useful if an
	      external overload watch-dog is used. Some improvements of
	      variable bindings has been done to the default autostart
	      mechanism - inviso_autostart_server. Autostart "jobs" can now
	      be done in paralell, allowing for some jobs to hang waiting
	      for some parts of the traced system to become ready before
	      proceeding. Previously when using named meta-match-specs
	      (tpm_ms) ending up with zero match-specs still kept the meta
	      trace pattern active. This caused zero match-specs to be
	      equal to unlimited meta tracing on that particular function.
	      If the internal database becomes empty of meta match specs,
	      meta trace pattern is removed for that function. Standard
	      public loop data in the inviso runtime meta tracer process is
	      now extended to a 2-tuple. The functions ctp/1 and ctpl/1 are
	      added making it possible to remove trace patterns for a list
	      of functions rather than one by one. Inviso_rt_meta will now
	      accept a list of binaries to be output into the trace
	      information file, in additions to a single binary. Further it
	      is also possible to make own output to the trace information
	      file using the write_ti/1 function. An error was discovered
	      in inviso_rt making the inviso_rt_meta remain rather than
	      terminate if the inviso_rt terminated due to "running alone"
	      (not allowed to run without a control component). A new tool,
	      inviso_tool, has been added to the inviso application.


--- inviso-0.2.1 ------------------------------------------------------------

    OTP-6576  Misc improvements.


--- kernel-2.11.3.1 ------------------------------------------------------------

    OTP-6430  Faster system calls for keeping the time accurate are used on
	      newer Linux kernels, which can result in a significant
	      speed-up of the emulator on those systems.

    OTP-6431  <c>erlang:system_flag(multi_scheduling, block)</c> could
	      cause the emulator with SMP support to deadlock.

    OTP-6432  The runtime system with SMP support failed to call the driver
	      timeout callback of ports in state closing. This could cause
	      ports to fail flushing their I/O queues.

    OTP-6437  The <c>{Port, closed}</c> message from a closed port could
	      arrive at the port owner before <c>Port</c> had been removed
	      from the result of <c>erlang:ports/0</c> in the runtime
	      system with SMP support.

    OTP-6438  The async id of async jobs created via <c>driver_async</c>
	      wasn't created in a thread safe manner in the runtime system
	      with SMP support. This could in worst case cause
	      <c>driver_async_cancel()</c> to cancel another async job than
	      intended.

    OTP-6440  Added number of async threads and number of scheduler threads
	      to the system information that can be retrieved via
	      <c>driver_system_info()</c>. For more information see the
	      <c>erl_driver(3)</c> documentation.

    OTP-6447  Under rare circumstances a terminating connection between two
	      nodes could cause an instantaneous reconnect between the two
	      nodes to fail on the runtime system with SMP support.

    OTP-6452  In the documentation of the driver entry field
	      <c>extended_marker</c> of erts version 5.5.3
	      (<c>driver_entry(3)</c>), the following is stated: "The
	      following fields are ignored if this field is equal to
	      <c>0</c>". This is a documentation bug and has been changed
	      to: "If this field is equal to <c>0</c>, all the fields
	      following this field also <em>have</em> to be <c>0</c>, or
	      <c>NULL</c> in case it is a pointer field".

	      The runtime check for detection of old incompatible drivers
	      made when loading drivers has been improved. The emulator
	      can, however, not make sure that a driver that doesn't use
	      the extended driver interface isn't incompatible. Therefore,
	      when loading a driver that doesn't use the extended driver
	      interface, there is a risk that it will be loaded also when
	      the driver is incompatible. When the driver use the extended
	      driver interface, the emulator can verify that it isn't of an
	      incompatible driver version. You are therefore advised to use
	      the extended driver interface.

	      For more information see the <c>erl_driver(3)</c> and
	      <c>driver_entry(3)</c> documentation.

    OTP-6465  When <c>SIGUSR1</c> is received by the runtime system with
	      SMP support, the <c>erl_crash.dump</c> is now written by a
	      special thread, instead of as before directly from the signal
	      handler.

    OTP-6473  An erroneous packet size could be used for the first messages
	      passed through a newly established connection between two
	      Erlang nodes. This could cause messages to be discarded, or
	      termination of the connection.

    OTP-6475  When terminating ports on the runtime system with SMP
	      support, removal of links to processes was done without
	      locking the link lock on processes. This could cause an
	      emulator crash.

    OTP-6479  The emulator with SMP support could crash when a port flushed
	      its I/O queue by calling <c>driver_async()</c> from the
	      timeout driver callback.

    OTP-6494  <p>term_to_binary/2 with compression is now faster.<p>

	      <p>term_to_binary/2 now accepts the option
	      '<c>{compressed,Level}</c>' for specifying the compression
	      level. <c>Level</c> must be in the range 0 (no compression)
	      through 9 (highest compression level). Default is 6.</p>

	      <p>Future compatibility bugfix: binary_to_term/1 did not
	      handle the <c>Uniq</c> and <c>Index</c> fields correctly.</p>

    OTP-6516  Removed unnecessary reallocation when initializing
	      kernel-poll set.

    OTP-6521  Large exit reasons could under rare circumstances cause the
	      runtime system with SMP support to crash.


--- kernel-2.11.4 ------------------------------------------------------------

    OTP-4575  Added a warning to the documentation for the error_logger
              functions error_msg/1,2, warning_msg/1,2 and info_msg/1,2
              that calling these function with bad arguments can crash the
              standard event handler.

    OTP-6336  An interface towards the SCTP Socket API Extensions has been
              implemented.It is an Open Source patch courtesy of Serge
              Aleynikov and Leonid Timochouk. The Erlang code parts has
              been adapted by the OTP team, changing the Erlang API
              somewhat.

              The Erlang interface consists of the module gen_sctp and an
              include file -include_lib("kernel/include/inet_sctp.hrl").
              for option record definitions. The gen_sctp module is
              documented.

              The delivered Open Source patch, before the OTP team
              rewrites, was written according to
              http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-13 and
              was claimed to work fine, tested on Linux Fedora Core 5.0
              (kernel 2.6.15-2054 or later) and on Solaris 10 and 11. The
              OTP team rewrites used the same standard document but might
              have accidentally broken some functionality. If so it will
              soon be patched to working state. The tricky parts in C and
              the general design has essentially not changed. During the
              rewrites the code was hand tested on SuSE Linux Enterprise
              Server 10, and briefly on Solaris 10. Feedbach on code and
              docs is very much appreciated.

              The SCTP interface is in beta state. It has only been hand
              tested and has no automatic test suites in OPT meaning
              everything is most certainly not tested. Socket active mode
              is broken. IPv6 is not tested. The documentation has been
              reworked due to the API changes, but has not been proofread
              after this.

              Thank you from the OTP team to Serge Aleynikov and Leonid
              Timochouk for a valuable contribution. We hope we have not
              messed it up too much.

    OTP-6380  A bug in inet_db concerning getting the resolver option
              'retry' has been corrected.

    OTP-6428  Names registered by calling global:register_name() or
              global:re_register_name() were not always unregistered when
              the registering or registered process died. This bug has been
              fixed.

    OTP-6434  A {minor_version,Version} option is now recognized by
              term_to_binary/2. {minor_version,1} will cause floats to be
              encoded in an exact and more space-efficient way compared to
              the previous encoding.

    OTP-6466  Clarified the documentation for code:lib_dir/1 and
              code:priv_dir/1. The functions traverse the names of the code
              path, they do not search the actual directories.

    OTP-6481  Monitoring of nodes has been improved. Now the following
              properties apply to net_kernel:monitor_nodes/[1,2]:

              nodeup messages will be delivered before delivery of any
              message from the remote node passed through the newly
              established connection.

              nodedown messages will not be delivered until all messages
              from the remote node that have been passed through the
              connection have been delivered.

              Subscriptions can also be made before the net_kernel server
              has been started.

    OTP-6508  io:setopts returned {error,badarg}, when called with only an
              expand_fun. (Thanks to igwan.)

    OTP-6519  Setting and getting socket options in a "raw" fashion is now
              allowed. Using this feature will inevitably produce non
              portable code, but will allow setting ang getting arbitrary
              uncommon options on TCP stacks that do have them.

    OTP-6523  Dialyzer warnings have been eliminated.

    OTP-6535  The documentation for file:delete/1 and file:set_cwd/1 has
              been updated to clarify what happens if the input arguments
              are of an incorrect type.


--- megaco-3.5.2 ------------------------------------------------------------

    OTP-6404  Minor improvement to the text codec error reporting.

    OTP-6422  Missing (link) anchors.

    OTP-6490  Improper text encoding of EventSpecs. All codec versions.

    OTP-6503  Misc cleanup to eliminate some dialyzer warnings.


--- megaco-3.5.3 ------------------------------------------------------------

    OTP-6520  Miscellaneous minor corrections, such as removing "dead
	      code". Detected by dialyzer.

    OTP-6549  Using the megaco:call function at high load could cause
	      replies from other transqactions to be returned also. At high
	      load, when a process calls the function megaco:call, which
	      times out, then makes another call, it is possible that the
	      reply to the first request arrives while the process is
	      waiting for reply to the second request. As no checks were
	      made if the reply was actually the expected (transaction-id),
	      this reply was also included in the result. This problem has
	      been fixed by calling the megaco_user callback function
	      handle_unexpected_trans/3 if unexpected transactions are
	      received.


--- mnemosyne-1.2.7 ------------------------------------------------------------

    OTP-6496  Mnemosyne has been updated to eliminate warnings by Dialyzer.


--- mnesia-4.3.4 ------------------------------------------------------------

    OTP-6367  Adding fragments to ram_copies tables was allowed on nodes
              that where down.

    OTP-6464  Mnesia leaked transaction decisions (memory and disk space).

    OTP-6545  dirty_update_counter/3 did not work properly on disc tables
              when the counter was not initiated (Thanks to Sebastien
              Saint-Sevin).

    OTP-6548  Chunked mnesia:select on fragmented tables could crash
              (Thanks to Primanathan Reddy).


--- observer-0.9.7.3 ------------------------------------------------------------

    OTP-6551  This application has been updated to eliminate warnings by
              Dialyzer.


--- orber-3.6.5 ------------------------------------------------------------

    OTP-6527  Removed some unused code.


--- pman-2.5.3 ------------------------------------------------------------

    OTP-6550  Removed some dead code from pman_process.


--- runtime_tools-1.6.3 ------------------------------------------------------------

    OTP-6426  This ticket includes several improvements and bugfixes to
	      both runtime_tools and inviso. The overload mechanism can now
	      also react to incomming messages. This is useful if an
	      external overload watch-dog is used. Some improvements of
	      variable bindings has been done to the default autostart
	      mechanism - inviso_autostart_server. Autostart "jobs" can now
	      be done in paralell, allowing for some jobs to hang waiting
	      for some parts of the traced system to become ready before
	      proceeding. Previously when using named meta-match-specs
	      (tpm_ms) ending up with zero match-specs still kept the meta
	      trace pattern active. This caused zero match-specs to be
	      equal to unlimited meta tracing on that particular function.
	      If the internal database becomes empty of meta match specs,
	      meta trace pattern is removed for that function. Standard
	      public loop data in the inviso runtime meta tracer process is
	      now extended to a 2-tuple. The functions ctp/1 and ctpl/1 are
	      added making it possible to remove trace patterns for a list
	      of functions rather than one by one. Inviso_rt_meta will now
	      accept a list of binaries to be output into the trace
	      information file, in additions to a single binary. Further it
	      is also possible to make own output to the trace information
	      file using the write_ti/1 function. An error was discovered
	      in inviso_rt making the inviso_rt_meta remain rather than
	      terminate if the inviso_rt terminated due to "running alone"
	      (not allowed to run without a control component). A new tool,
	      inviso_tool, has been added to the inviso application.


--- runtime_tools-1.6.5 ------------------------------------------------------------

    OTP-6551  This application has been updated to eliminate warnings by
              Dialyzer.

    OTP-6576  Misc improvements.


--- sasl-2.1.5 ------------------------------------------------------------

    OTP-6499  Removed some dead code from erlsrv:get_service/2,
              release_handler:do_write_file/2,
              systools_relup:foreach_baserel_up/7 and
              systools_relup:foreach_baserel_dn/7.


--- snmp-4.9 ------------------------------------------------------------

    OTP-6317  [agent] Improve behaviour during massive trap- sending. This
	      is done in two way's. 1) Improving performance of the
	      target(s) cache (which is used during trap/notification
	      sending). 2) A slightly better flow control, making it more
	      difficult to actually overload the agent.

    OTP-6318  Added utility modules to read, write and update the config
	      files of the snmpa_conf and snmpm_conf.

    OTP-6383  Include the INET-ADDRESS-MIB mib in the SNMP application.

    OTP-6415  Minor improvement to the mnesia snmp indexing.

    OTP-6487  [agent] Improve error handling of missing target params
	      config.

    OTP-6515  Miscellaneous minor corrections, such as removing "dead
	      code". Detected by dialyzer.

    OTP-6518  Minor documentation improvement for module snmp_generic.

    OTP-6529  [manager] Invalid guard on function snmpm:agn/5 made it
	      impossible to reach this particular clause. Detected by
	      dialyzer.

    OTP-6532  The snmp:config/0 utility function assumes by default current
	      working dir as the directory to write config files. This is a
	      problem since there are two files the same name, usm.conf,
	      one for the agent and the other for the manager.

    OTP-6533  Incorrect handling of decrypt failure resulting in incorrect
	      error reporting. Applies to both the agent and the manager.
	      Detected by dialyzer.

    OTP-6540  Added documentation for snmp:passwd2localized_key/3


--- snmp-4.9.1 ------------------------------------------------------------

    OTP-6569  [agent] Used wrong DEFVAL for vacmAccessStorageType (volatile
	      instead of nonVolatile) in SNMP-VIEW-BASED-ACM-MIB. Martin
	      Bj�rklund.


--- snmp-4.9.2 ------------------------------------------------------------

    OTP-6571  [agent] Incorrect default verbosity (trace) for target cache.


--- ssh-0.9.7 ------------------------------------------------------------

    OTP-6446  [sftp] - The function ssh_sftp:make_symlink/3 was not fully
	      implemented.

    OTP-6450  [ssh] - An internal value was, due to a bug, always set to
	      undefined even when it was not, this could lead to
	      connections being wrongly refused.

    OTP-6458  A pattern matching was missing "/binary" resulting in that
	      the internal function ssh_xfer:decode_acl/2 did not work as
	      expected.

    OTP-6471  [sftp] - read_link/2 did not return the documented value

    OTP-6483  Removed debugg printouts from ssh_cli.erl

    OTP-6488  [sftp, ssh] - The connection timeout was overridden by an
	      internal gen_server default timeout.


--- ssh-0.9.9 ------------------------------------------------------------

    OTP-6379  A race condition that could make the server crash if a client
              sent a SSH_MSG_USERAUTH_REQUEST packet immediately after its
              SSH_MSG_SERVICE_REQUEST, is removed.

    OTP-6524  Corrected minor bugs and removed dead code found by dialyzer.


--- stdlib-1.14.3.1 ------------------------------------------------------------

    OTP-6491  Added the option {cwd, Dir} to make zip-archives with
	      relative pathnames without having to do (a global)
	      file:set_cwd.

    OTP-6495  The control sequences p and P of the
	      Format argument of the functions io:fwrite/2,3
	      and io_lib:fwrite/2 could cause a badarg
	      failure when applied to binaries. This bug was introduced in
	      STDLIB 1.14.3. (Thanks to Denis Bilenko.)


--- stdlib-1.14.4 ------------------------------------------------------------

    OTP-6443  The functions beam_lib:cmp/1 and beam_lib:strip/1 (and
              similar functions) have been updated to handle optional
              chunks (such as "FunT") in more general way in order to be
              future compatible.

              The function beam_lib:chunks/3 has been added.

              The function beam_lib:md5/1 has been added.

    OTP-6459  The MD5 calculation of a BEAM file done by code:module_md5/1,
              beam_lib:md5/1, and by the compiler for the default value of
              the vsn attribute have all been changed so that its result
              will be the same on all platforms; modules containing funs
              could get different MD5s on different platforms.

    OTP-6470  Added base64 as a module to stdlib, encoding and decoding

    OTP-6472  Added the functions to_upper/1 and to_lower/1 to the string
              module. These provide case conversion for ISO/IEC 8859-1
              characters (Latin1) and strings.

    OTP-6497  The callback function non_local_allowed/3 used by the
              restricted shell can now return the value
              {{restricted,NewFuncSpec,NewArgList},NewState} which can be
              used for letting the shell call some other function than the
              one specified.

    OTP-6505  There is a new escript program that can be used for writing
              scripts in Erlang. Erlang scripts don't need to be compiled
              and any arguments can be passed to them without risk that
              they are interpreted by the Erlang system.

    OTP-6517  The Format argument of the functions io:fwrite/2,3 and
              io_lib:fwrite/2 is now allowed to be a binary.

    OTP-6526  When sorting terms using the file_sorter module (the option
              Format set to term), file errors were not always properly
              handled. This bug has been fixed.

              The directory supplied with the tmpdir option is no longer
              checked unless it is actually used. The error reason
              not_a_directory can no longer be returned; instead a
              file_error tuple is returned

    OTP-6539  Bugs regarding try/catch have been fixed in the erl_eval
              module.

    OTP-6562  When sorting the operands of a join operation, QLC called
              file:open/3 with bad arguments. This bug has been fixed.


--- syntax_tools-1.5.3 ------------------------------------------------------------

    OTP-6468  A missing directory (examples) has been added and another
              broken link in the documentation has been fixed.


--- tools-2.5.4 ------------------------------------------------------------

    OTP-6513  Minor updates of xref for future compatibility.


--- tv-2.1.4 ------------------------------------------------------------

    OTP-6455  Removed some dead code from
              tv_pg_gridfcns:mark_cell_and_notify/4 and
              tv_nodewin:handle_error/1.


--- xmerl-1.1.1 ------------------------------------------------------------

    OTP-6402  Bug in xmerl removed so that simple syntax element content is
	      exported correctly.


--- xmerl-1.1.2 ------------------------------------------------------------

    OTP-6460  Schema processor reprocessed schemas that already were
              processed, using process_schemas on a system of schemas with
              circular dependencies.

    OTP-6507  Dialyzer warnings now removed, i.e. dead code have been
              removed.