Bug fix release : otp_src_R13B02
Build date      : 2009-09-21

This is R13B02, the second maintenance release for the R13B major release.

You can find the README file for the release at

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

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

  http://www.erlang.org/download/otp_src_R13B02.tar.gz
  http://www.erlang.org/download/otp_win32_R13B02.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_R13B02.tar.gz.torrent
  http://www.erlang.org/download/otp_win32_R13B02.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_R13B02.tar.gz
  http://www.erlang.org/download/otp_doc_man_R13B02.tar.gz

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

The OTP Team


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

    OTP-8108  The file module has now a read_line/1 function similar to the
	      io:get_line/2, but with byte oriented semantics. The function
	      file:read_line/1 works for raw files as well, but for good
	      performance it is recommended to use it together with the
	      'read_ahead' option for raw file access.

    OTP-8187  There is a major addition to the capabilities of dialyzer,
	      worthy of bumping the version number. Starting with this
	      version, dialyzer not only accepts but also properly
	      processes remote types (i.e., types of the form
	      ModuleName:TypeName()). Previous dialyzer versions only
	      accepted this notation in -type and -spec declarations, but
	      effectively ignored its information by mapping remote types
	      to the type any(). In contrast, starting with this version,
	      remote types are used in the analysis and are also stored in
	      the PLTs. (This addition changes the format of PLTs and
	      requires rebuilding any PLTs created by an older dialyzer
	      version.) Note that dialyzer will complain and abort the
	      analysis of a set of modules if it needs to process a remote
	      type without a definition (either because the module does not
	      include a definition of the type or the module is not
	      included in the analysis). We may relax this restriction in a
	      future version.

	      Fixed minor issue with dialyzer:run/1 crashing (upon its
	      return) when used for adding type information to an existing
	      PLT.

	      Fixed minor but quite annoying issues in dialyzer's GUI.


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

    OTP-8085  Spelling correction in the Modules section of the Erlang
	      Reference Manual. (Thanks to Brentley Jones.)

    OTP-8091  Spelling corrections in the Event Handling Principles section
	      of the Design Principles. (Thanks to Matt Reynolds.)

    OTP-8186  There is a new chapter about drivers in the Efficiency Guide.


--- asn1-1.6.11 ---------------------------------------------------------

    OTP-7972  Range checks added for BIT STRING with fixed SIZE constraint.

    OTP-8043  Now support multiple-line comments in asn1-specs as specified
	      in ASN1 X.680 (07/2002), section 11.6.4

    OTP-8046  Now parses and adds abstract syntax for PATTERN subtype
	      constraint. No other action is taken on this type of
	      constraint.

    OTP-8047  The syntax variants for subtype constraint CONTAINING Type,
	      CONTAINING Type ENCODED BY Value and ENCODED BY Value are now
	      accepted by the parser. Abstract syntax is added but
	      currently no further action in generated code is taken.

    OTP-8136  A new option {n2n,TypeName} can be used to enable generation
	      of conversion functions from name to number and vice versa
	      for selected ENUMERATION types. The option can be repeated
	      many times in order to specify several types in the same
	      file. Below follows an example of how to use the option from
	      the command line with erlc:<br/> erlc -bper_bin +optimize
	      +driver +"{n2n,'CauseMisc'}" +"{n2n,'CauseProtocol'}"
	      MyModule.asn


--- common_test-1.4.3 ---------------------------------------------------

    OTP-8082  Printouts with ct:pal and ct:log made by processes not
	      started by a test case process, got written to the framework
	      log rather than to the test case log. This is the correct
	      behaviour if a parallel test group is executing, but during
	      sequential test case execution, printouts should always be
	      written to the log file of the current test case. This has
	      been fixed.


