Opened 5 years ago
Closed 4 years ago
#12483 closed enhancement (fixed)
libsigc++-3.0.4 (wait for glibmm-3.16)
Reported by: | Douglas R. Reno | Owned by: | Bruce Dubbs |
---|---|---|---|
Priority: | normal | Milestone: | 10.1 |
Component: | BOOK | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
New major version
News ==== This is the first stable release of sigc++-3.0, installable in parallel with sigc++-2.0. Changes compared to the latest unstable release: * Fix tuple_transform_each() for libc++ (Kjell Ahlstedt) Issue #25 (Jeff Trull) Documentation: * Remove some obsolete documentation (Kjell Ahlstedt) Tests: * Make test_track_obj.cc compile with clang++ (Kjell Ahlstedt) * Don't call static method via instance (Murray Cumming)
Change History (8)
comment:1 by , 5 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 5 years ago
Milestone: | 9.1 → hold |
---|---|
Summary: | libsigc++-3.0.0 → libsigc++-3.0.0 (wait until v3 is needed) |
comment:3 by , 5 years ago
Owner: | changed from | to
---|---|
Status: | assigned → new |
comment:4 by , 4 years ago
Owner: | changed from | to
---|
comment:5 by , 4 years ago
Now cairomm-1.16.0 needs v3. Three packages depend on libsigc++: glibmm, cairomm, and pavucontrol.
Present version of glibmm (2.64.x) needs v2. But next version (2.66.x) will require v3
For pavucontrol, most recent development still requires v2.
I guess we should be prepared to live with both versions for a while...
comment:6 by , 4 years ago
Milestone: | hold → 10.1 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
Summary: | libsigc++-3.0.0 (wait until v3 is needed) → libsigc++-3.0.4 (wait for glibmm-3.16) |
comment:7 by , 4 years ago
3.0.4 (stable)
Build:
- Meson build: Set default value of the 'warnings' option to 'min'
- NMake Makefiles: Several improvements
- docs/reference/: Update for Doxygen >= 1.8.16
Documentation:
- docs/manual/libsigc_manual.xml: Update signal and slot syntax
The tarball for 3.0.4 has been created with 'meson dist'. If you build with Autotools from the tarball, please read the relevant part of README.md.
3.0.3 (stable)
Build:
- docs/docs/reference/meson.build: Check if perl is found
- README.md: Describe building with Meson
Examples:
- Add example of using libsigc++ with Qt
Tests:
- Replace C-style casts with static_cast<>
3.0.2 (stable)
- Build: Meson build improvements.
3.0.1 (stable)
- Build:
- Add meson build, alongside the existing autotools and CMake builds.
- CMake: Fix the MSVC build, enable warnings, and disable unnecessary warnings, with MVSC.
- connection: Allow copying of empty connections.
- sigc++/adaptors/bind.h: Make bind_functor::bound_ public. (Used by sigc::visitor::do_visit_each().
- test_limit_reference: Avoid virtual-move-assign warning (seen with g++ 9.2)
- signal: slot_iterator_buf: Remove unused T_result default type
- tests: Slight cleanups
- Remove unused #ifdefed code.
3.0.0 (stable)
This is the first stable release of sigc++-3.0, installable in parallel with sigc++-2.0. Changes compared to the latest unstable release:
- Fix tuple_transform_each() for libc++
Documentation:
- Remove some obsolete documentation
Tests:
- Make test_track_obj.cc compile with clang++
- Don't call static method via instance
2.99.13: (unstable)
- Replace the deprecated std::result_of with std::invoke_result (Kjell Ahlstedt) Issue #19
Build:
- CMake: Supply SIGC_BUILD and use CMAKE_CXX_STANDARD
Documentation:
- Remove some obsolete documentation
- Rename README to README.md and update it
- Reference docs generated by Doxygen 1.8.11. Hopefully it will show up at https://developer.gnome.org/libsigc++/unstable/
Tests:
- Add some necessary #include directives
2.99.12: (unstable)
- Avoid compiler warnings from function pointer conversions
Build:
- Replace the Visual Studio project files with MSVC NMake project files Add MSVC_NMake/README.txt for Visual Studio builds
- cmake: Require C++17 support
Documentation:
- Update links in README, configure.ac, libsigcplusplus.doap
- README: Update compiler requirement
2.99.11: (unstable)
libsigc++-3.0 now requires C++17. Use of C++17:
- Use std::apply to simplify implementation.
- Use std::invoke to make implementation more generic.
- Use constexpr if to simplify implementation.
Build:
- Require mm-common 0.9.12
2.99.10: (unstable)
- slot_base::set_parent(): Create a dummy slot_rep if necessary
- visit_each.h: Add an #include.
2.99.9: (unstable)
- signal_impl::clear(): Don't clear the slot list during signal emission, to prevent a segfault. And add a test for this.
- Remove signal_base::erase() and signal_impl::erase().
- Various minor code cleanups.
- Windows: Update the MS Visual Studio build.
2.99.8: (unstable)
- signal_impl:
- Use std::weak_ptr<signal_impl> in connected slots, to avoid a memory leak.
- clear(): Really avoid erasing the slots prematurely.
- slot_rep: Make destructor, destroy, and clone() virtual, instead of using function pointers that do the same thing.
Build:
- Visual Studio builds: Require Visual Studio 2017.
- Add tests/memleakcheck.sh, to run the tests under valgrind.
- Make --disable-benchmark work.
- Make silent builds really silent.
2.99.7: (unstable)
- connection, slot_base: Use an internal::weak_raw_ptr<> to simplify the code.
- signal_base: Do not derive from trackable.
- slot_rep: Pass a slot_rep*, not notifiable*, to destroy().
- signal_impl: Do not derive from notifiable.
2.99.6 (unstable):
- signal: Remove slots() and the container that it returns, and the iterator for that container. See https://mail.gnome.org/archives/libsigc-list/2016-April/msg00009.html
- signal: connect(): Return a connection, instead of an iterator that can be implicitly converted to a connection.
- Use std::shared_ptr<> for signal_impl reference-counting. Instead of manual reference-counting.
- slot: Use unique_ptr<> to avoid direct call of destructor.
- Add optional benchmark code, using boost::timer.
- Make some single-item constructors explicit.
- Make some member variables and methods private.
- Remove _ and prefixes on variables and parameters.
- Header guards: Remove leading underscores (and trailing underscores).
- limit_derived_target<T_Target>: Rename to limit_trackable_target<> and visit_each_type<T_Type>() to visit_each_trackable() to make their purpose more obvious.
2.99.5 (unstable):
- Functors (mem_functor, ptr_functor) no longer need to derive from a common functor_base base class, and functors no longer need to have a result_type typedef or alias.
- emitters and accumulators no longer need t ohave a result_type typedef or alias.
- Remove now-unnecessary adaptor_type type aliases.
- Remove some more unused and unnecessary public type aliases.
2.99.4 (unstable):
- Minor documentation improvements.
- Make some constructors explicit.
- Some more minor uses of C++11 syntax.
- Remove unused SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
- Reformat code with clang-format.
2.99.3 (unstable):
- Correct the license of some header files from GPL to LGPL.
2.99.2 (unstable):
- slots and signal: These should now be declared with the
sigc::slot<R(Args...)> and sigc::signal<R(Args...)> syntax, like std::function<>.
Version 2.9/2.10 of libsigc++-2.0 supports both the old and new syntax. - sigc::men_fun(): Take the instance by reference only.
2.99.1 (unstable):
This is the first release of the libsigc++-3.0 API, which installs in parallel with libsigc++-2.0. The API is not significantly different, but the implementation is far simpler, using variadic templates instead of generating C++ code from .m4 files.
libsigc++-3.0 requires a compiler with C++14 support.
comment:8 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed at revision 23790.
Did not need to wait for next glibmm since libsigc++-3 can be installed next to libsigc++-2.
We do not need to install this right now. The only packages that use libsigc++ are cairomm and glibmm. Both of those explicitly call for version 2.0.
Moving to hold.