3 * Added an include of functors/slot.h that was mistakenly removed
5 (Deng Xiyue) Bug #521418.
9 * Really fix the build with Sun CC.
10 (Elaine Xiong. Bug #302098)
14 * Build fixes when using gcc 4.3 pre-releases.
15 (Ryan Hill, Vladimir Marek)
19 WARNING: This is an unstable release and should not yet be
20 packaged by distributions unless libsigc++ 2.0.x does not
21 build for some reason (Please report such bugs).
23 * Removed the SigC:: namespace and other compatibility API,
24 to fix the build with some versions of some compilers,
25 such as the SUN Forte C++ CC compiler.
26 See bug #302098, for instance
29 - Added Added typedefs for
30 value_type, reference, and pointer, so that these
31 iterators are more like standard C++ iterators, so they can
32 be used with standard C++ algorithms.
33 (Michael Elkstrand) (Bug #417926).
34 - Added emit_reverse().
39 * slot::disconnect(): Make this work.
40 sigc::connection::disconnect() already worked.
41 (James Lin, Murray Cumming)
42 * visit_each compilation problem fixed.
47 * Fixed build for SUN Forte C++ 5.5
48 * Fixed build for MSVC++ 7.1
49 * Fixed crash when using --no-inline with g++.
53 * g++ 3.2 (and Mac OS X g++ 3.3) build fix.
55 * Compose: Fix slot lifetime regression introduced in
56 2.0.9. (Philip Langdale)
57 * tests: Small ISO C++ correctness fix (Marek Rouchal)
58 * Don't specify unused function parameter names.
63 * SUN Forte 5.7 build fix for ambiguity when using
64 inner template class. However, you still need the
65 patch in bug #302098 to finish the build.
69 * signal_emit::emit(): Ensure the correct order of
70 destruction of the member variables, to avoid a leak.
71 (Andreas Ames, bug #306249)
72 * Allow recursive signal emission again.
73 (Neal E. Coombes, bug #303896)
74 * SUN Forte CC 5.5 build fixes:
75 - test_compatibility minor fix.
76 - visit_each() template specializations:
77 Mention the bool I_derives_trackable template type,
78 (Friedemann Kleint, bug #305647)
79 - Check for the non-standard SUN reverse_iterator,
80 and use alternative code if necessary.
85 * Fixes crashes when using virtual inheritance, particularly
86 with bound by-reference parameters, caused by casting
87 from derived to base when the derived destructor has run.
89 This might affect non-g++ compilers, so do tell us about
94 * Build fixes for SUN Forte, Tru64
95 (Murray Cumming), and MSVC++ (Cedric Gustin).
99 * tests: Include <new> to avoid unresolved symbols on Tru64.
101 * When signal handlers are connected made during an emit
102 of the same signal, prevent them from being called in the
103 same emit, to prevent infinite loops.
105 * Performance improvement in a corner case.
110 * sigc::bind() now works with the AIX and Tru64 compilers.
111 See the comments in sigc++/visit_each.h: visit_each_type()
112 if you have compilation problems.
114 * sigc::var() is now documented. (Roger Ferrer Ibáñez)
118 * Maybe avoid (incorrect) warning with g++ 3.3.5.
120 * Fix namespace ambiguity when using multiple
121 major versions of libsigc++. (Liza Klerck)
125 * Now builds with the following compilers, in addition to
126 the existing GNU g++, SUN Forte CC 5.5, MSVC++ .Net 2003,
130 - IRIX MIPSpro 7.4.2m
131 (Older versions of all these compilers might also work.)
132 (Murray Cumming, www.thewrittenword.com)
133 * MSVC++ .Net 2003 build improvements.
134 (Cedric Gustin, Timothy M. Shead)
135 * Replace C-style casts with reinterpret_cast<> and
136 static_cast<>. (e97_far at e.kth.se).
137 * Documentation: Added manual, based on the manual in
138 libsigc++ 1.2, but updated for the new API.
144 * Fixed a memory leak in sigc::slot.
145 * Fixed compilation for gcc-3.4.
146 * Fixed compilation for Intel C++ compiler (upgraded libtool).
147 * Fixed project files for MSVC .Net (Timothy M. Shead).
148 * Fixed segfaults when compiled with MSVC .Net 2003 (moved
149 all calls to new and delete into non-inline library code).
150 * In the compatibility module use correct bound_mem_functor
151 variants for const (volatile) methods when creating a slot.
152 * Minor documentation fix.
153 * Resolved bugs: #152327 #148744 #152323 #151404 #153143
157 * Distribute pregenerated configuration header for MSVC .Net.
161 * Fixed warnings and compiler errors in the test cases.
162 * Added a new test case (Murray Cumming).
163 * Fixed 'hello_world' example.
164 * Don't test optional features that fail with the Sun FORTE.
165 * Fixes for the Sun FORTE to compile out-of-the-box
166 (Damien Carbery, Murray Cumming, Martin Schulze).
167 * Fixes for MSVC to build a DLL out-of-the-box (James Lin).
168 * Improved compiler specific configuration during 'configure'.
169 * Added rmp description file libsigc++-2.0.spec (Eric Bourque).
170 * Minor documentation improvements (Murray Cumming).
171 * Resolved bugs: #147311 #147313 #147391 #144846 #145541
175 * Fix segfault on emission of unconnected signal.
176 * Test emission of unconnected signals in the test case.
177 * Suppress compiler warning at dynamic_cast<>-test for good.
178 (Help from Christof Petig and Timothy M. Shead.)
182 * Suppress compiler warning in compatibility module at
183 dynamic_cast<>-test (fix suggested by Timothy M. Shead).
184 * If a custom accumulator is specified invoke it on signal
185 emission even if the signal's slot list is empty. (This used
186 to be the case in libsigc++-1.2 as pointed out by Timothy.)
190 * Fixed serious bug in reference counting in sigc::signal_base::impl().
191 * Fixed SigC::Object-derivation check in SigC::slot() compatibility module.
192 * Fixed compilation on Apple gcc 3.3 (assisted by Spundun Bhatt).
193 * Fixed configure check for gcc 3.4 (Murray Cumming).
197 * Implemented sigc::connection::blocked() (Murray Cumming).
198 * Added the scripts directory to the make dist target (Murray Cumming).
199 * Added more documentation (Martin Schulze).
203 * Fixed compiler warning in sigc::connection (Alexander Nedotsukov, Murray Cumming).
204 * Fixed examples and made them part of the regular build (Murray Cumming).
205 * Added header sigc++config.h for configure time checks (Murray Cumming).
206 * Added configure time checks to determine the correct syntax
207 for explicit template method specializations (Murray Cumming).
208 * Removed code using partial specializations of overloaded template methods
209 from test cases. SUN Forte doesn't support this feature (Martin Schulze).
210 * Fixed compilation for gcc 3.4 (Murray Cumming).
215 * Add numbered slot# templates.
216 * Allow for methods of the object's base types to be passed into sigc::mem_fun().
218 Other fixes and cleanups:
219 * Make is_base_and_derived template compatible with the SUN Forte.
220 * Non-template code moved from .m4 macro source to .h/.cc files (Murray Cumming).
221 * Implementation moved to .cc files (Murray Cumming).
222 * More fixes for the SUN Forte. Make some more ctors explicit.
226 * Added sigc::slot_base::operator bool() (Murray Cumming).
227 * Build docs directory by default (Murray Cumming).
228 * Fixed minor doxygen issues (Murray Cumming).
229 * Fixed compiler warning in signal.h (Murray Cumming).
233 * Fixed passing references through sigc::slot (Reported by Jeff Franks).
234 * Enabled binding of objects to method slots through sigc::bind().
235 * Reworked sigc::bind() API: Made the template argument for the
236 parameter position zero-based and optional. Added overloads for
237 binding of up to 7 arguments at a time when no position is specified.
238 * Reworked sigc::hide() API: Made the template argument for the
239 parameter position zero-based and optional.
240 * Fixed compilation problems with MSVC .Net 2003 (Roel Vanhout).
241 * Distribute MSVC .Net 2003 project files in the tarballs.
242 * Improved and extended documentation.
247 * Added adaptor retype(). With this final API addition all adaptors
248 are in place that are available in libsigc++-1.2.
249 * Added negation lambda operator. Use STL names for lambda actions.
250 * Remove formerly disabled support for gcc extension typeof().
251 * Added project files for MS Visual Studio .Net 2003. (Roel Vanhout)
252 * Make libsigc++2 compile with .Net 2003. (Roel Vanhout, Martin Schulze)
253 * Build shared version of libsigc++2 by default. (Cedric Gustin)
254 * Add support for win32 platform. (Cedric Gustin)
255 * Install .m4 files. (requested by Ron Steinke)
256 * Cleaned up functors.
257 * Restructured and completed documentation of the core library parts.
261 API Additions and important bug fixes:
262 * Compatibility module completed. libsigc++-1.2 filenames are preserved.
263 * Fixed critical bug in auto-disconnection: don't defer detaching
264 of a slot from all referred trackables during signal emission.
265 * Reduced size of slots significantly.
266 * Fixed support for sigc::ref() in adaptors.
267 * Fixed sigc::visit_each(): only hit targets that are passed by
268 reference; pass bound members in bound_member_functor by reference.
269 * Add lambda actions sigc::{reinterpret,static,dynamic}_cast_
270 to support explicit parameter conversion.
271 * Add adaptors sigc::retype_return<>() and sigc::hide_return().
274 * Fixed return type deduction for bind<0>.
275 libsigc++-1.9.11 should compile with gcc-3.3.
276 * Fixed copy constructor and operator=() of slot template.
277 * Fixed a compiler warning in signal_emit#<>::emit().
278 * Improved test case.
282 * Fix compiler issues with gcc-3.3.2 (patch from Jeff Franks).
283 * Remove compiler check for the gcc extension typeof().
284 * Simplify bind_functor templates.
285 * Move definition of struct nil into functor_trait.h.
289 * Add a constructor to sigc::connection that takes a slot_base&
290 to support user defined slot lists like they are used in gtkmm.
291 * Fix compiler issues with gcc-3.3.2 (reported by Jeff Franks).
295 * Add compatibility module that defines namespace SigC.
296 namespace SigC should be API compatible to libsigc++-1.2.
297 Currently only the core parts of the library are supported.
298 Adaptors are still to follow.
299 * Fix connection::operator=(). Include connection.h in sigc++.h.
300 * Get rid of namespace functor.
301 * Rename dependency to destroy_notify_callback.
302 * Rename trackable::clear() to trackable::notify_callbacks().
303 * Move slot_base, signal_base, slot_iterator[_buf], slot_list
304 out of namespace internal. They are public API.
305 * Add reference counter to signal_impl enabling signals
306 to share the underlying information.
307 * Add convenience function signal#::make_slot().
308 * Get rid of one-letter-parameter-names.
309 * Get rid of "using namespace ..." in the test cases.
310 * Add lambda operators subscript ([]) and assign (=).
311 * Fix is_base_and_derived<> for const types.
312 * New and updated documentation.
313 * Add previous announces to file NEWS.
317 * Added sigc++/sigc++.h. (Murray Cumming)
318 * Added member_method example. (Murray Cumming)
319 * Renamed closure to slot.
320 * Fixed issues with gcc-3.3. (Adreas Rottmann)
321 * Removed unnecessary void specializations.
322 * Made adaptors' operator()() (overload with no arguments) return a value.
323 * Made visit_each() support adaptors.
324 * Overhauled return type deduction to make it work without typeof().
325 * Added convinience macros SIGC_FUNCTORS_HAVE_RESULT_TYPE and
326 SIGC_FUNCTOR_TRAIT(T_functor, T_result) to make return type deduction system
327 support 3rd-party funtors.
328 * Changed syntax of group adaptor from "[functor] % grp([lambdas])" to "group
329 ([functor], [lambdas])".
330 * Made many fixes to lambda functionality.
331 * Added var() and constant() lambda creators.
332 * Added many lambda operators.
333 * Added ref() which creates a reference wrapper to enable storage of
334 references in bind and group adaptors.
335 * Expanded test suite.
336 * Added documentation. (Corrections by Murray Cumming)
340 * First public release of the unstable 2.0 generation.
341 libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly
342 flexible, yet typesafe callback system. It supports all features of
343 libsigc++ 1.2 and improves upon it by:
344 - No need to specify the number of arguments in signal definitions.
345 - Connection of any compatible (=implicitly convertable) functor
347 - Implicit type conversions of parameters during signal emission.
348 - Lambda adaptor for complete restructuring of functor parameter
349 lists in one line (subject to changes).
350 - Signal has a fully featured stl style list interface.
351 - A convinient accumulator API (replacing the old marshaller API).
352 - Removal of unnecessary memory management functionality.
353 - Lightweight class "trackable" for use as base class of your
354 class hierarchy replaces class "Object".