--- common_test-1.4.5 ---------------------------------------------------

    OTP-8045  Various updates and fixes in Common Test and Test Server.

    OTP-8089  The Common Test logger process crashed if a test case in a
	      sequence (declared with sequences/0) failed. This fault has
	      been corrected.

    OTP-8163  Errors in coverage data collection and analysis were
	      difficult to detect. The logging has been improved so that
	      more information about e.g. imported and missing modules is
	      printed to the html log files.

    OTP-8177  The Common Test HTML overview pages have been improved. It is
	      now possible to see if a test case has been skipped
	      explicitly or because a configuration function has failed.
	      Also, the history page (all_runs.html) now has scrolling text
	      displaying the test names. The old format (showing names as a
	      truncated string) can still be generated by means of the
	      flag/option 'basic_html'.


--- compiler-4.6.3 ------------------------------------------------------

    OTP-8054  Corrected liveness optimization to eliminate a compiler crash
	      that could occur when compiling bit syntax construction code.
	      (Thanks to Mikage Sawatari.)

	      Calling BIFs such as length/1 in guard context in a try/catch
	      block could cause a compiler crash. (Thanks to Paul Fisher.)

	      Using filter expressions containing andalso or orelse in a
	      list comprehension could cause a compiler crash. (Thanks to
	      Martin Engstr�m.)

    OTP-8131  A guard with nested 'not' operators could cause the compiler
	      to crash. (Thanks to Tuncer Ayaz.)


--- crypto-1.6.1 --------------------------------------------------------

    OTP-8096  Support for Blowfish cfb64 added to crypto.

    OTP-8141  New function crypto:aes_cbc_ivec

    OTP-8157  Makefile.in has been updated to use the LDFLAGS environment
	      variable (if set). (Thanks to Davide Pesavento.)


--- dialyzer-2.0.0 ------------------------------------------------------

    OTP-8187  There is a major addition to the capabilities of dialyzer,
	      worthy of bumping the version number. Starting with this
	      version, dialyzer not only accepts but also properly
	      processes remote types (i.e., types of the form
	      ModuleName:TypeName()). Previous dialyzer versions only
	      accepted this notation in -type and -spec declarations, but
	      effectively ignored its information by mapping remote types
	      to the type any(). In contrast, starting with this version,
	      remote types are used in the analysis and are also stored in
	      the PLTs. (This addition changes the format of PLTs and
	      requires rebuilding any PLTs created by an older dialyzer
	      version.) Note that dialyzer will complain and abort the
	      analysis of a set of modules if it needs to process a remote
	      type without a definition (either because the module does not
	      include a definition of the type or the module is not
	      included in the analysis). We may relax this restriction in a
	      future version.

	      Fixed minor issue with dialyzer:run/1 crashing (upon its
	      return) when used for adding type information to an existing
	      PLT.

	      Fixed minor but quite annoying issues in dialyzer's GUI.


--- edoc-0.7.6.4 --------------------------------------------------------

    OTP-8190  Miscellaneous updates.


--- erl_interface-3.6.3 -------------------------------------------------

    OTP-4969  The manual states that erl_receive() return the reason in the
	      ErlMessage struct. This was not the case and the function is
	      now corrected.

    OTP-6091  Added support for 64-bit integers in encoding/decoding.

	      Added support for better printouts of binaries.

    OTP-6117  In send_exit.c an errorneous size of memory allocation could
	      occur when reallocating a buffer.

	      In ei_decode_trace.c the index could be updated when the
	      decoding failed.

	      In ei_printterm.c the index could be updated when the
	      decoding failed in lists and tuples.

	      In ei_decode_term.c when decoding a double (ERL_FLOAT_EXT) no
	      check was done to ensure that the last of the 31 bytes was
	      null terminated.

	      In ei_decode_term.c when decoding references, only the first
	      3 bytes are read, but the index did not increment by the
	      total size.

	      In ei_decode_fun.c no check of correct buffer allocation or
	      data length was done.

	      In ei_decode_string.c the integer list string case did not
	      decode the NIL tail correctly.

	      These errors has now been fixed. (Thanks to Romain Lenglet,
	      Paul Mineiro and Paul Guyot).

    OTP-7554  ei_decode_big could be decoded with a garbage byte.

	      ei_encode_big and ei_x_encode_big is now available.

    OTP-8093  The function erl_init_resolve() did not conform to C99
	      standard which caused a build error on some platforms. This
	      has now been fixed.

    OTP-8157  Makefile.in has been updated to use the LDFLAGS environment
	      variable (if set). (Thanks to Davide Pesavento.)


