Bug fix release : otp_src_R15B03
Build date      : 2012-11-26

This is R15B03, the third maintenance release for the R15B major release.

You can find the README file for the release at

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

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

  http://www.erlang.org/download/otp_src_R15B03.tar.gz
  http://www.erlang.org/download/otp_win32_R15B03.exe
  http://www.erlang.org/download/otp_win64_R15B03.exe

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_R15B03.tar.gz
  http://www.erlang.org/download/otp_doc_man_R15B03.tar.gz

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

The OTP Team


--- common_test-1.6.2.1 -------------------------------------------------

   OTP-10414  The interactive mode (ct_run -shell) would not start properly. 
              This error has been fixed.


--- common_test-1.6.3 ---------------------------------------------------

   OTP-10466  A new test case group search functionality has been
	      implemented that makes Common Test search automatically
	      through the group definitions tree (the return value of
	      groups/0) and create tests for all paths of nested groups
	      that match the specification. It also allows for specifying
	      unique paths to sub groups in order to avoid execution of
	      unwanted tests. This new feature can be used whenever
	      starting a test run by means of the ct_run program, the
	      ct:run_test/1 API function, or a Test Specification. Details
	      can be found in the Test Case Group Execution section in the
	      Running Tests chapter.

   OTP-10495  The ct:run_test/1 option 'config' only worked with a single
	      config file, not a list of files. This has been fixed.

   OTP-10510  ct_netconfc:close_session sometimes returned {error,closed}
	      because the ssh connection was closed (from the server side)
	      before the rpc-reply was received by the client. This is
	      normal and can not be helped. It has been corrected so the
	      return will be 'ok' in this case. Other error situations will
	      still give {error,Reason}.

   OTP-10570  ct_netconfc:close_session sometimes returned {error,closed}
	      or (if the connection was named)
	      {error,{process_down,Pid,normal}} because the ssh connection
	      was closed (from the server side) before the rpc-reply was
	      received by the client. This is normal and can not be helped.
	      It has been corrected so the return will be 'ok' in this
	      situation.

   OTP-10572  Fix bug where ct:require of same name with same config would
	      return name_in_use.


--- compiler-4.8.2 ------------------------------------------------------

   OTP-10567  The compiler would crash when attempting to compile a
	      function head that did binary matching and had a complex
	      guard using 'andalso' and 'not'. (Thanks to Jose Valim for
	      reporting this bug.)


--- dialyzer-2.5.3 ------------------------------------------------------

   OTP-10464  Fix a crash in race condition detection

	      Remove old untested experimental extension

	      Respect {plt_check,false} option when using dialyzer:run/1

	      Fix handling of tuple set remote types appearing in tuple
	      sets


--- diameter-1.2.1 ------------------------------------------------------

   OTP-10550  Accept that diameter may not exist on all nodes. Such a 
              node would previously have prevented new peer connections 
              from being established. 

   OTP-10461  Fix a fault that caused service failure when resending requests 
              at peer failover.


