]> git.tdb.fi Git - ext/sigc++-2.0.git/blob - NEWS
Adjust the name of the library to match upstream
[ext/sigc++-2.0.git] / NEWS
1 2.10.8 (stable)
2
3 Build:
4 * Meson build: Perl is not required by new versions of mm-common
5   (Kjell Ahlstedt)
6 * NMake Makefiles: Support building with VS2022
7   (Chun-wei Fan)
8
9 Documentation:
10 * Upgrade the manual from DocBook 4.1 to DocBook 5.0
11   (Kjell Ahlstedt)
12
13
14 2.10.7 (stable)
15
16 Meson build:
17 * Make it possible to use sigc++ as a subproject
18   (Kjell Ahlstedt)
19 * Fix dependency on files generated from .h.m4 files
20   (Kjell Ahlstedt)
21 * No implicit_include_directories
22   (Kjell Ahlstedt)
23 * Make quiet installations possible
24   (Kjell Ahlstedt)
25 * Fix build as subproject without building documentation
26   (Kjell Ahlstedt) Issue #71 (Xavier Claessens)
27
28 Documentation:
29 * Links to *.gnome.org refer to sigc++-2.0 and gtkmm-3.0 versions
30   instead of latest versions
31   (Kjell Ahlstedt)
32
33
34 2.10.6 (stable)
35
36 Build:
37 * Meson build: Fix versioning on macOS
38   (Tom Schoonjans) Pull request #65
39
40 Documentation:
41 * sigc++/sigc++.h: Describe how to use libsigc++ with Meson
42   (Kjell Ahlstedt)
43 * Update links to the web page, now at
44   libsigcplusplus.github.io/libsigcplusplus
45   (Kjell Ahlstedt)
46
47
48 2.10.4 (stable)
49
50 Build:
51 * Meson build: Set default value of the 'warnings' option to 'min'
52   (Kjell Ahlstedt)
53 * NMake Makefiles: Several improvements
54   (Chun-Wei Fan) Pull request #58
55 * docs/reference/: Update for Doxygen >= 1.8.16
56   (Kjell Ahlstedt)
57
58 Documentation:
59 * docs/manual/libsigc_manual.xml: Update signal and slot syntax
60   (Kjell Ahlstedt) Issue #59 (Denis Washington)
61
62 The tarball for 2.10.4 has been created with 'meson dist'.
63 If you build with Autotools from the tarball, please read the relevant
64 part of README.
65
66
67 2.10.3 (stable)
68
69 Build:
70 * Add Meson build, alongside the existing Autotools build.
71   (Kjell Ahlstedt, Chun-Wei Fan) Pull request #47, #50
72 * Improve MSVC builds on Windows
73   (Chun-Wei Fan) Pull request #50
74 * meson.build: Check if .git is a directory or file
75   (Kjell Ahlstedt) Merge request pangomm!8 (Ting-Wei Lan)
76 * docs/reference/meson.build: Check if perl is found
77   (Kjell Ahlstedt) Issue #53 (Rasmus Thomsen)
78 * README: Describe building with Meson and Autotools
79   (Kjell Ahlstedt)
80
81 Tests:
82 * Make test_track_obj.cc compile with clang++
83   (Kjell Ahlstedt)
84
85
86 2.10.2: (stable)
87
88 This release is identical to 2.10.1, except for:
89 * Reference docs generated by Doxygen 1.8.11.
90   Hopefully it will show up at
91   https://developer.gnome.org/libsigc++/stable/
92
93
94 2.10.1: (stable)
95
96 * signal_impl::clear(): Don't clear the slot list during signal emission,
97   to prevent a segfault. And add a test for this.
98   (Kjell Ahlstedt) Bug #784550 (Andrejs Hanins)
99 * slot_base::set_parent(): Create a dummy slot_rep if necessary
100   (Kjell Ahlstedt) Bug #167714 (Gerald Britton)
101 * Avoid compiler warnings from function pointer conversions
102   (Kjell Ahlstedt) Issue #1 (sharkcz)
103   (Kjell Ahlstedt) Issue #8 (db0451)
104
105 Build:
106 * Make --disable-benchmark work.
107   (Christophe Lermytte) Bug #774732
108 * Replace the Visual Studio project files with MSVC NMake project files
109   Add MSVC_NMake/README.txt for Visual Studio builds
110   (Chun-wei Fan) Pull request #11
111
112 Documentation:
113 * signal_base: Warn against deletion during emission
114   (Kjell Ahlstedt) Bug #167714 (Gerald Britton)
115 * Update links in README, configure.ac, libsigcplusplus.doap
116   (Kjell Ahlstedt)
117
118 2.10.0 (stable):
119
120 * Build: Fix silent builds.
121   (Kjell Ahlstedt) Bug #768797
122
123 2.9.3 (unstable):
124
125 * signal:
126   Deprecate slots().
127   Please tell us if you really need this.
128   (Murray Cumming)
129   Deprecate emit_reverse().
130   Please tell us if you really need this.
131   (Murray Cumming)
132 * Benchmark: Update it and use boost::timer, and actually build it,
133   but not built by default.
134   (Murray Cumming)
135
136 Build:
137 * Fix the build on MSVC++ 2013 and 2015.
138   (Chun-wei Fan) Bug #767777
139
140
141 2.9.2 (unstable):
142
143 * Minor documentation improvements.
144   (Murray Cumming)
145 * Some more minor uses of C++11 syntax.
146   (Murray Cumming)
147
148
149 2.9.1 (unstable):
150
151 * slot: Allow sigc::slot<R(Args...)> syntax, like std::function,
152   deprecating the sigc::slot<R, Args...> syntax.
153   (Murray Cumming, Kjell Ahlstedt) Bug #763393
154 * signal: Allow sigc::signal<R(Args...)> syntax, like std::function,
155   deprecating the sigc::signal<R, Args...> syntax.
156   (Murray Cumming, Kjell Ahlstedt) Bug #763393
157
158
159 2.8.0 (stable):
160
161 * Documentation: Mention use with CMake.
162
163 2.7.2 (unstable):
164
165 * Deprecate sigc::ref() and sigc::reference_wrapper(),
166   adding support instead for std::ref(), std::cref(),
167   and std::reference_wrapper().
168   (Murray Cumming)
169 * mem_fun(): Deprecate mem_fun(pointer, func).
170   Leaving just mem_fun(reference, func).
171   Please let us know if you disagree strongly with this.
172   (Murray Cumming) Bug #763215
173 * Make all operator bool() explicit. (A C++11 feature.)
174   (Murray Cumming)
175 * Build: Remove some now-unnecessary configure checks.
176   But please let us know if this causes problems for you.
177   (Murray Cumming) Bug #762065 (Kjell Ahlstedt)
178 * Build: Update MSVC project.
179   (Chun-wei Fan)
180 * Documentation: Improve the documentation of mem_fun(), making it clear that
181   mem_fun() does not return a slot.
182   (Kjell Ahlstedt)
183
184 2.7.1 (unstable):
185
186 * signal: Add a moving connect() method, taking an rvalue reference
187   to a slot.
188   (Kjell Ahlstedt) Bug #756484
189 * can_deduce_result_type_with_decltype: Rename the check() methods to
190   checksize(). check() is a preprocessor macro in Mac OS X.
191   (Kjell Ahlstedt) Bug #759315 (David Otto)
192 * Temporarily undefine the nil macro, if it's defined.
193   nil is a preprocessor macro in Objective-C++ and Mac OS X.
194   (Kjell Ahlstedt) Bug #695235
195 * Correct the mem_functor<> declarations.
196   Murray Cumming
197
198 2.6.2 (stable):
199
200 * slot: Handle auto-disconnection when a slot contains a slot
201   (Kjell Ahlstedt) Bug #755003 (Ryan Beasley)
202 * slot and signal: Correct move constructors and move assignments.
203   (Kjell Ahlstedt) Bug #756484.
204 * trackable, slot_base, signal_base, connection: Add some noexcept specs
205   (Kjell Ahlstedt) Bug #756484.
206 * trackable, slot, signal: Remove noexcept from move operations.
207   (Kjell Ahlstedt) Bug #756484.
208 * slot and signal: Add missing move constructors and move assignments
209   (Kjell Ahlstedt) Bug #756484.
210 * signal_impl: =delete copy and move operations.
211   (Murray Cumming, Kjell Ahlstedt) Bug #756484
212 * typed_slot_rep: =delete unimplemented copy and move operations.
213   (Murray Cumming, Kjell Ahlstedt) Bug #756484
214 * slot_rep: =delete copy and move operations.
215  (Murray Cumming, Kjell Ahlstedt) Bug #756484
216
217
218 2.6.1 (stable):
219
220 * Add back deprecated adaptors/lambda API to avoid an unintented ABI break.
221   (Kjell Ahlstedt) Bug #755550 (Michael Biebl)
222 * sigc::trackable: Move operations: Don't move the callback list
223   (Kjell Ahlstedt) Bug #755393 (Tom Schoonjans)
224
225
226 2.6.0 (stable):
227
228 * C++11: deduce_result_type: Simplify with C++11 variadic template.
229   (Murray Cumming, Marcin Kolny) Bug #753612
230 * Fix the build with MSVC.
231   (Chun-wei Fan) Bug #754082
232 * Update the website.
233   (Kjell Ahlstedt)
234
235
236 2.5.4 (unstable):
237
238 * slot_base::operator=(const &): Copy the blocked too,
239   so the destionation is blocked if the source is blocked,
240   regardless of whether the destionation was previously
241   blocked, because this seems to be what we should expect.
242   (Murray Cumming)
243 * C++11: slot_base, slot*, signal_base, signal*, trackable:
244   Add move operations.
245   (Murray Cumming)
246 * Update MSVC Projects, requiring at least MSVC++ .Net 2013
247   for C++11 support.
248   (Chun-wei Fan)
249
250
251 2.5.3 (unstable):
252
253 * Use C++11 "using" aliases to simplify code that uses type traits.
254   (Murray Cumming) Bug #753580
255
256
257 2.5.2 (unstable):
258
259 * Remove useless headers:
260     sigc++/class_slot.h
261     sigc++/hide.h
262     sigc++/method_slot.h
263     sigc++/object.h
264     sigc++/object_slot.h
265     sigc++/retype.h
266   Some of these still have equivalents in sigc++/adaptors/
267   (Kjell Ahlstedt, Murray Cumming) Bug #752560
268 * C++11: Replace deprecated std::auto_ptr by std::unique_ptr.
269   (Kjell Ahlstedt)
270 * C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>,
271   removing sigc::is_base_and_derived<>.
272   (Kjell Ahlstedt, Murray Cumming) Bug #752560
273 * C++11: Use of range-based for loops.
274   (Murray Cumming)
275 * C++11: Use of the auto keyword.
276   (Murray Cumming)
277 * C++11: Use of nullptr instead of 0.
278   (Murray Cumming)
279 * sigc++/slot.h: Use a regular .h file instead of generating it
280   from an .m4 file. Bug #752560
281   (Kjell Ahlstedt)
282 * Visual Studio Builds: Move 2010 Projects to 2012 to support C++11.
283   (Chun-wei Fan)
284 * Use -Wformat-security and -Wshadow with --enable-warnings=fatal.
285   (Murray Cumming)
286
287
288 2.5.1 (unstable):
289
290 * Use (and require) C++11
291   (Kjell Ahlstedt) 
292 * Using C++11 lambda functions to create sigc::slots:
293   Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
294   (Kjell Ahlstedt)
295 * Remove the already-deprecated sigc::lambda (and sigc::group) API.
296   This is an API change but should not be an ABI change, so it should
297   only affect you when rebuilding applications, if you use this API.
298   (Murray Cumming, Kjell Ahlstedt)
299
300
301 2.4.1 (stable):
302
303 * A slot's functor is destroyed when an empty slot is assigned to the slot.
304   (Kjell Ahlstedt) Bug #738602 (James Lin)
305 * test_disconnect_during_emit tests that the slot is really disconnected
306   during signal emission.
307   (Kjell Ahlstedt)
308
309 2.4.0 (stable):
310
311 Note: API/ABI is the same as in release 2.3.2. Compared to stable
312 releases 2.2.x, the API has been broken regarding visit_each() functions.
313 See the NEWS entry for libsigc++ 2.3.2.
314
315 * Fix the test_lambda test case for MS Visual C++ 2013 and other
316   C++11-compliant compilers.
317   (Kjell Ahlstedt) Bug #734368 (Ryan Beasley)
318 * Add a missing #include in limit_reference.h.
319   (Kjell Ahlstedt)
320 * Documentation:
321   - Use doxygen-extra.css from the mm-common package.
322     Requires mm-common 0.9.7 when configured to use maintainer-mode.
323     (Kjell Ahlstedt)
324
325 2.3.2 (unstable):
326
327 Note: The implementation of bug #724496 breaks API for some users,
328 but it does not break ABI.
329 Only users who have added their own visit_each() overloads are affected by
330 the API break. Their programs will still compile, but there will be run-time
331 errors, if they rely on auto-disconnection of slots.
332 Updated instructions for users who implement their own adaptors are found
333 in the description of sigc::adapts<>. 
334
335 * Replace visit_each() overloads by struct visitor<>.
336   Add the test_visit_each test case.
337   (Ryan Beasley, Kjell Ahlstedt) Bug #724496
338 * signal_impl::notify(): Don't delete signal_impl during erase().
339   (Kjell Ahlstedt) Bug #564005 (Alexander Shaduri)
340 * Fix 'make check' with clang++ 3.4 and --enable-warnings=fatal
341   (Kjell Ahlstedt) Bug #724496 (Ryan Beasley)
342 * Fix test_cpp11_lambda for gcc 4.8
343   (Kjell Ahlstedt)
344 * Speed up disconnection of slots.
345   (Kjell Ahlstedt) Bug #167714 (Neal E. Coombes)
346 * Auto-generate the ChangeLog from the git log for 'make dist'.
347   (José Alburquerque)
348 * Don't use __file__ in the FIREWALL m4 macro.
349   (Kjell Ahlstedt) Bug #699168 (John Ralls)
350 * Add the track_obj() adaptor and test_track_obj test case.
351   Deprecate libsigc++ lambdas, sigc::group() and sigc::var().
352   Use C++11 lambda expressions instead.
353   (Kjell Ahlstedt) Bug #672555
354 * Documentation:
355   - Emphasize that signals are reference counted.
356     (Kjell Ahlstedt) Bug #611941 (Jonathon Jongsma)
357   - Mention std::function<> and std::bind() where appropriate.
358     (Kjell Ahlstedt, Chris Vine)
359   - Use DOXYGEN_SHOULD_SKIP_THIS consistently to exclude internal
360     functions from the reference documentation.
361     (Kjell Ahlstedt)
362 * Windows:
363   - Enable C++11 lambda expressions with MS Visual Studio 2012 and later
364     (Ryan Beasley) Bug #733752
365   - Update MSVC_Net2010
366     (Kjell Ahlstedt) Bug #724496 (Ryan Beasley)
367
368 2.3.1 (unstable):
369
370 * signal_base: Add blocked(), block(), unblock().
371   (Kjell Ahlstedt) Bug #153780
372
373 2.2.11 (stable):
374
375 * Fix comma operator in libsigc++ lambda expressions.
376   Andris Pavenis) Bug #342911
377 * Added SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
378   This allows most uses of libsigc++'s lambda expressions to be 
379   replaced by standard C++11 lambda expressions.
380   (Kjell Ahlstedt) Bug #672555.
381   Thanks to Chow Loong Jin, who posted similar code on libsigc-list.
382 * Use std::size_t and std::ptrdiff_t instead
383   (Kjell Ahlstedt)
384 * Fix 'make check' with gcc 4.7.
385   (Kjell Ahlstedt)
386 * Enable test_lambda in 'make check'.
387   (Kjell Ahlstedt) Bug #669128.
388
389
390 2.2.10:
391
392 * slot_rep: Avoid access to deleted object in notify(),
393         and test case.
394         (Kjell Ahlstedt ) Bug #564005 (Alexander Shaduri)
395 * Mention visit_each() in the documentation of sigc::adapts.
396   (Thomas Rydzynski)
397         
398 2.2.9:
399
400 * trackable: Avoid calling the same callback function twice, fixing some
401         memory corruption.
402         (Kjell Ahlstedt) Bug #589202
403 * Minor documentation corrections.
404   (David King)
405 * Fix the build with GCC 4.6
406         (Kalev Lember)
407 * Windows build fixes for MSVC++ .Net 2005 and 2010
408   (Armin Burgmeier)
409
410 2.2.8:
411
412 Nothing interesting. Just a small change for library.gnome.org.
413
414 2.2.7:
415
416 * Documentation:
417   - Added main page text with doxygen.
418   (David King, Murray Cumming)
419   - Fix the functors Doxygen group.
420   (David King)
421   - Tutorial: Removed outdated marshallers section that had no working example.
422   (Murray Cumming) Bug #417924 (Michael Ekstrand)
423
424 2.2.6:
425
426 * Slight documentation changes.
427   (Murray Cumming) Bug #614741 (Armin Burgmeier)
428
429 2.2.5:
430
431 * Accumulators: Allow return types that are different to the signal's.
432   (Krzysztof Kosiński)
433 * Documentation:
434   - Disable collaboration graphs in documentation
435   - Use non-blurry font for graph labels.
436   (Daniel Elstner)
437   - sigc::hide() correction: It always only hides one signal argument.
438   (Michael Hasselmann)
439 * Fix the MSVC++ build.
440   (Armin Burgmeier)
441
442 2.2.4.2 (stable):
443
444 * Namespace sigc is now documented, in order to make large chunks of the
445   reference reappear.  (Daniel Elstner)
446 * The shipped reference documentation has been regenerated using Doxygen
447   1.6.1, so that the document type is now XHTML 1.0.  (Daniel Elstner)
448 * The shipped Devhelp file has been generated with a newer version of the
449   XSLT script in mm-common, so that documentation groups no longer appear
450   as namespace prefixes in the keyword list.  (Daniel Elstner)
451
452 2.2.4.1 (stable):
453
454 * Reenable the per-class hierarchy graphs in the reference documentation.
455   (Daniel Elstner)
456 * Drop the custom HTML header and footer, and use the shared doxygen.css
457   file from mm-common. (Daniel Elstner)
458
459 2.2.4 (stable):
460
461 * New build system based on mm-common. The mm-common module is now
462   required for building from the git repository, but not for builds
463   of release archives. (Daniel Elstner)
464 * The public reference documentation is now hosted on library.gnome.org.
465   (Frédéric Péters, Daniel Elstner)
466
467 2.2.3 (stable):
468
469 * Windows:
470   - Added project files (and property sheets) for
471   MSVC++ 2005 and 2008.
472   (Armin Burgmeier)
473   - Removed unnecessary dependency on afxrefs.h, so it builds
474   with MSVC++ Express editions.
475   (Cedric Gustin)
476
477 2.2.2 (stable):
478
479 * Added an include of functors/slot.h that was mistakenly removed
480   during the 2.1 series.
481   (Deng Xiyue) Bug #521418.
482
483 2.2.1 (stable):
484
485 * Really fix the build with Sun CC.
486   (Elaine Xiong. Bug #302098)
487
488 2.2.0 (stable):
489
490 * Build fixes when using gcc 4.3 pre-releases.
491   (Ryan Hill, Vladimir Marek)
492
493 2.1.1 (unstable):
494
495 WARNING: This is an unstable release and should not yet be
496 packaged by distributions unless libsigc++ 2.0.x does not
497 build for some reason (Please report such bugs).
498
499 * Removed the SigC:: namespace and other compatibility API,
500   to fix the build with some versions of some compilers,
501   such as the SUN Forte C++ CC compiler.
502   See bug #302098, for instance
503   (Murray Cumming)
504 * sigc::signal<>:
505   - Added Added typedefs for
506   value_type, reference, and pointer, so that these
507   iterators are more like standard C++ iterators, so they can
508   be used with standard C++ algorithms.
509   (Michael Elkstrand) (Bug #417926).
510   - Added emit_reverse().
511   (John Profic)
512
513 2.0.17:
514
515 * slot::disconnect(): Make this work.
516   sigc::connection::disconnect() already worked.
517   (James Lin, Murray Cumming)
518 * visit_each compilation problem fixed.
519   (Philipp Berndt)
520
521 2.0.16:
522
523 * Fixed build for SUN Forte C++ 5.5
524 * Fixed build for MSVC++ 7.1
525 * Fixed crash when using --no-inline with g++.
526
527 2.0.15:
528
529 * g++ 3.2 (and Mac OS X g++ 3.3) build fix.
530   (Paul Pogonyshev)
531 * Compose: Fix slot lifetime regression introduced in
532   2.0.9. (Philip Langdale)
533 * tests: Small ISO C++ correctness fix (Marek Rouchal)
534 * Don't specify unused function parameter names.
535   (Andris Pavenis)
536
537 2.0.14:
538
539 * SUN Forte 5.7 build fix for ambiguity when using
540   inner template class. However, you still need the
541   patch in bug #302098 to finish the build.
542
543 2.0.13:
544
545 * signal_emit::emit(): Ensure the correct order of
546   destruction of the member variables, to avoid a leak.
547   (Andreas Ames, bug #306249)
548 * Allow recursive signal emission again.
549   (Neal E. Coombes, bug #303896)
550 * SUN Forte CC 5.5 build fixes:
551   - test_compatibility minor fix.
552   - visit_each() template specializations:
553   Mention the bool I_derives_trackable template type,
554   (Friedemann Kleint, bug #305647)
555  - Check for the non-standard SUN reverse_iterator,
556   and use alternative code if necessary.
557   (Murray Cumming)
558
559 2.0.12:
560
561 * Fixes crashes when using virtual inheritance, particularly
562   with bound by-reference parameters, caused by casting
563   from derived to base when the derived destructor has run.
564   (Régis Duchesne)
565   This might affect non-g++ compilers, so do tell us about
566   any problems.
567
568 2.0.11:
569
570 * Build fixes for SUN Forte, Tru64
571   (Murray Cumming), and MSVC++ (Cedric Gustin).
572
573 2.0.10:
574
575 * tests: Include <new> to avoid unresolved symbols on Tru64.
576   (Tim Mooney)
577 * When signal handlers are connected made during an emit
578   of the same signal, prevent them from being called in the
579   same emit, to prevent infinite loops.
580   (Neal E. Coombes)
581 * Performance improvement in a corner case.
582   (Neal E. Coombes).
583
584 2.0.9:
585
586 * sigc::bind() now works with the AIX and Tru64 compilers.
587   See the comments in sigc++/visit_each.h: visit_each_type()
588   if you have compilation problems.
589   (Murray Cumming)
590 * sigc::var() is now documented. (Roger Ferrer Ibáñez)
591
592 2.0.8:
593
594 * Maybe avoid (incorrect) warning with g++ 3.3.5.
595   (Murray Cumming)
596 * Fix namespace ambiguity when using multiple
597   major versions of libsigc++. (Liza Klerck)
598
599 2.0.7:
600
601 * Now builds with the following compilers, in addition to
602 the existing GNU g++, SUN Forte CC 5.5, MSVC++ .Net 2003,
603 and Intel compilers:
604 - IBM AIX xlC v7
605 - Tru64 C++ V6.5-042
606 - IRIX MIPSpro 7.4.2m
607   (Older versions of all these compilers might also work.)
608   (Murray Cumming, www.thewrittenword.com)
609 * MSVC++ .Net 2003 build improvements.
610   (Cedric Gustin, Timothy M. Shead)
611 * Replace C-style casts with reinterpret_cast<> and
612   static_cast<>. (e97_far at e.kth.se).
613 * Documentation: Added manual, based on the manual in
614   libsigc++ 1.2, but updated for the new API.
615   (Murray Cumming)
616
617
618 2.0.6:
619
620 * Fixed a memory leak in sigc::slot.
621 * Fixed compilation for gcc-3.4.
622 * Fixed compilation for Intel C++ compiler (upgraded libtool).
623 * Fixed project files for MSVC .Net (Timothy M. Shead).
624 * Fixed segfaults when compiled with MSVC .Net 2003 (moved
625   all calls to new and delete into non-inline library code).
626 * In the compatibility module use correct bound_mem_functor
627   variants for const (volatile) methods when creating a slot.
628 * Minor documentation fix.
629 * Resolved bugs: #152327 #148744 #152323 #151404 #153143
630
631 2.0.5:
632
633 * Distribute pregenerated configuration header for MSVC .Net.
634
635 2.0.4:
636
637 * Fixed warnings and compiler errors in the test cases.
638 * Added a new test case (Murray Cumming).
639 * Fixed 'hello_world' example.
640 * Don't test optional features that fail with the Sun FORTE.
641 * Fixes for the Sun FORTE to compile out-of-the-box
642   (Damien Carbery, Murray Cumming, Martin Schulze).
643 * Fixes for MSVC to build a DLL out-of-the-box (James Lin).
644 * Improved compiler specific configuration during 'configure'.
645 * Added rmp description file libsigc++-2.0.spec (Eric Bourque).
646 * Minor documentation improvements (Murray Cumming).
647 * Resolved bugs: #147311 #147313 #147391 #144846 #145541
648
649 2.0.3:
650
651 * Fix segfault on emission of unconnected signal.
652 * Test emission of unconnected signals in the test case.
653 * Suppress compiler warning at dynamic_cast<>-test for good.
654   (Help from Christof Petig and Timothy M. Shead.)
655
656 2.0.2:
657
658 * Suppress compiler warning in compatibility module at
659   dynamic_cast<>-test (fix suggested by Timothy M. Shead).
660 * If a custom accumulator is specified invoke it on signal
661   emission even if the signal's slot list is empty. (This used
662   to be the case in libsigc++-1.2 as pointed out by Timothy.)
663
664 2.0.1:
665
666 * Fixed serious bug in reference counting in sigc::signal_base::impl().
667 * Fixed SigC::Object-derivation check in SigC::slot() compatibility module.
668 * Fixed compilation on Apple gcc 3.3 (assisted by Spundun Bhatt).
669 * Fixed configure check for gcc 3.4 (Murray Cumming).
670
671 2.0.0:
672
673 * Implemented sigc::connection::blocked() (Murray Cumming).
674 * Added the scripts directory to the make dist target (Murray Cumming).
675 * Added more documentation (Martin Schulze).
676
677 1.9.16:
678
679 * Fixed compiler warning in sigc::connection (Alexander Nedotsukov, Murray Cumming).
680 * Fixed examples and made them part of the regular build (Murray Cumming).
681 * Added header sigc++config.h for configure time checks (Murray Cumming).
682 * Added configure time checks to determine the correct syntax
683   for explicit template method specializations (Murray Cumming).
684 * Removed code using partial specializations of overloaded template methods
685   from test cases. SUN Forte doesn't support this feature (Martin Schulze).
686 * Fixed compilation for gcc 3.4 (Murray Cumming).
687
688 1.9.15:
689
690 API additions:
691 * Add numbered slot# templates.
692 * Allow for methods of the object's base types to be passed into sigc::mem_fun().
693
694 Other fixes and cleanups:
695 * Make is_base_and_derived template compatible with the SUN Forte.
696 * Non-template code moved from .m4 macro source to .h/.cc files (Murray Cumming).
697 * Implementation moved to .cc files (Murray Cumming).
698 * More fixes for the SUN Forte. Make some more ctors explicit.
699
700 1.9.14:
701
702 * Added sigc::slot_base::operator bool() (Murray Cumming).
703 * Build docs directory by default (Murray Cumming).
704 * Fixed minor doxygen issues (Murray Cumming).
705 * Fixed compiler warning in signal.h (Murray Cumming).
706
707 1.9.13:
708
709 * Fixed passing references through sigc::slot (Reported by Jeff Franks).
710 * Enabled binding of objects to method slots through sigc::bind().
711 * Reworked sigc::bind() API: Made the template argument for the
712   parameter position zero-based and optional. Added overloads for
713   binding of up to 7 arguments at a time when no position is specified.
714 * Reworked sigc::hide() API: Made the template argument for the
715   parameter position zero-based and optional.
716 * Fixed compilation problems with MSVC .Net 2003 (Roel Vanhout).
717 * Distribute MSVC .Net 2003 project files in the tarballs.
718 * Improved and extended documentation.
719 * Minor cleanups.
720
721 1.9.12:
722
723 * Added adaptor retype(). With this final API addition all adaptors
724   are in place that are available in libsigc++-1.2.
725 * Added negation lambda operator. Use STL names for lambda actions.
726 * Remove formerly disabled support for gcc extension typeof().
727 * Added project files for MS Visual Studio .Net 2003. (Roel Vanhout)
728 * Make libsigc++2 compile with .Net 2003. (Roel Vanhout, Martin Schulze)
729 * Build shared version of libsigc++2 by default. (Cedric Gustin)
730 * Add support for win32 platform. (Cedric Gustin)
731 * Install .m4 files. (requested by Ron Steinke)
732 * Cleaned up functors.
733 * Restructured and completed documentation of the core library parts.
734
735 1.9.11:
736
737 API Additions and important bug fixes:
738 * Compatibility module completed. libsigc++-1.2 filenames are preserved.
739 * Fixed critical bug in auto-disconnection: don't defer detaching
740   of a slot from all referred trackables during signal emission.
741 * Reduced size of slots significantly.
742 * Fixed support for sigc::ref() in adaptors.
743 * Fixed sigc::visit_each(): only hit targets that are passed by
744   reference; pass bound members in bound_member_functor by reference.
745 * Add lambda actions sigc::{reinterpret,static,dynamic}_cast_
746   to support explicit parameter conversion.
747 * Add adaptors sigc::retype_return<>() and sigc::hide_return().
748
749 Minor fixes:
750 * Fixed return type deduction for bind<0>.
751   libsigc++-1.9.11 should compile with gcc-3.3.
752 * Fixed copy constructor and operator=() of slot template.
753 * Fixed a compiler warning in signal_emit#<>::emit().
754 * Improved test case.
755
756 1.9.10:
757
758 * Fix compiler issues with gcc-3.3.2 (patch from Jeff Franks).
759 * Remove compiler check for the gcc extension typeof().
760 * Simplify bind_functor templates.
761 * Move definition of struct nil into functor_trait.h.
762
763 1.9.9:
764
765 * Add a constructor to sigc::connection that takes a slot_base&
766   to support user defined slot lists like they are used in gtkmm.
767 * Fix compiler issues with gcc-3.3.2 (reported by Jeff Franks).
768
769 1.9.8:
770
771 * Add compatibility module that defines namespace SigC.
772   namespace SigC should be API compatible to libsigc++-1.2.
773   Currently only the core parts of the library are supported.
774   Adaptors are still to follow.
775 * Fix connection::operator=(). Include connection.h in sigc++.h.
776 * Get rid of namespace functor.
777 * Rename dependency to destroy_notify_callback.
778 * Rename trackable::clear() to trackable::notify_callbacks().
779 * Move slot_base, signal_base, slot_iterator[_buf], slot_list
780   out of namespace internal. They are public API.
781 * Add reference counter to signal_impl enabling signals
782   to share the underlying information.
783 * Add convenience function signal#::make_slot().
784 * Get rid of one-letter-parameter-names.
785 * Get rid of "using namespace ..." in the test cases.
786 * Add lambda operators subscript ([]) and assign (=).
787 * Fix is_base_and_derived<> for const types.
788 * New and updated documentation.
789 * Add previous announces to file NEWS.
790
791 1.9.7:
792
793 * Added sigc++/sigc++.h. (Murray Cumming)
794 * Added member_method example. (Murray Cumming)
795 * Renamed closure to slot.
796 * Fixed issues with gcc-3.3. (Adreas Rottmann)
797 * Removed unnecessary void specializations.
798 * Made adaptors' operator()() (overload with no arguments) return a value.
799 * Made visit_each() support adaptors.
800 * Overhauled return type deduction to make it work without typeof().
801 * Added convinience macros SIGC_FUNCTORS_HAVE_RESULT_TYPE and
802 SIGC_FUNCTOR_TRAIT(T_functor, T_result) to make return type deduction system
803 support 3rd-party funtors.
804 * Changed syntax of group adaptor from "[functor] % grp([lambdas])" to "group
805 ([functor], [lambdas])".
806 * Made many fixes to lambda functionality.
807 * Added var() and constant() lambda creators.
808 * Added many lambda operators.
809 * Added ref() which creates a reference wrapper to enable storage of
810 references in bind and group adaptors.
811 * Expanded test suite.
812 * Added documentation. (Corrections by Murray Cumming)
813
814 1.9.6:
815
816 * First public release of the unstable 2.0 generation.
817   libsigc++ 2.0 uses modern C++ mechanisms to achieve a highly
818   flexible, yet typesafe callback system. It supports all features of
819   libsigc++ 1.2 and improves upon it by:
820   - No need to specify the number of arguments in signal definitions.
821   - Connection of any compatible (=implicitly convertable) functor
822    to a signal.
823   - Implicit type conversions of parameters during signal emission.
824   - Lambda adaptor for complete restructuring of functor parameter
825    lists in one line (subject to changes).
826   - Signal has a fully featured stl style list interface.
827   - A convinient accumulator API (replacing the old marshaller API).
828   - Removal of unnecessary memory management functionality.
829   - Lightweight class "trackable" for use as base class of your
830    class hierarchy replaces class "Object".