--- erts-5.7.3 ----------------------------------------------------------

    OTP-8041  Processor internal NUMA nodes are now supported in the ERTS
	      internal CPU topology representation. For more information
	      see the documentation of the +sct command line argument in
	      the erl(1) documentation, and the documentation of
	      erlang:system_info(cpu_topology).

    OTP-8050  Documentation for ets improved about concurrency.

    OTP-8055  On Windows, open_port({spawn,Command},Opts) could not run
	      executables with spaces in the path or filename, regardless
	      of quoting efforts. While
	      open_port({spawn_executable,Exec},Opts) can run any
	      executable, it was still impossible to use 'spawn' to do the
	      same thing. This is now corrected.

    OTP-8060  Emulator flags in an escript were earlier inherited to
	      emulators started from from the emulator running the escript.
	      For example when an escript invoked os:cmd("erl"), the new
	      emulator were given erroneous emulator flags. This bug has
	      now been fixed

	      Escript filenames may now contain dots.

    OTP-8063  The scheduler bind type processor_spread spread schedulers
	      too much on large NUMA systems.

	      The new scheduler bind type spread spreads schedulers as much
	      as possible, and behaves as processor_spread previously did.
	      For more information see the documentation of the +sbt
	      command line argument in the erl(1) documentation, and the
	      documentation of erlang:system_flag(scheduler_bind_type,
	      SchedulerBindType).

    OTP-8064  Automatically detected CPU topology on Linux system could
	      erroneously contain logical processors with -1 as
	      identifiers. This happened when sysconf(_SC_NPROCESSORS_CONF)
	      returned a value larger than the amount of logical processors
	      found.

    OTP-8065  Made some BIFs non-recursive (relational operators,hash and
	      phash) to limit internal stack usage.

    OTP-8080  Fixed Windows specific bug in erl_prim_loader. Now it handles
	      the root directory (e.g. c:/) better. This bug affected the
	      directory listing in the debugger.

    OTP-8092  When the minimal term [] (end of list) was sent as the
	      complete message to a process on another node, and received
	      there, it could not be decoded. This bug is now corrected.
	      Fortunately [] is uncommon as the complete message in real
	      applications but it is a serious bug anyway.

    OTP-8095  A bug when the floating point exception pointer was not
	      initialized has been corrected. It manifested itself on
	      CentOS 5.1 sometimes when a floating point value was sent to
	      a remote node. Bug reported and patch suggested by David
	      Reiss, confirmed by Mikael Pettersson.

	      Some build problems on IRIX was also corrected. Problem
	      reported by Patrick Baggett, patch by Mikael Pettersson.

    OTP-8099  A terminating process could erroneously unregister a name for
	      another process. This could occur under the following
	      conditions: The name of the terminating process was
	      unregistered and then registered for another process
	      simultaneously as the process that first had the name was
	      terminating.

    OTP-8102  A TCP socket with option {packet,4} could crash the emulator
	      if it received a packet header with a very large size value
	      (>2Gb). The same bug caused erlang:decode_packet/3 to return
	      faulty values. (Thanks to Georgos Seganos.)

    OTP-8104  The maximum size of the export table has been raised from
	      65536 to 524288 entries.

    OTP-8108  The file module has now a read_line/1 function similar to the
	      io:get_line/2, but with byte oriented semantics. The function
	      file:read_line/1 works for raw files as well, but for good
	      performance it is recommended to use it together with the
	      'read_ahead' option for raw file access.

    OTP-8117  Fixed bug causing emulator crash when reading a term in
	      external format containing a corrupt list with a negative
	      length.

    OTP-8119  New emulator flag +sss, to set stack size of scheduler
	      threads.

    OTP-8124  Running erlc in a very deep directory (with a path length of
	      more 256 or more characters) would cause the emulator to
	      crash in a call to list_to_atom/1. (Thanks to Chris
	      Newcombe.)

    OTP-8132  The Windows utility Erlsrv, run in interactive mode now
	      accepts options for registering internal service name and
	      description field of Windows registry database.

    OTP-8143  erlang:demonitor(Mon, [flush]) has been optimized. Previously
	      it always searched the message queue of the caller for a
	      'DOWN' message. Current implementation only search the
	      message queue when necessary. It is quite common that the
	      search is not necessary.

	      A new option info has been added to erlang:demonitor/2. For
	      more information see the erlang(3) documentation.

    OTP-8145  A deadlock of the runtime system could occur when
	      unregistering the name of a port.

    OTP-8148  I/O tasks could unnecessarily be rescheduled. This was
	      harmless, but not useful work.

    OTP-8152  Minor improvements of erlang:memory/[1,2].

    OTP-8155  New configuration option to enable use of shared zlib.

    OTP-8157  Makefile.in has been updated to use the LDFLAGS environment
	      variable (if set). (Thanks to Davide Pesavento.)

    OTP-8158  The pthread rwlock implemention on Linux could cause
	      starvation of writers. We, therefore, now use our own rwlock
	      implementation on Linux.

    OTP-8166  Fixed smp bug in ETS that could cause emulator crash when
	      table with more than 1000 objects accessed by several
	      processes, including calls to variants of select or match
	      combined with concurrent object deletion.

    OTP-8168  Open source Erlang builds are updated to work well on Snow
	      Leopard (MacOS X 10.6)

    OTP-8169  A call to erlang:system_info(schedulers_online) could end up
	      in an infinite loop. This happened if the amount of
	      schedulers was larger than one, the amount of schedulers
	      online was one, and someone was blocking multi-scheduling.

    OTP-8170  The code path interpretation is now more relaxed. The flag
	      -code_path_choice now defaults to relaxed instead of strict.
	      See the documentation of code and init for more info.

    OTP-8171  An error in erlang:system_profile/2 could cause timestamped
	      messages to arrive out of order in the SMP case. This has now
	      been fixed.

    OTP-8172  Load balancing of run queues and check for I/O are triggered
	      more often than before in situations where processes are
	      scheduled often but are doing very little work each time they
	      execute.

    OTP-8179  Call tracing binary comprehensions would cause an emulator
	      crash. (Thanks to Paul Mineiro.)

    OTP-8180  binary_to_term/1 would crash the emulator instead of
	      generating a badarg exception when given certain invalid
	      terms. (Thanks to Scott Lystig Fritchie.)

    OTP-8192  binary_to_atom/2 and binary_to_existing_atom/2 would leak
	      memory if the binary contained unaligned data.

    OTP-8194  The async thread pool in the runtime system without SMP
	      support used a memory allocator that was not thread safe for
	      async jobs.