--- diameter-1.3 --------------------------------------------------------

   OTP-10440  Fix faulty handling of Origin-State-Id and faulty config
	      values.

	      The former was expected in a list despite the documentation
	      requiring (correctly) an integer. A bare value for a
	      list-valued capability was not handled.

   OTP-10441  Let prepare_request, prepare_retransmit and handle_request
	      callbacks return a function to be invoked on outgoing
	      messages after encode.

	      This allows encoded messages to be logged for example.

   OTP-10443  Add service_opt() 'restrict_connections' to allow multiple
	      transport connections with the same peer.

   OTP-10445  Add service_opt() 'sequence' to allow the masking of a
	      constant onto the topmost bits of End-to-End and Hop-by-Hop
	      identifiers.

	      This allows the same service on different nodes to use
	      distinct values in outgoing request messages.

   OTP-10459  Fix timing of up/down events.

	      Previously, a call to diameter:call/4 following a peer_up
	      callback might incorrectly return {error, no_connection},
	      depending on timing. Both events now follow the corresponding
	      callbacks.

   OTP-10460  Make diameter:service_info/2 usable in peer_up, peer_down and
	      pick_peer callbacks.

	      Except for in pick_peer when {call_mutates_state, false}, it
	      would previously hang indefinitely.

   OTP-10470  Add diameter:service_info(PeerRef) to return the
	      transport_ref() and transport_opt() list of the corresponding
	      transport.

	      This allows easy access to these from diameter_app callbacks
	      that only get peer_ref() as an argument.

   OTP-10471  Add reference pages diameter_codec(3) and diameter_make(3).

   OTP-10492  Add events for service start and stop.

   OTP-10493  Add transport_opt() 'disconnect_cb' to make the sending of
	      DPR configurable.

	      Whether or not DPR should be sent at application stop,
	      service stop or transport removal is determined by the value
	      returned by the callback, as is the Disconnect-Cause and
	      timeout if DPA is not received.

   OTP-10554  Add transport_opt() 'capx_timeout' for the timeout associated
	      with non-reception of CER/CEA.

   OTP-10565  Verify that End-to-End and Hop-by-Hop Identifiers in an
	      incoming CEA/DPA match those sent in the corresponding
	      CER/DPR.

	      The values were previously ignored. Answers whose identifiers
	      do not match are handled as unexpected.

   OTP-10566  Allow a handle_request callback to return a
	      #diameter_packet{}.

	      This allows an answer to set transport_data and header
	      fields.

   OTP-10568  Update documentation for RFC 6733.

	      RFC 3588 is now obsolete.

   OTP-10583  Fix formatting problems in PDF documentation.

	      In particular, text corresponding to links in HTML was
	      omitted in preformatted blocks. There are still issues with
	      indentation but this is not diameter-specific.


--- erl_docgen-0.3.3 ----------------------------------------------------

    OTP-9040  A possibility to configure erl_docgen so it can generate
	      documentation for other products than Erlang/OTP.


--- erl_interface-3.7.9 -------------------------------------------------

   OTP-10581  Teach lib/erl_interface/configure.in to look for pthreads
	      support in libc (where it can be found on QNX)

	      A minor tweak such that this configure *fails* if you pass
	      --enable-threads and no pthreads support can be found.
	      (Thanks to Per Hedeland)


--- erts-5.9.3 ----------------------------------------------------------

   OTP-10265  Improve support for building and testing in embedded ppc
	      environments.

   OTP-10325  Due to a race condition on Windows, sometimes when printing
	      to standard output and then immediately terminating erlang
	      all data would not be printed. The emulator now waits for all
	      data to be printed before exiting.

   OTP-10395  Fix linking in OpenBSD. (Thanks to Matthew Dempsky)

   OTP-10418  Fix bug causing fallback atomics to be used even though
	      healthy gcc atomics or libatomic_ops was detected.

   OTP-10422  Ensure 'erl_crash.dump' when asked for it. This will change
	      erl_crash.dump behaviour.

	      * Not setting ERL_CRASH_DUMP_SECONDS will now terminate beam
	      immediately on a crash without writing a crash dump file.

	      * Setting ERL_CRASH_DUMP_SECONDS to 0 will also terminate
	      beam immediately on a crash without writing a crash dump
	      file, i.e. same as not setting ERL_CRASH_DUMP_SECONDS
	      environment variable.

	      * Setting ERL_CRASH_DUMP_SECONDS to a negative value will let
	      the beam wait indefinitely on the crash dump file being
	      written.

	      * Setting ERL_CRASH_DUMP_SECONDS to a positive value will let
	      the beam wait that many seconds on the crash dump file being
	      written.

	      A positive value will set an alarm/timeout for restart both
	      in beam and in heart if heart is running.

   OTP-10476  The frequency with which sleeping schedulers are woken due to
	      outstanding memory deallocation jobs has been reduced.

   OTP-10481  Fix bug where MSVRT100.dll was not included in the windows
	      installer.

   OTP-10524  In the expression <<Bin/binary,...>>, if Bin was a bitstring
	      with a size not a multiple of 8, either no exception was
	      generated or an incorrect exception was generated. (Thanks to
	      Adam Rutkowski for reporting this bug.)

   OTP-10556  The runtime system could crash while scheduling a port task.
	      The port task was scheduled either due to an external I/O
	      event being triggered, a driver timeout being triggered, or
	      data being sent over a distribution channel.

   OTP-10557  Clearer warnings about the dangers of misuse of native
	      functions and drivers have been added to the documentation.

   OTP-10558  erlang:memory(ets) erroneously included the size of each
	      ETS-table main structure twice.

   OTP-10577  Fix compile error in generated file hipe_amd64_bifs.S for
	      Solaris.

   OTP-10584  A faulty spec for process_info/2 could cause false dialyzer
	      warnings. The spec is corrected.

   OTP-10590  In very rare cases, the VM could crash if a garbage collector
	      was called while executing an appending bit syntax
	      instruction. The symptom was a core when reallocating memory
	      in the function erts_bs_append. The garbage collector bug is
	      now corrected.


