2.2.4.2 (stable): * Namespace sigc is now documented, in order to make large chunks of the reference reappear. (Daniel Elstner) * The shipped reference documentation has been regenerated using Doxygen 1.6.1, so that the document type is now XHTML 1.0. (Daniel Elstner) * The shipped Devhelp file has been generated with a newer version of the XSLT script in mm-common, so that documentation groups no longer appear as namespace prefixes in the keyword list. (Daniel Elstner) 2.2.4.1 (stable): * Reenable the per-class hierarchy graphs in the reference documentation. (Daniel Elstner) * Drop the custom HTML header and footer, and use the shared doxygen.css file from mm-common. (Daniel Elstner) 2.2.4 (stable): * New build system based on mm-common. The mm-common module is now required for building from the git repository, but not for builds of release archives. (Daniel Elstner) * The public reference documentation is now hosted on library.gnome.org. (Frédéric Péters, Daniel Elstner) 2.2.3 (stable): * Windows: - Added project files (and property sheets) for MSVC++ 2005 and 2008. (Armin Burgmeier) - Removed unnecessary dependency on afxrefs.h, so it builds with MSVC++ Express editions. (Cedric Gustin) 2.2.2 (stable): * Added an include of functors/slot.h that was mistakenly removed during the 2.1 series. (Deng Xiyue) Bug #521418. 2.2.1 (stable): * Really fix the build with Sun CC. (Elaine Xiong. Bug #302098) 2.2.0 (stable): * Build fixes when using gcc 4.3 pre-releases. (Ryan Hill, Vladimir Marek) 2.1.1 (unstable): WARNING: This is an unstable release and should not yet be packaged by distributions unless libsigc++ 2.0.x does not build for some reason (Please report such bugs). * Removed the SigC:: namespace and other compatibility API, to fix the build with some versions of some compilers, such as the SUN Forte C++ CC compiler. See bug #302098, for instance (Murray Cumming) * sigc::signal<>: - Added Added typedefs for value_type, reference, and pointer, so that these iterators are more like standard C++ iterators, so they can be used with standard C++ algorithms. (Michael Elkstrand) (Bug #417926). - Added emit_reverse(). (John Profic) 2.0.17: * slot::disconnect(): Make this work. sigc::connection::disconnect() already worked. (James Lin, Murray Cumming) * visit_each compilation problem fixed. (Philipp Berndt) 2.0.16: * Fixed build for SUN Forte C++ 5.5 * Fixed build for MSVC++ 7.1 * Fixed crash when using --no-inline with g++. 2.0.15: * g++ 3.2 (and Mac OS X g++ 3.3) build fix. (Paul Pogonyshev) * Compose: Fix slot lifetime regression introduced in 2.0.9. (Philip Langdale) * tests: Small ISO C++ correctness fix (Marek Rouchal) * Don't specify unused function parameter names. (Andris Pavenis) 2.0.14: * SUN Forte 5.7 build fix for ambiguity when using inner template class. However, you still need the patch in bug #302098 to finish the build. 2.0.13: * signal_emit::emit(): Ensure the correct order of destruction of the member variables, to avoid a leak. (Andreas Ames, bug #306249) * Allow recursive signal emission again. (Neal E. Coombes, bug #303896) * SUN Forte CC 5.5 build fixes: - test_compatibility minor fix. - visit_each() template specializations: Mention the bool I_derives_trackable template type, (Friedemann Kleint, bug #305647) - Check for the non-standard SUN reverse_iterator, and use alternative code if necessary. (Murray Cumming) 2.0.12: * Fixes crashes when using virtual inheritance, particularly with bound by-reference parameters, caused by casting from derived to base when the derived destructor has run. (Régis Duchesne) This might affect non-g++ compilers, so do tell us about any problems. 2.0.11: * Build fixes for SUN Forte, Tru64 (Murray Cumming), and MSVC++ (Cedric Gustin). 2.0.10: * tests: Include to avoid unresolved symbols on Tru64. (Tim Mooney) * When signal handlers are connected made during an emit of the same signal, prevent them from being called in the same emit, to prevent infinite loops. (Neal E. Coombes) * Performance improvement in a corner case. (Neal E. Coombes). 2.0.9: * sigc::bind() now works with the AIX and Tru64 compilers. See the comments in sigc++/visit_each.h: visit_each_type() if you have compilation problems. (Murray Cumming) * sigc::var() is now documented. (Roger Ferrer Ibáñez) 2.0.8: * Maybe avoid (incorrect) warning with g++ 3.3.5. (Murray Cumming) * Fix namespace ambiguity when using multiple major versions of libsigc++. (Liza Klerck) 2.0.7: * Now builds with the following compilers, in addition to the existing GNU g++, SUN Forte CC 5.5, MSVC++ .Net 2003, and Intel compilers: - IBM AIX xlC v7 - Tru64 C++ V6.5-042 - IRIX MIPSpro 7.4.2m (Older versions of all these compilers might also work.) (Murray Cumming, www.thewrittenword.com) * MSVC++ .Net 2003 build improvements. (Cedric Gustin, Timothy M. Shead) * Replace C-style casts with reinterpret_cast<> and static_cast<>. (e97_far at e.kth.se). * Documentation: Added manual, based on the manual in libsigc++ 1.2, but updated for the new API. (Murray Cumming) 2.0.6: * Fixed a memory leak in sigc::slot. * Fixed compilation for gcc-3.4. * Fixed compilation for Intel C++ compiler (upgraded libtool). * Fixed project files for MSVC .Net (Timothy M. Shead). * Fixed segfaults when compiled with MSVC .Net 2003 (moved all calls to new and delete into non-inline library code). * In the compatibility module use correct bound_mem_functor variants for const (volatile) methods when creating a slot. * Minor documentation fix. * Resolved bugs: #152327 #148744 #152323 #151404 #153143 2.0.5: * Distribute pregenerated configuration header for MSVC .Net. 2.0.4: * Fixed warnings and compiler errors in the test cases. * Added a new test case (Murray Cumming). * Fixed 'hello_world' example. * Don't test optional features that fail with the Sun FORTE. * Fixes for the Sun FORTE to compile out-of-the-box (Damien Carbery, Murray Cumming, Martin Schulze). * Fixes for MSVC to build a DLL out-of-the-box (James Lin). * Improved compiler specific configuration during 'configure'. * Added rmp description file libsigc++-2.0.spec (Eric Bourque). * Minor documentation improvements (Murray Cumming). * Resolved bugs: #147311 #147313 #147391 #144846 #145541 2.0.3: * Fix segfault on emission of unconnected signal. * Test emission of unconnected signals in the test case. * Suppress compiler warning at dynamic_cast<>-test for good. (Help from Christof Petig and Timothy M. Shead.) 2.0.2: * Suppress compiler warning in compatibility module at dynamic_cast<>-test (fix suggested by Timothy M. Shead). * If a custom accumulator is specified invoke it on signal emission even if the signal's slot list is empty. (This used to be the case in libsigc++-1.2 as pointed out by Timothy.) 2.0.1: * Fixed serious bug in reference counting in sigc::signal_base::impl(). * Fixed SigC::Object-derivation check in SigC::slot() compatibility module. * Fixed compilation on Apple gcc 3.3 (assisted by Spundun Bhatt). * Fixed configure check for gcc 3.4 (Murray Cumming). 2.0.0: * Implemented sigc::connection::blocked() (Murray Cumming). * Added the scripts directory to the make dist target (Murray Cumming). * Added more documentation (Martin Schulze). 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".