--- et-1.3.2 ------------------------------------------------------------

    OTP-8078  The start module in the app file has been corrected.


--- eunit-2.1.3 ---------------------------------------------------------

    OTP-8190  Miscellaneous updates.


--- hipe-3.7.3 ----------------------------------------------------------

    OTP-8189  Various small bugs (one involving the handling of large
	      binaries) were corrected and some additions to its
	      functionality and/or code cleanups were done.


--- ic-4.2.22 -----------------------------------------------------------

    OTP-8088  The 64-bit version of libic was not compiled with the -fPIC
	      flag.


--- inets-5.1.1 ---------------------------------------------------------

    OTP-8052  [httpc] Reception of unexpected data causes handler crash.

    OTP-8069  [httpd] - When starting inets (the web-server) and supplying
	      a descriptor on the command line (example: erl -httpd_8888
	      <descriptor>) it is now possible to specify which ip-family
	      to use: inet | inet6 | inet6fb4. Example: erl -httpd_8888
	      10:inet6. Default is inet6fb4 which emulates the behaviour of
	      the previous version. Also added config option ipfamily. See
	      the Communications properties section for more info.


--- inets-5.1.2 ---------------------------------------------------------

    OTP-7298  [httpc] Added http option 'connect timeout' for http client
	      request. The 'connect timeout' option is used for the initial
	      request, when the client connects to the server. Default
	      value is that of the timeout option.

    OTP-8101  [httpd] Removed documentation for non-existing function
	      (header).

    OTP-8118  [httpd] Failed to create listen socket with invalid option
	      combo. The http-server failed to create its listen socket
	      when the bind-address was an IPv4-address (a tuple of size 4)
	      and the ipfamily option was inet6fb4.