--- hipe-3.9.3 ----------------------------------------------------------

   OTP-10584  A faulty spec for process_info/2 could cause false dialyzer
	      warnings. The spec is corrected.


--- inets-5.9.2 ---------------------------------------------------------

   OTP-10392  Minimum bytes per second

	      New option to http server, {minimum_bytes_per_second,
	      integer()}, for a connection, if it is not reached the socket
	      will close for that specific connection. Can be used to
	      prevent hanging requests from faulty clients.


--- kernel-2.15.3 -------------------------------------------------------

   OTP-10422  Ensure 'erl_crash.dump' when asked for it. This will change
	      erl_crash.dump behaviour.

	      * Not setting ERL_CRASH_DUMP_SECONDS will now terminate beam
	      immediately on a crash without writing a crash dump file.

	      * Setting ERL_CRASH_DUMP_SECONDS to 0 will also terminate
	      beam immediately on a crash without writing a crash dump
	      file, i.e. same as not setting ERL_CRASH_DUMP_SECONDS
	      environment variable.

	      * Setting ERL_CRASH_DUMP_SECONDS to a negative value will let
	      the beam wait indefinitely on the crash dump file being
	      written.

	      * Setting ERL_CRASH_DUMP_SECONDS to a positive value will let
	      the beam wait that many seconds on the crash dump file being
	      written.

	      A positive value will set an alarm/timeout for restart both
	      in beam and in heart if heart is running.


--- percept-0.8.7 -------------------------------------------------------

   OTP-10439  Add missing modules in app-file


--- public_key-0.17 -----------------------------------------------------

    OTP-9361  ssh_decode now handles comments, at the end of the line,
	      containing withe spaces correctly

    OTP-9362  Add missing references to sha224 and sha384

   OTP-10509  public_key now supports PKCS-10 and includes exprimental
	      support for PKCS-7


--- ssh-2.1.2 -----------------------------------------------------------

   OTP-10429  SSH quiet mode

	      A new option to ssh:connect/3,4, quiet_mode. If true, the
	      client will not print out anything on authorization.

   OTP-10498  Restrict which key algorithms to use

	      A new option to ssh:connect/3,4 is introduced,
	      public_key_algs, where you can restrict which key algorithms
	      to use and in which order to try them.

   OTP-10511  Confidentiality of client password

	      Unsets clients password after authentication.

   OTP-10513  Fixed user interaction for SSH

	      It's now available to accept hosts and input password


--- ssl-5.1.1 -----------------------------------------------------------

   OTP-10569  ssl:recv/3 could "loose" data when the timeout occurs. If the
	      timout in ssl:connect or ssl:ssl_accept expired the ssl
	      connection process was not terminated as it should, this due
	      to gen_fsm:send_all_state_event timout is a client side time
	      out. These timouts are now handled by the gen_fsm-procss
	      instead.

   OTP-10574  Better termination handling that avoids hanging.


--- stdlib-1.18.3 -------------------------------------------------------

   OTP-10591  Minor test updates


--- test_server-3.5.3 ---------------------------------------------------

   OTP-10571  test_server_h will now recognize info_reports written by ct
	      connection handlers (according to the description in
	      cth_conn_log) and ignore them as they will be completely
	      handled by by ct_conn_log_h.

	      Earlier test_server_h would print a tag (testcase name)
	      before forwarding the report to error_logger_tty_h. This
	      would cause lots of tags in the log with no info report
	      following (since error_logger_tty_h did not handle them).

--- tools ---------------------------------------------------------------

   OTP-10439  Add missing modules in app-file