Major relese    : otp_src_R13A
Build date      : 2009-03-17

R13A is a beta release of the next R13B major release.
We do not recommend it for use in live products.

In the R13B release, there may be incompatibilities
in new features that were introduced in this R13A release
(for instance in the Unicode support).

You can download the full source distribution from
 
  http://www.erlang.org/download/otp_src_R13A.tar.gz
  http://www.erlang.org/download/otp_src_R13A.readme (this file)

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

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

The Windows binary distribution can be downloaded from

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


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

  http://www.erlang.org/download/otp_doc_html_R13A.tar.gz
  http://www.erlang.org/download/otp_doc_man_R13A.tar.gz

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

The OTP Team


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

    OTP-7463  The inets http client will now use persistent
	      connections without pipelining as default and if a pipeline
	      timeout is set it will pipeline the requests on the
	      persistent connections.

    OTP-7500  The runtime system with SMP support now uses multiple,
	      scheduler specific run queues, instead of one globally shared
	      run queue.

	      The lock protecting the shared run queue was heavily
	      contended, and the shared run queue also caused Erlang
	      processes to randomly migrate between schedulers with
	      negative cache effects as a result.

	      With the current scheduler specific run queue solution, lock
	      contention due to run queue protection has been reduced, and
	      Erlang processes are only migrated when needed to balance the
	      load between the schedulers. The reduced amount of migration
	      also reduce lock contention on locks protecting the scheduler
	      specific instances of the erts internal memory allocators.

	      The scheduler specific run queues are also a necessity for a
	      lot of future planned NUMA (Non-Uniform Memory Access)
	      specific optimizations.

    OTP-7511  The conf case in Test Server has been extended with
	      properties that make it possible to execute test cases in
	      parallel, in sequence and in shuffled order. It is now also
	      possible to repeat test cases according to different
	      criteria. The properties can be combined, making it possible
	      to e.g. repeat a conf case a certain number of times and
	      execute the test cases in different (random) order every
	      time. The properties are specified in a list in the conf case
	      definition: {conf, Properties, InitCase, TestCases, EndCase}.
	      The available properties are: parallel, sequence, shuffle,
	      repeat, repeat_until_all_ok, repeat_until_any_ok,
	      repeat_until_any_fail, repeat_until_all_fail.

    OTP-7571  The snmp application: A proper discover procedure has been
	      implemented.

    OTP-7648  Support for Unicode is implemented as described in EEP10.
	      Formatting and reading of unicode data both from terminals
	      and files is supported by the io and io_lib modules. Files
	      can be opened in modes with automatic translation to and from
	      different unicode formats. The module 'unicode' contains
	      functions for conversion between external and internal
	      unicode formats and the re module has support for unicode
	      data. There is also language syntax for specifying string and
	      character data beyond the ISO-latin-1 range.

	      The interactive shell will support input and output of
	      unicode characters when the terminal and operating system
	      supports it.

	      Please see the EEP and the io/io_lib manual pages as well as
	      the stdlib users guide for details.

	      I/O-protocol incompatibilities:

	      The io_protocol between io_Server and client is updated to
	      handle protocol data in unicode formats. The updated protocol
	      is now documented. The specification resides in the stdlib
	      users manual, which is a new part of the manual.

	      io module incompatibilities:

	      The io:put_chars, io:get_chars and io:get_line all handle and
	      return unicode data. In the case where binaries can be
	      provided (as to io:put_chars), they shall be encoded in
	      UTF-8. When binaries are returned (as by
	      io:get_line/get_chars when the io_server is set in binary
	      mode) the returned data is also always encoded as UTF-8. The
	      file module however still returns byte-oriented data, why
	      file:read can be used instead of io:get_chars to read binary
	      data in ISO-latin-1.

	      io_lib module incompatibilities:

	      io_lib:format can, given new format directives (i.e "~ts" and
	      "~tc"), return lists containing integers larger than 255.

    OTP-7748  The short-circuit operators andalso and orelse no longer
	      guarantees that their second argument is either true or
	      false. As a consequence, andalso/orelse are now
	      tail-recursive.

    OTP-7826  Nodes belonging to different independent clusters can now
	      co-exist on the same host with the help of a new environment
	      variable setting ERL_EPMD_PORT.

    OTP-7836  [manager] A major flaw was discovered with the agent
	      handling.

	      First, TargetName was never used as intended, as a unique
	      identifier for the target (agent in this case).

	      Second, TargetName had a *default value*, which meant that
	      several agents could have the same TargetName, causing
	      unpredictable behaviour in the manager.

	      Third, EngineID was not a mandatory config option and had
	      furthermore also a *default value*.

	      These problems has been solved in the following way: First, a
	      new set of api functions has been introduced (and
	      documented): snmpm:register_user/4,
	      snmpm:register_user_monitor/4, snmpm:register_agent/3,
	      snmpm:unregister_agent/2, snmpm:agent_info/2,
	      snmpm:update_agent_info/4, snmpm:sync_get/3,4,5,6,
	      snmpm:async_get/3,4,5,6, snmpm:sync_get_next/3,4,5,6,
	      snmpm:async_get_next/3,4,5,6, snmpm:sync_set/3,4,5,6,
	      snmpm:async_set/3,4,5,6, snmpm:sync_get_bulk/5,6,7,8,
	      snmpm:async_get_bulk/5,6,7,8 that all use TargetName (and
	      not, as previously, Addr and Port) to identify the agent
	      (also snmpm:which_agents/0 has been changed).

	      Second, for backward compatibility, the old functions still
	      exist, but are no longer documented and are now wrappers for
	      the new functions, including erroneous default value for
	      EngineID and all. The TargetName is however generated from
	      the Addr, Port and Version provided in the config options.

	      Third, the behaviour of the SNMP manager user (snmpm_user)
	      has been changed to reflect this, i.e. handle_pdu/4,
	      handle_trap/3, handle_inform/3 and handle_report/3. Also the
	      the return-value of handle_agent/4. The old (non-documented)
	      callback-functions (using Addr and Port) will still be called
	      if the agent was registered using the old registration
	      functions.

    OTP-7839  Test case groups have been introduced. With this feature it's
	      possible to execute groups (possibly nested) of test cases,
	      each group wrapped with a call to function init_per_group/2
	      and end_per_group/2. Group definitions are done by means of
	      the new call-back function groups/0, which should return a
	      list of definitions. A group definition contains a name tag,
	      a list of properties and a list of test cases (including
	      possible nested group definitions). The properties make it
	      possible to execute test cases in parallel, in sequence and
	      in shuffled order. It is also possible to repeat test cases
	      according to different criteria. The properties can be
	      combined, making it possible to e.g. repeat a conf case a
	      certain number of times and execute the test cases in
	      different (random) order every time. Available properties
	      are: parallel, sequence, shuffle, repeat,
	      repeat_until_all_ok, repeat_until_any_ok,
	      repeat_until_any_fail and repeat_until_all_fail. Please see
	      the Common Test User's Guide for details.

    OTP-7859  A first beta release of wxErlang.

    OTP-7864  The analysis accepts opaque type declarations and detects
	      violations of opaqueness of terms of such types. Starting
	      with R13, many Erlang/OTP standard libraries (array, dict,
	      digraph, ets, gb_sets, gb_trees, queue, and sets) contain
	      opaque type declarations of their main data types. Dialyzer
	      will spit out warnings in code that explicitly depends on the
	      structure of these terms.

	      Added support for handling UTF segments in bitstreams and for
	      detecting obvious type errors in these segments. Warning:
	      This code is not terribly tested though since there are very
	      few Erlang programs which use Unicode-based binaries - not
	      surprising since this is a new language feature of R13.

	      Strengthened the discrepancy identification when testing for
	      equality and matching between terms of different types. This
	      detects more bugs in code.

	      Added warning for M:F(...) calls where M is not a module term
	      and F is not an atom. Previously, such calls where found to
	      fail but the reason for the failure was not reported.

	      Added a convenient shorthand for the --no_check_plt option
	      (-n).

	      Added the --dump_callgraph option for dumping the callgraph
	      of all files that are analyzed into a specified file. The
	      callgraph either be dumped in raw format, in .dot format, or
	      converted to a .ps (postscript) file. Note that in large
	      callgraphs the generated postscript file might not be
	      interpretable by Ghostview. (Thanks to Ilya Khlopotov for the
	      initial version of this functionality.)


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

    OTP-7686  An example in Getting Started With Erlang has been corrected.
	      (Thanks to Xynos K (AT).)

    OTP-7779  A section about the '--' operator has been added under
	      "Common Caveats".

    OTP-7855  The escape sequences \x and \{ have been assigned new
	      interpretations (they used to return the ASCII code for x and
	      { respectively). One or more octal characters inside curly
	      brackets after a leading backslash is from now on an
	      alternative to the existing syntax \NNN, but can also be used
	      for codes greater than 255. In a similar fashion, one or more
	      hexadecimal characters can be put inside curly brackets after
	      a leading \x. Furthermore, the escape sequences \xH and \xHH,
	      where N is a hexadecimal character, can be used for codes
	      less than 256.

	      NOTE: These new escape sequences are still considered
	      experimental and may be changed in the R13B release.


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

    OTP-7606  Various additions to configure script due to requests from
	      open source customers: <ul> <li>configure --enable-m64-build
	      will try to add -m64 to compile and link commands where
	      appropriate regardless of platform. Darwin (MacOS X) users
	      should still use --enable-darwin-64bit though.</li>
	      <li>configure --enable-dynamic-ssl is now default (but binary
	      distributions are still built with
	      --disable-dynamic-ssl)</li> <li>If m4 is not found on the
	      system, hipe will not be built.</li> </ul>


--- appmon-2.1.10.1 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- asn1-1.6.3 ------------------------------------------------------------

    OTP-7678  Can now handle default values of simple types that is
	      provided on its own format, i.e. not just as asn1_DEFAULT.

    OTP-7681  constrained number with a valuerange greater than 512 now has
	      the proper interpretation of the values that causes shift to
	      the next number of units (bits), According to limit condition
	      2^m < "range" =< 2^(m + 1) then the number of bits are m + 1.


--- asn1-1.6.4 ------------------------------------------------------------

    OTP-7708  A a SEQUENCE OF with a type that is a CHOICE with ellipses
	      occured falsely a compile error. The error causing that is
	      now removed.


--- asn1-1.6.5 ------------------------------------------------------------

    OTP-7734  For a BIT STRING with SIZE constraint higher than 255
	      compiled with [per_bin,optimize, compact_bit_string]
	      an improper io-list was created and sent to the c-driver for
	      complete encoding. This error has been resolved.


--- asn1-1.6.6 ------------------------------------------------------------

    OTP-7759  Decode of an open_type when the value was empty tagged type
	      encoded with indefinite length failed. This is now corrected.

    OTP-7763  Encode of BIT STRING with size of exact length, on
	      compact_bit_string format in UNALIGNED PER failed when value
	      had the right size, i.e. no padding needed.


--- asn1-1.6.8 ------------------------------------------------------------

    OTP-7876  A BIT STRING with a size constraint that has a single value
	      and an extension as in BIT STRING (SIZE (16,...)) was
	      erroneous encoded/decoded. This is now corrected and follows
	      X.691 Section 15.6.


--- common_test-1.3.5 ------------------------------------------------------------

    OTP-7663  It is now possible for the Common Test user to disable the
	      auto-compile feature. This is done by specifying the run_test
	      flag -no_auto_compile, or the ct:run_test/1 option
	      {auto_compile,false}.

    OTP-7749  If the Erlang runtime system was started without access to an
	      erlang shell (e.g. -noshell), compilation errors would cause
	      a crash in the Common Test application. Without access to a
	      shell, Common Test can not promt the user to choose to
	      continue or abort the test session, but must assume that the
	      session should proceed.

    OTP-7758  A new function, ct:get_config/3, has been added to Common
	      Test that makes it possible to - if a particular config
	      variable has been defined in multiple config files - return
	      all matching values for the variable. The order of the
	      elements in the returned list is the same as the specified
	      order of the config files.

    OTP-7781  Because a telnet connection was always identified by a config
	      variable alias, it was impossible to open multiple
	      connections using the same telnet host data entry in the
	      config file. This limitation has been removed by making it
	      possible to associate a connection with handle value only
	      (i.e. multiple connections may be opened using the same
	      config variable). See ct_telnet:open/4 for details.

    OTP-7782  A new syntax for defining default config data values has been
	      introduced. In previous versions of Common Test, to define
	      and access a default value for a config variable (in the
	      suite info- or test case info function), an alias name had to
	      be used. With the new syntax you may define default values
	      without reference to aliases, like this:
	      {default_config,VarName,DefaultValue}. Please see the User's
	      Guide for more info.

    OTP-7783  In previous versions of Common Test, whenever a config
	      variable got associated with a name (by means of a require
	      statement), the config variable name was replaced with the
	      new name. This introduced unwanted dependencies between test
	      cases (e.g. if one test case would introduce a new name, the
	      following test cases could no longer access the config data
	      by means of the original variable). This functionality has
	      now been updated so that when new names are introduced with
	      require, they become aliases (references) instead of
	      replacements. Hence, config data elements can always, at any
	      time, be accessed by means of the original config variable
	      names.


--- common_test-1.3.6 ------------------------------------------------------------

    OTP-7750  When running a test which includes all suites in a test
	      directory, if the auto compilation would fail for one suite,
	      all following suites would be excluded from the test. This
	      was an unwanted behaviour and has been corrected. Now all
	      suites will always be compiled and only the failing ones
	      excluded from the test (and logged as missing).

    OTP-7800  The step functionality in Common Test (based on interaction
	      with Debugger) was broken. This has been fixed, and some new
	      step features have also been added. Please see the Common
	      Test User's Guide for details.

    OTP-7803  It is now possible for the user to specify include
	      directories that Common Test will pass along to the compiler
	      when suite and help modules are being compiled (which Common
	      Test performs automatically before running tests).


--- common_test-1.4 ------------------------------------------------------------

    OTP-7838  A support client module for SSH and SFTP, ct_ssh, has been
	      introduced in Common Test.

    OTP-7839  Test case groups have been introduced. With this feature it's
	      possible to execute groups (possibly nested) of test cases,
	      each group wrapped with a call to function init_per_group/2
	      and end_per_group/2. Group definitions are done by means of
	      the new call-back function groups/0, which should return a
	      list of definitions. A group definition contains a name tag,
	      a list of properties and a list of test cases (including
	      possible nested group definitions). The properties make it
	      possible to execute test cases in parallel, in sequence and
	      in shuffled order. It is also possible to repeat test cases
	      according to different criteria. The properties can be
	      combined, making it possible to e.g. repeat a conf case a
	      certain number of times and execute the test cases in
	      different (random) order every time. Available properties
	      are: parallel, sequence, shuffle, repeat,
	      repeat_until_all_ok, repeat_until_any_ok,
	      repeat_until_any_fail and repeat_until_all_fail. Please see
	      the Common Test User's Guide for details.

    OTP-7842  It is now possible to use DES3 encrypted configuration files
	      with Common Test.

    OTP-7853  In previous versions of Common Test, only one FTP connection
	      could be opened per configuration target name. This has been
	      updated so that multiple connections may be opened. The
	      possibility to use named connections is still supported.

    OTP-7856  The Erlang mode for Emacs has been updated with new and
	      modified skeletons for Common Test and TS. Syntax for test
	      case groups in Common Test (and conf cases with properties in
	      TS) has been added and a new minimal Common Test suite
	      skeleton has been introduced.


--- compiler-4.6 ------------------------------------------------------------

    OTP-7650  The compiler could crash if the size for a binary segment in
	      matching was a complex literal such as binary or tuple.

    OTP-7655  The compiler generates more compact and faster code for
	      matching of complex constants (such as constant lists and
	      tuples).

    OTP-7673  The undocumented, unsupported, and deprecated guard BIF
	      is_constant/1 has been removed.

    OTP-7679  For some complex guards which used andalso/orelse, the
	      compiler would crash. (Thanks to Hunter Morris.)

    OTP-7690  Code that (incorrectly) used the the value of nested
	      applications of setelement/3 in bit syntax construction could
	      crash the compiler.

    OTP-7707  Modules containing huge integers (consisting of several
	      hundreds of thousands of digits or more) could be slow to
	      compile. This problem has been corrected.

    OTP-7718  The compiler generates better code for many guard
	      expressions, and especially for guards that use
	      andalso/orelse or record fields.

	      (In technical terms, andalso/orelse in a guard would case the
	      creation of a stack frame and saving of all x registers that
	      could potentially be alive after the guard and restoring all
	      x registers before leaving the guard. For certain guards, far
	      too many x registers were saved and subsequently restored. In
	      this version of the compiler, no stack frame is created and
	      no x registers are saved and restored.)

    OTP-7737  The default size for the resulting binary created by a binary
	      comprehension was 64Kb in R12B (it would grow if needed).
	      This was often far too much. In this release, the default is
	      changed to 256 bytes. Furthermore, for most binary
	      comprehensions without filters, the exact size of the
	      resulting binary can be calculated beforehand and the
	      compiler now generates code that does that calculation.

    OTP-7748  The short-circuit operators andalso and orelse no longer
	      guarantees that their second argument is either true or
	      false. As a consequence, andalso/orelse are now
	      tail-recursive.

    OTP-7793  The compiler will refuse to a compile file where the module
	      name in the file differs from the output file name.

	      When compiling using erlc, the current working directory will
	      no be included in the code path (unless explicitly added
	      using "-pa .").

    OTP-7844  If the generator in a list comprehension is given a non-list
	      term, there will now be function_clause exception instead of
	      a case_clause exception (as it was in all releases before
	      R12B).

    OTP-7846  There will no longer be any warnings for list comprehensions
	      without generators, as such list comprehension have turned
	      out to be useful.

    OTP-7850  Warnings for obsolete guard tests are now turned on. (That
	      is, writing list(L) in a guard instead of is_list(L) will
	      generate a warning.)

	      The warnings can be turned off using the
	      nowarn_obsolete_guard option.

    OTP-7851  The copyright notices have been updated.

    OTP-7873  If a module contains an exported function with the same name
	      as an auto-imported BIF (such as length/1), any calls to the
	      BIF must have an explicit erlang: prefix, or there will be a
	      compilation error (such calls would only generate a warning
	      in previous releases).

	      (The reason for the change is to avoid breaking code in a
	      future major release, R14 or R15, in which we plan to make
	      calls without a module prefix always call the local function
	      in the same module even if there is an auto-imported BIF with
	      the same name.)


--- cosEvent-2.1.5 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- cosEventDomain-1.1.5 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- cosFileTransfer-1.1.7 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- cosNotification-1.1.10 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- cosProperty-1.1.8 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- cosTime-1.1.5 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- cosTransactions-1.2.6 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- crypto-1.6 ------------------------------------------------------------

    OTP-7674  The dh_compute_key sometimes returned a SharedSecret of
	      incorrect size.

    OTP-7762  Optimization for drivers by creating small binaries direct on
	      process heap.


--- debugger-3.1.1.5 ------------------------------------------------------------

    OTP-7750  When running a test which includes all suites in a test
	      directory, if the auto compilation would fail for one suite,
	      all following suites would be excluded from the test. This
	      was an unwanted behaviour and has been corrected. Now all
	      suites will always be compiled and only the failing ones
	      excluded from the test (and logged as missing).

    OTP-7800  The step functionality in Common Test (based on interaction
	      with Debugger) was broken. This has been fixed, and some new
	      step features have also been added. Please see the Common
	      Test User's Guide for details.

    OTP-7803  It is now possible for the user to specify include
	      directories that Common Test will pass along to the compiler
	      when suite and help modules are being compiled (which Common
	      Test performs automatically before running tests).


--- debugger-3.2 ------------------------------------------------------------

    OTP-7366  Added a new gui, start with debugger:start(gs) for old gui.

    OTP-7673  The undocumented, unsupported, and deprecated guard BIF
	      is_constant/1 has been removed.


--- dialyzer-1.9.0 ------------------------------------------------------------

    OTP-7864  The analysis accepts opaque type declarations and detects
	      violations of opaqueness of terms of such types. Starting
	      with R13, many Erlang/OTP standard libraries (array, dict,
	      digraph, ets, gb_sets, gb_trees, queue, and sets) contain
	      opaque type declarations of their main data types. Dialyzer
	      will spit out warnings in code that explicitly depends on the
	      structure of these terms.

	      Added support for handling UTF segments in bitstreams and for
	      detecting obvious type errors in these segments. Warning:
	      This code is not terribly tested though since there are very
	      few Erlang programs which use Unicode-based binaries - not
	      surprising since this is a new language feature of R13.

	      Strengthened the discrepancy identification when testing for
	      equality and matching between terms of different types. This
	      detects more bugs in code.

	      Added warning for M:F(...) calls where M is not a module term
	      and F is not an atom. Previously, such calls where found to
	      fail but the reason for the failure was not reported.

	      Added a convenient shorthand for the --no_check_plt option
	      (-n).

	      Added the --dump_callgraph option for dumping the callgraph
	      of all files that are analyzed into a specified file. The
	      callgraph either be dumped in raw format, in .dot format, or
	      converted to a .ps (postscript) file. Note that in large
	      callgraphs the generated postscript file might not be
	      interpretable by Ghostview. (Thanks to Ilya Khlopotov for the
	      initial version of this functionality.)


--- docbuilder-0.9.8.5 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- edoc-0.7.6.3 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- erl_interface-3.6 ------------------------------------------------------------

    OTP-7826  Nodes belonging to different independent clusters can now
	      co-exist on the same host with the help of a new environment
	      variable setting ERL_EPMD_PORT.


--- erts-5.6.5.1 ------------------------------------------------------------

    OTP-7641  When chunk reading a disk log opened in read_only mode,
	      bad terms could crash the disk log process.

    OTP-7665  A corrected bug in ets for bag and duplicate_bag. A delete/2 or
	      lookup_element/3 could miss objects in a fixed table
	      if one or more objects with the same key had already been
	      deleted.

    OTP-7682  A bug fixed for TCP sockets with option {packet,http}.
	      An HTTP request with an absolute URI was returned with a
	      corrupt path string. This bug did only exist in R12B-4 and
	      R12B-5.

    OTP-7731  Calling gen_tcp:send() from several processes on
	      socket with option send_timeout could lead to much
	      longer timeout than specified. The solution is a new socket
	      option {send_timeout_close,true} that will do
	      automatic close on timeout. Subsequent calls to send will
	      then immediately fail due to the closed connection.

    OTP-7738  A process being garbage collected via the
	      garbage_collect/1 BIF or the
	      check_process_code/2 BIF didn't handle message receive
	      and resume correctly during the garbage collect. When this
	      occurred, the process returned to the state it had before the
	      garbage collect instead of entering the new state.


--- erts-5.7 ------------------------------------------------------------

    OTP-7339  The order of objects visited in select for ordered_set is now
	      documented.

    OTP-7500  The runtime system with SMP support now uses multiple,
	      scheduler specific run queues, instead of one globally shared
	      run queue.

	      The lock protecting the shared run queue was heavily
	      contended, and the shared run queue also caused Erlang
	      processes to randomly migrate between schedulers with
	      negative cache effects as a result.

	      With the current scheduler specific run queue solution, lock
	      contention due to run queue protection has been reduced, and
	      Erlang processes are only migrated when needed to balance the
	      load between the schedulers. The reduced amount of migration
	      also reduce lock contention on locks protecting the scheduler
	      specific instances of the erts internal memory allocators.

	      The scheduler specific run queues are also a necessity for a
	      lot of future planned NUMA (Non-Uniform Memory Access)
	      specific optimizations.

    OTP-7609  OpenSource:

	      FreeBSD leap-seconds are handled according to patch submitted
	      by OpenSource user Kenji Rikitake. No test case covers this
	      functionality (unsupported platform).

    OTP-7648  Support for Unicode is implemented as described in EEP10.
	      Formatting and reading of unicode data both from terminals
	      and files is supported by the io and io_lib modules. Files
	      can be opened in modes with automatic translation to and from
	      different unicode formats. The module 'unicode' contains
	      functions for conversion between external and internal
	      unicode formats and the re module has support for unicode
	      data. There is also language syntax for specifying string and
	      character data beyond the ISO-latin-1 range.

	      The interactive shell will support input and output of
	      unicode characters when the terminal and operating system
	      supports it.

	      Please see the EEP and the io/io_lib manual pages as well as
	      the stdlib users guide for details.

	      I/O-protocol incompatibilities:

	      The io_protocol between io_Server and client is updated to
	      handle protocol data in unicode formats. The updated protocol
	      is now documented. The specification resides in the stdlib
	      users manual, which is a new part of the manual.

	      io module incompatibilities:

	      The io:put_chars, io:get_chars and io:get_line all handle and
	      return unicode data. In the case where binaries can be
	      provided (as to io:put_chars), they shall be encoded in
	      UTF-8. When binaries are returned (as by
	      io:get_line/get_chars when the io_server is set in binary
	      mode) the returned data is also always encoded as UTF-8. The
	      file module however still returns byte-oriented data, why
	      file:read can be used instead of io:get_chars to read binary
	      data in ISO-latin-1.

	      io_lib module incompatibilities:

	      io_lib:format can, given new format directives (i.e "~ts" and
	      "~tc"), return lists containing integers larger than 255.

    OTP-7649  The format of the string returned by
	      erlang:system_info(system_version) (as well as the first
	      message when Erlang is started) has changed. The string now
	      contains the both the OTP version number as well as the erts
	      version number.

    OTP-7659  Message passing has been further optimized for parallel
	      execution. Serial message passing is slightly more expensive
	      than before, but parallel send to a common receiver is much
	      cheaper.

    OTP-7660  Lock contention on the atom table lock when decoding Erlang
	      terms on the external format has been drastically reduced.

    OTP-7665  A corrected bug in ets for bag and duplicate_bag. A delete/2
	      or lookup_element/3 could miss objects in a fixed table if
	      one or more objects with the same key had already been
	      deleted.

    OTP-7670  A new driver call-back stop_select is introduced to allow
	      drivers to de-select and then close a file descriptor in a
	      safe way in a SMP emulator. The old way was not strictly
	      according to posix standard and could in some rare cases lead
	      to unexpected behavior. A new flag ERL_DRV_USE can be passed
	      to driver_select() to tell it that the descriptor should be
	      closed. stop_select is then called when it is safe to do so.
	      Old drivers will however still work as before.

    OTP-7673  The undocumented, unsupported, and deprecated guard BIF
	      is_constant/1 has been removed.

    OTP-7682  A bug fixed for TCP sockets with option {packet,http}. An
	      HTTP request with an absolute URI was returned with a corrupt
	      path string. This bug did only exist in R12B-4 and R12B-5.

    OTP-7688  run_erl did in some cases fail to extract control sequences
	      from to_erl (like: winsize=X,Y) and did instead send them to
	      be interpreted by the erlang shell.

    OTP-7692  The Erlang process lock implementation has been improved by
	      Mat Hostetter at Tilera Corporation.

    OTP-7725  A {nodedown, Node} message passed by the
	      net_kernel:monitor_nodes/X functionality is now guaranteed to
	      be sent after Node has been removed from the result returned
	      by erlang:nodes/Y.

    OTP-7731  Calling gen_tcp:send() from several processes on socket with
	      option send_timeout could lead to much longer timeout than
	      specified. The solution is a new socket option
	      {send_timeout_close,true} that will do automatic close on
	      timeout. Subsequent calls to send will then immediately fail
	      due to the closed connection.

    OTP-7746  A bug in the installer on Windows not updating file
	      associations properly is now corrected.

    OTP-7747  More space than necessary could be allocated in binaries when
	      appending to a binary (also in a binary comprehension) and
	      the data appended did not consist of wholes bytes (e.g. 13
	      bits).

    OTP-7748  The short-circuit operators andalso and orelse no longer
	      guarantees that their second argument is either true or
	      false. As a consequence, andalso/orelse are now
	      tail-recursive.

    OTP-7752  A new BIF, lists:keyfind/3, has been added. It works like
	      lists:keysearch/3 except that it does not wrap the returned
	      tuple in a value tuple in case of success. (Thanks to James
	      Hague for suggesting this function.)

    OTP-7755  The gen_sctp option sctp_peer_addr_params,
	      #sctp_paddrparams{address={IP,Port} was erroneously decoded
	      in the inet driver. This bug has now been corrected.

    OTP-7762  Optimization for drivers by creating small binaries direct on
	      process heap.

    OTP-7764  I bsl N could cause the Erlang virtual machine to run of
	      memory instead generating a system_limit if N was absurdly
	      huge. (Thanks to Daniel Hedlund.)

	      There would always be a garbage collection when evaluating I
	      bsl N or I bsr N if I was a bignum.

	      If I is an integer and N a bignum, I bsl N will now cause the
	      correct system_limit exception instead of bad_arith as in
	      earlier releases.

	      If I is an integer and N a bignum, I bsr N will return either
	      0 or -1 depending on the sign of I instead of causing a
	      bad_arith exception as in earlier releases.

    OTP-7777  Scheduler threads can now be bound to logical processors on
	      newer Linux and Solaris systems. More systems will be
	      supported in the future.

	      In some cases performance has increased drastically when
	      binding schedulers. Schedulers are not bound by default,
	      though. This since it might cause a performance degradation
	      if multiple programs have bound to processors, e.g. multiple
	      Erlang runtime systems. For more information see the
	      documentation of erlang:system_flag/2.

	      In order to bind scheduler threads the CPU topology need to
	      be known. On some newer Linux and Solaris systems the runtime
	      system automatically detects the CPU topology. If the
	      emulator isn't able to automatically detect the CPU topology,
	      the CPU topology can be defined. For more information see the
	      documentation of erlang:system_flag/2.

    OTP-7784  Outstanding async driver jobs leaked memory if the issuing
	      port died before the async jobs completed.

    OTP-7793  The compiler will refuse to a compile file where the module
	      name in the file differs from the output file name.

	      When compiling using erlc, the current working directory will
	      no be included in the code path (unless explicitly added
	      using "-pa .").

    OTP-7796  A bug in the dynamic library loading affecting, among others,
	      OpenSolaris is now corrected. (Thanks to Paul Fisher.)

    OTP-7804  The BIFs atom_to_binary/2, binary_to_atom/2, and
	      binary_to_existing_atom/2 have been added.

    OTP-7811  The amount of schedulers online can now be changed during
	      operation. The amount of schedulers online defaults to the
	      same amount as available logical processors. For more
	      information see the documentation of erlang:system_flag/2 and
	      erl.

    OTP-7812  The deprecated functions erlang:fault/1, erlang:fault/2, and
	      file:rawopen/2 have been removed.

    OTP-7817  run_erl compile errors fixed for FreeBSD

    OTP-7818  Erts internal dynamically allocated process and port specific
	      data for rarely used data. This is used to reduce memory
	      usage of processes and ports that do not use specific
	      functionality. More functionality will be moved to process
	      and port specific data in future releases.

    OTP-7821  New packet type http_bin for gen_tcp sockets and
	      erlang:decode_packet. It works like http except that strings
	      are returned as binaries instead of lists.

    OTP-7822  The obsolete wd_keeper program for embedded Solaris systems
	      has been removed.

    OTP-7826  Nodes belonging to different independent clusters can now
	      co-exist on the same host with the help of a new environment
	      variable setting ERL_EPMD_PORT.

    OTP-7841  There are new functions erlang:min/2 and erlang:max/2 to
	      calculate the minimum and maximum of two terms, respectively.
	      Note that the functions are not auto-imported, so they need
	      to be imported explicitly or the erlang prefix must be used
	      when calling them.

    OTP-7851  The copyright notices have been updated.

    OTP-7852  Enhanced build environment for cross compilation to Tilera
	      Tile architecture.

	      Support for native ethread atomics on Tilera Tile64/TilePro
	      (Thanks to Tilera Corporation).

    OTP-7855  The escape sequences \x and \{ have been assigned new
	      interpretations (they used to return the ASCII code for x and
	      { respectively). One or more octal characters inside curly
	      brackets after a leading backslash is from now on an
	      alternative to the existing syntax \NNN, but can also be used
	      for codes greater than 255. In a similar fashion, one or more
	      hexadecimal characters can be put inside curly brackets after
	      a leading \x. Furthermore, the escape sequences \xH and \xHH,
	      where N is a hexadecimal character, can be used for codes
	      less than 256.

	      NOTE: These new escape sequences are still considered
	      experimental and may be changed in the R13B release.

    OTP-7861  The PCRE library's exported function names are now prefixed
	      with erts_ in the erlang emulator to avoid clashes with
	      dynamically loaded drivers.

    OTP-7866  A bug in the inet driver for SCTP on Solaris showing for e.g
	      gen_sctp:abort/1 and gen_sctp:eof/1 has been corrected. Patch
	      suggestion by Simon Cornish.

    OTP-7872  A runtime system with SMP support will now be built by
	      default on most platforms if a usable posix thread library or
	      native windows threads are found.

	      For more information see the top README file.


--- et-1.3.1 ------------------------------------------------------------

    OTP-7830  Changed copyright


--- eunit-2.0.1 ------------------------------------------------------------

    OTP-7877  Miscellaneous updates.


--- gs-1.5.10 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- hipe-3.7 ------------------------------------------------------------

    OTP-7877  Miscellaneous updates.


--- ic-4.2.20 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- inets-5.0.13 ------------------------------------------------------------

    OTP-7463  [httpc] - The inets http client will now use persistent
	      connections without pipelining as default and if a pipeline
	      timeout is set it will pipeline the requests on the
	      persistent connections.

    OTP-7723  Ssl did not work correctly with the use of new style
	      configuration due to an old internal format that was not
	      changed correctly in all places.

    OTP-7724  [httpd] - added option ssl_password_callback_arguments.

    OTP-7726  Changed the socket use so that it will become more robust to
	      non-functional ipv6 and fallback on ipv4. This changes may
	      for very special os-configurations cause a problem when used
	      with erts-versions pre R13.

    OTP-7815  Removed deprecated function httpd_util:key1search/[2,3]

    OTP-7857  [httpc] - Now streams 200 and 206 results and not only 200
	      results.


--- jinterface-1.5 ------------------------------------------------------------

    OTP-7832  A number of fixes and improvements from the ErlIDE group;
	      Vlad Dumitrescu and Jakob Cederlund: JDK 1.5 is now a minimal
	      requirement for building Jinterface. New method:
	      OtpEpmd.lookupNames. OtpErlangList is now iterable.
	      Non-proper lists are now allowed - you have to test if a list
	      is proper or not. Non-proper lists can also be created. New
	      methods: isProper, getHead, getTail and getNthTail. The get
	      tail methods creates a sublist object that re-uses the
	      original list. OtpErlangPid is now Comparable. Empty atoms
	      can now be constructed, a missing feature pointed out by
	      Sebastien Boisgerault on erlang-questions.


--- kernel-2.12.5.1 ------------------------------------------------------------

    OTP-7641  When chunk reading a disk log opened in read_only mode,
	      bad terms could crash the disk log process.

    OTP-7665  A corrected bug in ets for bag and duplicate_bag. A delete/2 or
	      lookup_element/3 could miss objects in a fixed table
	      if one or more objects with the same key had already been
	      deleted.

    OTP-7682  A bug fixed for TCP sockets with option {packet,http}.
	      An HTTP request with an absolute URI was returned with a
	      corrupt path string. This bug did only exist in R12B-4 and
	      R12B-5.

    OTP-7731  Calling gen_tcp:send() from several processes on
	      socket with option send_timeout could lead to much
	      longer timeout than specified. The solution is a new socket
	      option {send_timeout_close,true} that will do
	      automatic close on timeout. Subsequent calls to send will
	      then immediately fail due to the closed connection.

    OTP-7738  A process being garbage collected via the
	      garbage_collect/1 BIF or the
	      check_process_code/2 BIF didn't handle message receive
	      and resume correctly during the garbage collect. When this
	      occurred, the process returned to the state it had before the
	      garbage collect instead of entering the new state.


--- kernel-2.13 ------------------------------------------------------------

    OTP-6688  Erlang programs can now access STDERR on platforms where such
	      a file descriptor is available by using the io_server
	      'standard_error', i.e.
	      io:format(standard_error,"~s~n",[ErrorMessage]),

    OTP-7641  When chunk reading a disk log opened in read_only mode, bad
	      terms could crash the disk log process.

    OTP-7647  gen_tcp:send() did sometimes (only observed on Solaris)
	      return {error,enotconn} instead of the expected
	      {error,closed} as the peer socket had been explicitly closed.

    OTP-7649  The format of the string returned by
	      erlang:system_info(system_version) (as well as the first
	      message when Erlang is started) has changed. The string now
	      contains the both the OTP version number as well as the erts
	      version number.

    OTP-7661  As of this version, the global name server no longer supports
	      nodes running Erlang/OTP R10B.

    OTP-7725  A {nodedown, Node} message passed by the
	      net_kernel:monitor_nodes/X functionality is now guaranteed to
	      be sent after Node has been removed from the result returned
	      by erlang:nodes/Y.

    OTP-7731  Calling gen_tcp:send() from several processes on socket with
	      option send_timeout could lead to much longer timeout than
	      specified. The solution is a new socket option
	      {send_timeout_close,true} that will do automatic close on
	      timeout. Subsequent calls to send will then immediately fail
	      due to the closed connection.

    OTP-7755  The gen_sctp option sctp_peer_addr_params,
	      #sctp_paddrparams{address={IP,Port} was erroneously decoded
	      in the inet driver. This bug has now been corrected.

    OTP-7812  The deprecated functions erlang:fault/1, erlang:fault/2, and
	      file:rawopen/2 have been removed.

    OTP-7826  Nodes belonging to different independent clusters can now
	      co-exist on the same host with the help of a new environment
	      variable setting ERL_EPMD_PORT.

    OTP-7851  The copyright notices have been updated.


--- megaco-3.9.2 ------------------------------------------------------------

    OTP-7671  The text encoders (v1, v2, v3, ...) all failed to properly
	      encode the DigitMapDescriptor.

    OTP-7672  The mini decoder some time incorrectly identifies plain text
	      as tokens.


--- megaco-3.9.3 ------------------------------------------------------------

Note:
Version 3.9.3 supports code replacement in runtime from/to version 3.9.2, 3.9.1.1, 
3.9.1, 3.9, 3.8.2, 3.8.1 and 3.8 except when using any of the drivers (flex for 
text or asn1 for binary).

    OTP-7700  Memory leak in the flex scanner. There was a memory leak in
	      the flex scanner function for handling Property Parameters.


--- megaco-3.9.4 ------------------------------------------------------------

    OTP-7728  Improve the error handling of megaco_tcp for received
	      messages.

    OTP-7733  Segmenting a reply failed (with a badmatch) if the message
	      did not actually need to be segmented (e.g. was withing the
	      size limit, max_pdu_size).


--- megaco-3.10 ------------------------------------------------------------

    OTP-7713  Added new API function megaco:connect/5 and the corresponding
	      new megaco_user callback function
	      megaco_user:handle_connect/3. The purpose of this is to be
	      able to pass information to the megaco_user:handle_connect/3
	      function by calling the megaco:connect/5 function.

    OTP-7743  Update file headers with new copyright notice.


--- megaco-3.10.0.1 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- mnesia-4.4.8 ------------------------------------------------------------

    OTP-7753  With bad timing several api functions could return or exit
	      with a bad error message when mnesia was shutting down.

    OTP-7835  mnesia:clear_table/1 cleared all nodes table content even if
	      the table was local_content only type.


--- observer-0.9.8 ------------------------------------------------------------

    OTP-7519  etop would crash if the emulator's custom allocators had been
	      turned off (e.g. using the +Meamin option).

    OTP-7851  The copyright notices have been updated.


--- odbc-2.10.4 ------------------------------------------------------------

    OTP-7720  param_query now handles the in_or_out parameter correctly.

    OTP-7721  Changed the internal socket use so that it will become more
	      robust to non-functional ipv6 and fallback on ipv4.


--- orber-3.6.11 ------------------------------------------------------------

    OTP-7837  Updated file headers.


--- os_mon-2.2 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- otp_mibs-1.0.5 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- parsetools-1.4.6 ------------------------------------------------------------

    OTP-7798  Updated file headers.


--- percept-0.8 ------------------------------------------------------------

    OTP-7693  A problem with options list to percept causing some options
	      to be disregarded unintentionally. This has now been fixed.

	      An error in percept_analyzer caused calculation of standard
	      deviation to be incorrect. This has now been corrected.

    OTP-7696  Updated css for percept server for enhanced viewing.

	      Increased performance of egd render.

	      Several graph errors could occur when compacting data to
	      decrease graph rendering time causing incorrect scalability
	      numbers. These errors have now been fixed.

	      Increased viewing width for graphs. The viewing width is now
	      dependent on client screen resolution.


--- pman-2.7 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- public_key-0.2 ------------------------------------------------------------

    OTP-7860  X509 certificate handling has been extended and improved as a
	      result of more extensive testing of both the ssl and
	      public_key application. Even more extensions of the
	      certificate handling is yet to be implemented.


--- reltool-0.2 ------------------------------------------------------------

    OTP-7805  This is the first release of Reltool. The functionality in
	      this first release is experimental and rather limited.

	      Reltool is a release management tool. It analyses a given
	      Erlang/OTP installation and determines various dependencies
	      between applications. The graphical frontend depicts the
	      dependencies and enables interactive customization of a
	      target system. The backend provides a batch interface for
	      generation of customized target systems.


--- runtime_tools-1.8 ------------------------------------------------------------

    OTP-7519  etop would crash if the emulator's custom allocators had been
	      turned off (e.g. using the +Meamin option).

    OTP-7851  The copyright notices have been updated.

    OTP-7867  Now, dbg:p/2 accepts {X,Y,Z} process specification as stated
	      in the documentation. It also now accepts "<X.Y.Z>" like from
	      erlang:pid_to_list/1.

	      There is now a pre-saved match spec in dbg that saves a lot
	      of typing. Use dbg:ltp/0 to find out more...


--- sasl-2.1.6 ------------------------------------------------------------

    OTP-7667  When using the SASL application configuration parameter
	      masters the error tuple
	      {error,{no_such_file,{Master,FileName}}} was sometimes
	      returned even though the file FileName existed.

    OTP-7820  Missing preloaded modules added


--- snmp-4.12.1 ------------------------------------------------------------

    OTP-7695  Logging of messages with the GetBulk-request PDU incorrectly
	      produced an erroneous entry in the log: "An error occured".
	      The reason for this was that the PDU-fields error_status and
	      error_index is re-used for Non-repeaters and Max-repetitions
	      for GetBulk-request PDUs, but this was not handled by the
	      logging code.

    OTP-7698  An attempt to set the row status to active for an notReady
	      table row, could result in an "inconsistentValue" error. The
	      same problem existed when attempting to set row status to
	      notInService for a row in notReady.


--- snmp-4.13 ------------------------------------------------------------

    OTP-7571  [agent] A proper discover procedure has been implemented.

    OTP-7735  Unnecessary use of math:pow/2 could cause problems on systems
	      without floating point support.

    OTP-7836  [manager] A major flaw was discovered with the agent
	      handling.

	      First, TargetName was never used as intended, as a unique
	      identifier for the target (agent in this case).

	      Second, TargetName had a *default value*, which meant that
	      several agents could have the same TargetName, causing
	      unpredictable behaviour in the manager.

	      Third, EngineID was not a mandatory config option and had
	      furthermore also a *default value*.

	      These problems has been solved in the following way: First, a
	      new set of api functions has been introduced (and
	      documented): snmpm:register_user/4,
	      snmpm:register_user_monitor/4, snmpm:register_agent/3,
	      snmpm:unregister_agent/2, snmpm:agent_info/2,
	      snmpm:update_agent_info/4, snmpm:sync_get/3,4,5,6,
	      snmpm:async_get/3,4,5,6, snmpm:sync_get_next/3,4,5,6,
	      snmpm:async_get_next/3,4,5,6, snmpm:sync_set/3,4,5,6,
	      snmpm:async_set/3,4,5,6, snmpm:sync_get_bulk/5,6,7,8,
	      snmpm:async_get_bulk/5,6,7,8 that all use TargetName (and
	      not, as previously, Addr and Port) to identify the agent
	      (also snmpm:which_agents/0 has been changed).

	      Second, for backward compatibility, the old functions still
	      exist, but are no longer documented and are now wrappers for
	      the new functions, including erroneous default value for
	      EngineID and all. The TargetName is however generated from
	      the Addr, Port and Version provided in the config options.

	      Third, the behaviour of the SNMP manager user (snmpm_user)
	      has been changed to reflect this, i.e. handle_pdu/4,
	      handle_trap/3, handle_inform/3 and handle_report/3. Also the
	      the return-value of handle_agent/4. The old (non-documented)
	      callback-functions (using Addr and Port) will still be called
	      if the agent was registered using the old registration
	      functions.


--- ssh-1.1 ------------------------------------------------------------

    OTP-6400  Public keys protected by a password are currently not handled
	      by the erlang ssh application.

    OTP-7456  Added new API function ssh:connection_info/2.

    OTP-7516  Now starts ssh channel processes later avoiding
	      synchronization problems between processes.

    OTP-7645  Ssh now rejects old versions of the ssh protocol for security
	      reasons. (Even if they where not correctly rejected before
	      the connection would probably have failed anyway due to other
	      reasons.)

    OTP-7676  A flaw in the implementation of the supervison tree caused
	      the ssh deamon to close the connections to all currently
	      logged in users if one user logged out. Another problem
	      related to the supervison tree caused the closing down of
	      clients to leak processes e.i. all processes was not shutdown
	      correctly.

    OTP-7683  Tabs could cause ssh_cli to print things in a surprising way.

    OTP-7685  [sftp, sftpd] - Added patch to make sftp timestamps more
	      correct, in the long run it would be nice to have better
	      support in file to be able to make it always behave correctly
	      now it will be correct 99 % of time instead of almost never
	      correct, at least on unix-based platforms.

    OTP-7766  [sftpd] - Added patch to further improve handling of symbolic
	      links in the sftp-server.

    OTP-7767  Ssh incorrectly sent the local id instead of the remote id of
	      a channel to the peer. For simpler cases these ids often
	      happen to have the same value. One case when they do not is
	      when the client sends an exec command two times in a raw on
	      the same ssh connection (different channels of course as the
	      channel will be closed when the exec command has been
	      evaluated) .

    OTP-7768  Packet data could be lost under high load due to the fact
	      that buffered data was sometimes wrongly discarded before it
	      had been sent.

    OTP-7769  New API module ssh_channel has been added. This is a
	      behaviour to facilitate the implementation of ssh clients and
	      plug in subsystems to the ssh daemon. Note that this slightly
	      changes the options to the API function ssh:daemon/[1,2,3]
	      deprecating all no longer documented options. Note that the
	      new API enforces the "logical way" of using the old API e.i.
	      making the subsystem process part of the ssh applications
	      supervisor tree, so missuses of the old API are not
	      compatible with the new API.

    OTP-7770  Improved ipv6-handling as some assumptions about inet
	      functions where incorrect.


--- ssh-1.1.1 ------------------------------------------------------------

    OTP-7795  The erlang ssh server has presented itself incorrectly, using
	      the special version ssh-1.99, although it never has supported
	      versions below 2.0. Since ssh-1.1 client versions below 2.0
	      are correctly rejected instead of letting the server crash
	      later on. Alas the problem with the presentation string was
	      not discovered until after ssh.1.1 was released. Now the
	      server will present itself as ssh-2.0.

    OTP-7807  Ssh timeouts will now behave as expected e.i. defaults to
	      infinity only the user of the ssh application can know of a
	      reasonable timeout value for their application.

    OTP-7808  The implementation of timeouts added as a patch in ssh-1.0.1
	      was slightly changed and is now documented.

    OTP-7809  To honor the multiplexing of channels over one ssh connection
	      concept ssh_sftp:connect/ [1,2,3] is deprecated and replaced
	      by ssh_sftp:start_channel/[1,2,3] and ssh_sftp:stop/1 is
	      deprecated and replaced by ssh_sftp:stop_channel/1 and to
	      stop the ssh connection ssh:close/ 1 should be called.

    OTP-7828  Added the message {ssh_channel_up, ChannelId,
	      ConnectionManager} that shall be handled by the channel
	      callback handle_msg/2. This makes the function handle_msg/2 a
	      mandatory function for ssh channels implementations which it
	      was not in ssh-1.1.


--- ssl-3.10.1 ------------------------------------------------------------

    OTP-7656  The cacertsfile option is now optional for ssl servers.

    OTP-7870  For the ssl client the options cacertfile, certfile and
	      keyfile are now optional as they are not always needed
	      depending on configuration of the client itself and the
	      configuration of the server. Also as PEM-files may contain
	      more than one entry the keyfile option will default to the
	      same file as given by the certfile option.

    OTP-7871  Added new ssl client option verify_fun.

    OTP-7878  Fixed bug that caused the ssl handshake finished message to
	      be calculated wrongly under the circumstances that the server
	      did not send the trusted cert and that the previous cert did
	      not have the extension telling us the trusted certs name.
	      This manifested it self as bad_record_mac alert from the
	      server.


--- stdlib-1.16 ------------------------------------------------------------

    OTP-7230  The functions lists:seq/1,2 return the empty list in a few
	      cases when they used to generate an exception, for example
	      lists:seq(1, 0). See lists(3) for details. (Thanks to Richard
	      O'Keefe.)

    OTP-7339  The order of objects visited in select for ordered_set is now
	      documented.

    OTP-7626  It is now possible to debug code in escripts and archives.

    OTP-7648  Support for Unicode is implemented as described in EEP10.
	      Formatting and reading of unicode data both from terminals
	      and files is supported by the io and io_lib modules. Files
	      can be opened in modes with automatic translation to and from
	      different unicode formats. The module 'unicode' contains
	      functions for conversion between external and internal
	      unicode formats and the re module has support for unicode
	      data. There is also language syntax for specifying string and
	      character data beyond the ISO-latin-1 range.

	      The interactive shell will support input and output of
	      unicode characters when the terminal and operating system
	      supports it.

	      Please see the EEP and the io/io_lib manual pages as well as
	      the stdlib users guide for details.

	      I/O-protocol incompatibilities:

	      The io_protocol between io_Server and client is updated to
	      handle protocol data in unicode formats. The updated protocol
	      is now documented. The specification resides in the stdlib
	      users manual, which is a new part of the manual.

	      io module incompatibilities:

	      The io:put_chars, io:get_chars and io:get_line all handle and
	      return unicode data. In the case where binaries can be
	      provided (as to io:put_chars), they shall be encoded in
	      UTF-8. When binaries are returned (as by
	      io:get_line/get_chars when the io_server is set in binary
	      mode) the returned data is also always encoded as UTF-8. The
	      file module however still returns byte-oriented data, why
	      file:read can be used instead of io:get_chars to read binary
	      data in ISO-latin-1.

	      io_lib module incompatibilities:

	      io_lib:format can, given new format directives (i.e "~ts" and
	      "~tc"), return lists containing integers larger than 255.

    OTP-7653  The function pool:attach/1 now returns already_attached if
	      the node is already attached, rather than allready_attached
	      (sic!). (Thanks to Edwin Fine.)

    OTP-7662  Preprocessor directives are now allowed in escripts. This
	      means that for example macros may be used in escripts.

    OTP-7669  Fixed a minor race conditions in gen_server:start*: if one of
	      these functions returned {error,Reason} or ignore, the name
	      could still be registered (either locally or in global).

	      A process started by proc_lib in some cases depended on its
	      process dictionary not to be erased, and would crash when
	      terminating abnormally and not generate a proper crash
	      report. This has been corrected (but the initial call will
	      not be shown in the error report if the process dictionary
	      has been erased). NOTE: There is no longer any need to erase
	      the process dictionary for memory conservation reasons, since
	      the actual call arguments are no longer saved in the process
	      dictionary.

    OTP-7702  The Erlang preprocessor used wrong line number when
	      stringifying macro arguments. (Thanks to John Hughes.)

    OTP-7740  When a process started with proc_lib, gen_server, or gen_fsm
	      exits with reason {shutdown,Term}, a crash report will no
	      longer be generated (to allow a clean shutdown, but still
	      provide additional information to process that are linked to
	      the terminating process).

    OTP-7752  A new BIF, lists:keyfind/3, has been added. It works like
	      lists:keysearch/3 except that it does not wrap the returned
	      tuple in a value tuple in case of success. (Thanks to James
	      Hague for suggesting this function.)

    OTP-7797  lists:suffix(Suffix, List) used to have a a complexity of
	      length(Suffix)*length(List) (which could become quite slow
	      for some inputs). It has now been re-implemented so that its
	      complexity is length(Suffix)+length(List). (Thanks to Richard
	      O'Keefe for the new implementation.)

    OTP-7810  The Erlang scanner has been augmented as to return white
	      spaces, comments, and exact location of tokens. The functions
	      string/3, tokens/4, and token_info/1,2 are new. See
	      erl_scan(3) for details.

	      tokens/3,4 have been modified as to return a list of tokens
	      instead of an error when eof is encountered before the dot.

    OTP-7819  filelib:fold_files/5 now uses the re module instead of the
	      regexp module for regular expression matching. In practice,
	      this change will not be a problem for most regular
	      expressions used for filelib:fold_files/5. (The major
	      difference in regular expression is that parenthesis and
	      curly brackets is treated as literal characters by regexp but
	      as special characters by re; fortunately, those characters
	      are rarely used in filenames.)

    OTP-7824  digraph:new(Type) will now cause a badarg exception if Type
	      is not a valid type. Similarly, digraph_utils:subgraph/2,3
	      will now cause a badarg if the arguments are invalid. (Those
	      functions used to return error tuples if something was
	      wrong.)

    OTP-7827  The argument passed to random:uniform/1 must now be an
	      integer (as stated in the documentation). In previous
	      releases, a floating point number was also allowed.

    OTP-7851  The copyright notices have been updated.

    OTP-7865  A few missing match spec functions was added to dbg:fun2ms;
	      exception_trace/0 and trace/2,3.

	      There is a new function queue:member/2.

	      A bug in io_lib:fread that made it accidentally concatenate
	      fields separated by newline has been corrected. Reported and
	      analyzed by Matthew Palmer to erlang-patches.


--- syntax_tools-1.6 ------------------------------------------------------------

    OTP-7877  Miscellaneous updates.


--- test_server-3.2.4.1 ------------------------------------------------------------

    OTP-7750  When running a test which includes all suites in a test
	      directory, if the auto compilation would fail for one suite,
	      all following suites would be excluded from the test. This
	      was an unwanted behaviour and has been corrected. Now all
	      suites will always be compiled and only the failing ones
	      excluded from the test (and logged as missing).

    OTP-7800  The step functionality in Common Test (based on interaction
	      with Debugger) was broken. This has been fixed, and some new
	      step features have also been added. Please see the Common
	      Test User's Guide for details.

    OTP-7803  It is now possible for the user to specify include
	      directories that Common Test will pass along to the compiler
	      when suite and help modules are being compiled (which Common
	      Test performs automatically before running tests).


--- test_server-3.3 ------------------------------------------------------------

    OTP-7511  The conf case in Test Server has been extended with
	      properties that make it possible to execute test cases in
	      parallel, in sequence and in shuffled order. It is now also
	      possible to repeat test cases according to different
	      criteria. The properties can be combined, making it possible
	      to e.g. repeat a conf case a certain number of times and
	      execute the test cases in different (random) order every
	      time. The properties are specified in a list in the conf case
	      definition: {conf, Properties, InitCase, TestCases, EndCase}.
	      The available properties are: parallel, sequence, shuffle,
	      repeat, repeat_until_all_ok, repeat_until_any_ok,
	      repeat_until_any_fail, repeat_until_all_fail.

    OTP-7699  The test server starts Cover on nodes of the same version as
	      the test server itself only.

    OTP-7856  The Erlang mode for Emacs has been updated with new and
	      modified skeletons for Common Test and TS. Syntax for test
	      case groups in Common Test (and conf cases with properties in
	      TS) has been added and a new minimal Common Test suite
	      skeleton has been introduced.


--- toolbar-1.4 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- tools-2.6.3 ------------------------------------------------------------

    OTP-7831  xref:start/1 does now allow anonymous XREF processes to be
	      started

    OTP-7851  The copyright notices have been updated.

    OTP-7856  The Erlang mode for Emacs has been updated with new and
	      modified skeletons for Common Test and TS. Syntax for test
	      case groups in Common Test (and conf cases with properties in
	      TS) has been added and a new minimal Common Test suite
	      skeleton has been introduced.


--- tv-2.1.4.3 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- typer-0.1.6 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- webtool-0.8.4 ------------------------------------------------------------

    OTP-7851  The copyright notices have been updated.


--- wx-0.98 ------------------------------------------------------------

    OTP-7859  A first beta release of wxErlang.


--- xmerl-1.1.12 ------------------------------------------------------------

    OTP-7847  Updated copyright notice in source files