--- inets-5.1.3 ---------------------------------------------------------

    OTP-8154  [httpc] Raise condition. When http:request is called and
	      httpc_manager selects a session where there's already a
	      pending request, then the connection handler for that session
	      effectively resets its parser, readying it for the response
	      to the second request. But if there are still some in- bound
	      packets for the response to the first request, things get
	      confused.


--- kernel-2.13.3 -------------------------------------------------------

    OTP-7955  The DNS resolver client inet_res has been rewritten,
	      documented and released. See inet_res(3) and Erts User's
	      Guide: Inet configuration.

	      It can formally not be incompatible with respect to earlier
	      versions since there was no earlier official version. However
	      it was used before and some details have changed.

	      Configuration now initializes from /etc/resolv.conf and
	      /etc/hosts on all unix platforms regardless of which
	      distribution mode the node is started in. The directory
	      (/etc) these files are supposed to reside in can be changed
	      via an environment variable. These configuration file
	      locations can also be changed in the inet configuration. The
	      files are monitored for change and re-read, which makes a few
	      resolver configuration variables out of application control.
	      The /etc/hosts entries have now their own cache table that is
	      shadowed (with lookup method 'file' is used) by the
	      application configured host entries. This problem (that
	      inet_res configuration only worked for distribution mode long
	      names) was among other reported by Matthew O'Gorman many
	      moons ago.

	      The lookup methods are still 'native' only per default.
	      Resolver configuration is done on all Unix platforms just to
	      get a usable configuration for direct calls to inet_res.

	      The functions inet_res:nslookup/3..5 and
	      inet_res:nnslookup/4..4 are no longer recommended to use,
	      instead use inet_res:lookup/3..5 and inet_res:resolve/3..5
	      which provide clearer argument types and the possibility to
	      override options in the call.

	      Users of previous unsupported versions of inet_res have
	      included internal header files to get to the internal record
	      definitions in order to examine DNS replies. This is still
	      unsupported and there are access functions in inet_dns to use
	      instead. These are documented in inet_res(3).

	      Bug fix: a compression reference loop would make DNS message
	      decoding loop forever. Problem reported by Florian Weimer.

	      Bug fix and patch suggestion by Sergei Golovan: configuring
	      IPv6 nameservers did not work. His patch (as he warned)
	      created many UDP sockets; one per nameserver. This has been
	      fixed in the released version.

	      Improvement: inet_res is now EDNS0 capable. The current
	      implementation is simple and does not probe and cache EDNS
	      info for nameservers, which a fully capable implementation
	      probably should do. EDNS has to be enabled via resolver
	      configuration, and if a nameserver replies that it does not
	      support EDNS, inet_res falls back to a regular DNS query.

	      Improvement: now inet_res automatically falls back to TCP if
	      it gets a truncated answer from a nameserver.

	      Warning: some of the ancient and exotic record types handled
	      by inet_res and inet_dns are not supported by current
	      versions of BIND, so they could not be tested after the
	      rewrite, with reasonable effort, e.g MD, MF, NULL, and SPF.
	      The risk for bugs in these particular records is still low
	      since their code is mostly shared with other tested record
	      types.

    OTP-8102  A TCP socket with option {packet,4} could crash the emulator
	      if it received a packet header with a very large size value
	      (>2Gb). The same bug caused erlang:decode_packet/3 to return
	      faulty values. (Thanks to Georgos Seganos.)

    OTP-8108  The file module has now a read_line/1 function similar to the
	      io:get_line/2, but with byte oriented semantics. The function
	      file:read_line/1 works for raw files as well, but for good
	      performance it is recommended to use it together with the
	      'read_ahead' option for raw file access.


