*** libsigc++ 2.0 (unstable):

libsigc++ implements a typesafe callback system for standard C++. It
allows you to define signals and to connect those signals to any
callback function, either global or a member function, regardless of
whether it is static or virtual.

libsigc++ is used by gtkmm to wrap the GTK+ signal system. It does not depend 
on GTK or gtkmm.

libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly flexible,
yet typesafe callback system. It supports all features of libsigc++ 1.2
and improves upon it with a simpler and more powerful API.

This version of libsigc++ needs GNU g++ 3.2 or higher to compile.


*** ChangeLog summary:

1.9.16:

* Fixed compiler warning in sigc::connection (Alexander Nedotsukov, Murray Cumming).
* Fixed examples and made them part of the regular build (Murray Cumming).
* Added header sigc++config.h for configure time checks (Murray Cumming).
* Added configure time checks to determine the correct syntax
  for explicit template method specializations (Murray Cumming).
* Removed code using partial specializations of overloaded template methods
  from test cases. SUN Forte doesn't support this feature (Martin Schulze).
* Fixed compilation for gcc 3.4 (Murray Cumming).

1.9.15:

API additions:
* Add numbered slot# templates.
* Allow for methods of the object's base types to be passed into sigc::mem_fun().

Other fixes and cleanups:
* Make is_base_and_derived template compatible with the SUN Forte.
* Non-template code moved from .m4 macro source to .h/.cc files (Murray Cumming).
* Implementation moved to .cc files (Murray Cumming).
* More fixes for the SUN Forte. Make some more ctors explicit.

1.9.14:

* Added sigc::slot_base::operator bool() (Murray Cumming).
* Build docs directory by default (Murray Cumming).
* Fixed minor doxygen issues (Murray Cumming).
* Fixed compiler warning in signal.h (Murray Cumming).

1.9.13:

* Fixed passing references through sigc::slot (Reported by Jeff Franks).
* Enabled binding of objects to method slots through sigc::bind().
* Reworked sigc::bind() API: Made the template argument for the
  parameter position zero-based and optional. Added overloads for
  binding of up to 7 arguments at a time when no position is specified.
* Reworked sigc::hide() API: Made the template argument for the
  parameter position zero-based and optional.
* Fixed compilation problems with MSVC .Net 2003 (Roel Vanhout).
* Distribute MSVC .Net 2003 project files in the tarballs.
* Improved and extended documentation.
* Minor cleanups.

1.9.12:

* Added adaptor retype(). With this final API addition all adaptors
  are in place that are available in libsigc++-1.2.
* Added negation lambda operator. Use STL names for lambda actions.
* Remove formerly disabled support for gcc extension typeof().
* Added project files for MS Visual Studio .Net 2003. (Roel Vanhout)
* Make libsigc++2 compile with .Net 2003. (Roel Vanhout, Martin Schulze)
* Build shared version of libsigc++2 by default. (Cedric Gustin)
* Add support for win32 platform. (Cedric Gustin)
* Install .m4 files. (requested by Ron Steinke)
* Cleaned up functors.
* Restructured and completed documentation of the core library parts.

1.9.11:

API Additions and important bug fixes:
* Compatibility module completed. libsigc++-1.2 filenames are preserved.
* Fixed critical bug in auto-disconnection: don't defer detaching
  of a slot from all referred trackables during signal emission.
* Reduced size of slots significantly.
* Fixed support for sigc::ref() in adaptors.
* Fixed sigc::visit_each(): only hit targets that are passed by
  reference; pass bound members in bound_member_functor by reference.
* Add lambda actions sigc::{reinterpret,static,dynamic}_cast_
  to support explicit parameter conversion.
* Add adaptors sigc::retype_return<>() and sigc::hide_return().

Minor fixes:
* Fixed return type deduction for bind<0>.
  libsigc++-1.9.11 should compile with gcc-3.3.
* Fixed copy constructor and operator=() of slot template.
* Fixed a compiler warning in signal_emit#<>::emit().
* Improved test case.

1.9.10:

* Fix compiler issues with gcc-3.3.2 (patch from Jeff Franks).
* Remove compiler check for the gcc extension typeof().
* Simplify bind_functor templates.
* Move definition of struct nil into functor_trait.h.

1.9.9:

* Add a constructor to sigc::connection that takes a slot_base&
  to support user defined slot lists like they are used in gtkmm.
* Fix compiler issues with gcc-3.3.2 (reported by Jeff Franks).

1.9.8:

* Add compatibility module that defines namespace SigC.
  namespace SigC should be API compatible to libsigc++-1.2.
  Currently only the core parts of the library are supported.
  Adaptors are still to follow.
* Fix connection::operator=(). Include connection.h in sigc++.h.
* Get rid of namespace functor.
* Rename dependency to destroy_notify_callback.
* Rename trackable::clear() to trackable::notify_callbacks().
* Move slot_base, signal_base, slot_iterator[_buf], slot_list
  out of namespace internal. They are public API.
* Add reference counter to signal_impl enabling signals
  to share the underlying information.
* Add convenience function signal#::make_slot().
* Get rid of one-letter-parameter-names.
* Get rid of "using namespace ..." in the test cases.
* Add lambda operators subscript ([]) and assign (=).
* Fix is_base_and_derived<> for const types.
* New and updated documentation.
* Add previous announces to file NEWS.

1.9.7:

* Added sigc++/sigc++.h. (Murray Cumming)
* Added member_method example. (Murray Cumming)
* Renamed closure to slot.
* Fixed issues with gcc-3.3. (Adreas Rottmann)
* Removed unnecessary void specializations.
* Made adaptors' operator()() (overload with no arguments) return a value.
* Made visit_each() support adaptors.
* Overhauled return type deduction to make it work without typeof().
* Added convinience macros SIGC_FUNCTORS_HAVE_RESULT_TYPE and 
SIGC_FUNCTOR_TRAIT(T_functor, T_result) to make return type deduction system 
support 3rd-party funtors.
* Changed syntax of group adaptor from "[functor] % grp([lambdas])" to "group
([functor], [lambdas])".
* Made many fixes to lambda functionality.
* Added var() and constant() lambda creators.
* Added many lambda operators.
* Added ref() which creates a reference wrapper to enable storage of 
references in bind and group adaptors.
* Expanded test suite.
* Added documentation. (Corrections by Murray Cumming)

1.9.6:

* First public release of the unstable 2.0 generation.
  libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly
  flexible, yet typesafe callback system. It supports all features of
  libsigc++ 1.2 and improves upon it by:
  - No need to specify the number of arguments in signal definitions.
  - Connection of any compatible (=implicitly convertable) functor
   to a signal.
  - Implicit type conversions of parameters during signal emission.
  - Lambda adaptor for complete restructuring of functor parameter
   lists in one line (subject to changes).
  - Signal has a fully featured stl style list interface.
  - A convinient accumulator API (replacing the old marshaller API).
  - Removal of unnecessary memory management functionality.
  - Lightweight class "trackable" for use as base class of your
   class hierarchy replaces class "Object".