--- megaco-3.11.1 -------------------------------------------------------

    OTP-8081  The reply proxy could crash if the timeout time calculation
	      results in a negative number. This will result in a function
	      clause with resulting error report.

    OTP-8114  [text] The *unquoted* string BOTH was interpreted as the
	      'BothToken' token. This was a version 3 (prev3a, prev3b,
	      prev3c and v3) only


--- megaco-3.11.2 -------------------------------------------------------

    OTP-8123  Megaco was unnecessarily strict when parsing the SDP
	      attribute *maxptime* (leading or trailing spaces cased the
	      value parse to fail). This has been improved so that leading
	      and trailing spaces are stripped before parsing the value.
	      The same has been done for the attribute *ptime*.


--- megaco-3.11.3 -------------------------------------------------------

    OTP-8164  Replace obsolete guard tests.

    OTP-8167  Added the config option call_proxy_gc_timeout to be able to
	      control the way unexpected replies (when requests issued via
	      calls to megaco:call/3) are handled. See megaco:user_info/2,
	      megaco:conn_info/2 and megaco:call/3 for more info.

    OTP-8191  Make flex scanner c89 compiler compliant.


--- mnesia-4.4.11 -------------------------------------------------------

    OTP-8074  Fixed duplicate results with mnesia:index_read() on
	      ordered_set tables. Reported by Sam Bobroff. Fixed locking in
	      mnesia:index_read() which now grabs a read table lock to
	      ensure correctness, this may slow down the operation or block
	      other processes trying to reach the same table. Calling
	      mnesia:dump_log() could crash mnesia, Reported by Igor
	      Ribeiro Sucupira.


--- os_mon-2.2.3 --------------------------------------------------------

    OTP-8094  A missing define in memsup.c caused a build error on IRIX
	      machines. This has now been fixed.


--- public_key-0.3 ------------------------------------------------------

    OTP-8100  Unknown attributes in certificates are left encoded instead
	      of crashing. Patch by Will "wglozer" thanks.

    OTP-8142  Allow public_key:pem_to_der/[1,2] to take a binary as
	      argument in addition to a filename. Patch by Geoff Cant,
	      thanks.


--- reltool-0.5 ---------------------------------------------------------

    OTP-7949  The tool is still experimental. Feedback is appreciated. 

	      Major improvements of the target system generation has been
	      performed. Now it is possible to generate a relocatable
	      target system that does not need to be re-installed if it is
	      moved to a new location. Archive files are automatically
	      generated. A detailed specification of the target system can
	      be generated without actually creating the target system.
	      Relocatable escripts are put in the bin directory of the
	      target system. etc. etc.

	      Some new functions has been introduced in the reltool module:
	      start/1, start_link/1, get_config/3, get_target_spec/1 and
	      eval_target_spec/3.

	      Some new configuration parameters has been introduced:
	      profile, incl_sys_filters, excl_sys_filters,
	      incl_app_filters, excl_app_filters, incl_archive_filters,
	      excl_archive_filters, archive_opts, escript and relocatable.

	      Some parameters have been obsoleted and given new semantics:
	      incl_erts_dirs (incl_sys_filters), excl_erts_dirs
	      (excl_sys_filters), incl_app_dirs (incl_app_filters),
	      excl_app_dirs (excl_app_filters) and escripts (escript).


--- runtime_tools-1.8.1 -------------------------------------------------

    OTP-8157  Makefile.in has been updated to use the LDFLAGS environment
	      variable (if set). (Thanks to Davide Pesavento.)


--- sasl-2.1.7 ----------------------------------------------------------

    OTP-8132  The Windows utility Erlsrv, run in interactive mode now
	      accepts options for registering internal service name and
	      description field of Windows registry database.


--- snmp-4.13.4 ---------------------------------------------------------

    OTP-8044  [agent] Originating discovery problems. Invalid state
	      variable update during second stage of discovery causes
	      master agent crash. Also the net_if process failed to
	      activate socket ({active, once}) after first discovery
	      response was sent.

    OTP-8062  [agent] Terminating discovery problem. The reply to the
	      second stage request should include a varbind with
	      usmStatsNotInTimeWindows.

    OTP-8098  [agent] Originating discovery improvement. Added the
	      ExtraInfo argument to the snmpa:discovery function. This
	      argument will be passed on to the stage1_finish callback
	      function. Also, the snmpa:discovery function will now always
	      return {ok, ManagerEngineID} on successful discovery. The
	      discovery handler behaviour updated accordingly


--- snmp-4.13.5 ---------------------------------------------------------

    OTP-8116  [agent] The main agent type header file contained some
	      miss-information regarding the type of the entrytype field of
	      the me-record, causing unneccessary confusion. This problem
	      has been fixed.

    OTP-8120  [agent] Username(s) accepted for stage 1 of terminating
	      discovery included "initial" which was also a valid as a
	      normal username.

    OTP-8181  Replace obsolete guard tests.

    OTP-8182  [agent] Improved the cache handling of the mib server. A
	      number of new functions and config options for the mib server
	      cache has been added. See snmpa:invalidate_mibs_cache/0,1,
	      snmpa:enable_mibs_cache/0,1, snmpa:disable_mibs_cache/0,1,
	      snmpa:gc_mibs_cache/0,1,2,3,
	      snmpa:enable_mibs_cache_autogc/0,1,
	      snmpa:disable_mibs_cache_autogc/0,1,
	      snmpa:update_mibs_cache_age/1,2 and
	      snmpaupdate_mibs_cache_gclimit/1,2 for more info. See the
	      configuration chapter in the Users Guide for more info about
	      the mib server cache options.


--- ssh-1.1.4 -----------------------------------------------------------

    OTP-8071  SSH sometimes caused a crash report at disconnect.


--- ssh-1.1.5 -----------------------------------------------------------

    OTP-8159  ssh_sftp:start_channel/3 did not handle timout correctly.

    OTP-8160  If a progress message was not recieved after invoking
	      ssh:connect/3 the call could hang for ever. A timeout option
	      has also been added.

    OTP-8161  A comma has been missing in the ssh.appup file since
	      SSH-1.0.2.


--- ssh-1.1.6 -----------------------------------------------------------

    OTP-8110  The encryption algorithm aes128-cbc is now supported.
	      Requires that crypto-1.6.1 is available.

    OTP-8162  ssh_transport:unpack/3 could cause a badarg error.

    OTP-8173  Requests could result in badarg or badmatch EXIT messages in
	      the connection manager if the channel no longer existed.

    OTP-8174  If a connection manager already had been terminated it could
	      cause a channel to generate a crash report when it was about
	      to stop.

    OTP-8175  SFTPD did not handle rename command (version 4) correctly.

    OTP-8176  ssh_sftp:start_channel did not handle all possible return
	      values from ssh_channel:start correctly.


--- ssl-3.10.4 ----------------------------------------------------------

    OTP-8137  A client could avoid a certificate check if the client code
	      didn't send the requested certificate.


--- stdlib-1.16.3 -------------------------------------------------------

    OTP-8051  The linter used to crash on invalid -opaque declarations.

    OTP-8066  Bugs in digraph:add_edge/5 and digraph:del_path/3 have been
	      fixed. (Thanks to Crystal Din.)

    OTP-8070  When trying to insert objects with dets:insert_new() into a
	      Dets table of type duplicate_bag, already existing objects
	      would sometimes be duplicated. This bug has been fixed.
	      (Thanks to Crystal Din.)

    OTP-8113  Option {capture,none} was missing in documentation for
	      re:run/3.

    OTP-8124  Running erlc in a very deep directory (with a path length of
	      more 256 or more characters) would cause the emulator to
	      crash in a call to list_to_atom/1. (Thanks to Chris
	      Newcombe.)

    OTP-8129  When erl_scan:tokens() returns an error tuple {error,
	      ErrorInfo, EndLocation}, the list LeftOverChars is the
	      remaining characters of the input data, starting from
	      EndLocation. It used to be the empty list.

    OTP-8130  A few minor bugs have been fixed in the Erlang Code
	      Preprocessor (epp).

    OTP-8133  A bug in The Erlang Meta Interpreter (erl_eval) has been
	      fixed: exceptions generated in the template of bit string
	      comprehensions were not handled properly. (Thanks to Ulf
	      Wiger.)

    OTP-8139  The Erlang Meta Interpreter (erl_eval) has been somewhat
	      optimized when it comes to interpreting receive-expressions.
	      (Thanks to Richard Carlsson.)

    OTP-8150  The Erlang Pretty Printer (erl_pp) has been modified as to
	      handle types.


--- syntax_tools-1.6.3 --------------------------------------------------

    OTP-8190  Miscellaneous updates.


--- test_server-3.3.4 ---------------------------------------------------

    OTP-8045  Various updates and fixes in Common Test and Test Server.

    OTP-8105  When running a suite starting with a test case group, Test
	      Server crashed if init_per_suite/1 exited or returned skip.
	      This has been fixed.

    OTP-8163  Errors in coverage data collection and analysis were
	      difficult to detect. The logging has been improved so that
	      more information about e.g. imported and missing modules is
	      printed to the html log files.

    OTP-8177  The Common Test HTML overview pages have been improved. It is
	      now possible to see if a test case has been skipped
	      explicitly or because a configuration function has failed.
	      Also, the history page (all_runs.html) now has scrolling text
	      displaying the test names. The old format (showing names as a
	      truncated string) can still be generated by means of the
	      flag/option 'basic_html'.


--- typer-0.1.7.2 -------------------------------------------------------

    OTP-8190  Miscellaneous updates.


--- wx-0.98.3 -----------------------------------------------------------

    OTP-8083  wxHtmlWindow class implemented.

	      All exceptions from callbacks are now catched and written to
	      the log.

	      Some defines where wrong in 'wx.hrl'.

	      wx:batch/1 and friends could hang forever if for instance a
	      breakpoint was set inside the fun. That caused all wx
	      applications to hang.

	      Added missing wxAuiPaneInfo constructor and destructor.

	      Added wxAuiNotebookEvent and wxAuiManagerEvent.

	      Calling non supported wxWidgets functions hanged instead of
	      crashed.

	      Update OpenGL to version 3.1 and added some of the missing
	      glu functions.

	      Fixed wxRadioBox which inherited the wrong class, thanks
	      Atilla Erdodi.

    OTP-8126  Added wxListCtrl sorting and build fixes supplied by Paul
	      Hampson. Thanks.

    OTP-8138  Removed some of the automatic garbage collecting after
	      application exit, user will get a warning instead so he can
	      correct the code.

    OTP-8168  Open source Erlang builds are updated to work well on Snow
	      Leopard (MacOS X 10.6)


--- xmerl-1.2.1 ---------------------------------------------------------

    OTP-8084  xmerl/include/xmerl.hrl contained internal debug macros
	      (dbg/2 and DBG/0) which now is moved to xmerl_internal.hrl.

    OTP-8153  The SAX parser couldn't handle consecutive documents on the
	      same stream. The return values are now changed so they return
	      a rest value instead of giving an error about "erranous
	      information after the end tag". This means that the functions
	      file/2 and stream/2 now returns {ok, EventState, Rest} when
	      the parsing is correct. The rest can then be used as input to
	      a new call to xmerl_sax_parse:stream/2. If one know that it's
	      just one document the rest value in the result tuple can be
	      matched against <<>> or [] depending on if the input is in
	      binary form or not.

    OTP-8156  The function xmerl_uri:parse/1 couldn't handle FTP URIs
	      containing username and password. The default FTP port
	      constant was also wrong. (Thanks to Steve Vinoski)