2026-05-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.8.1

2026-01-26  Chun-wei Fan  <fanc999@yahoo.com.tw>

  Visual Studio builds: Update build info

  Update and add information for the builds after the updates we have here.

2026-01-26  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake Makefiles: Make build process more robust

  In the build process, we create object, executable and target listings on the
  fly by generating temporary makefile snippets and including them as we
  progress, but this poses an issue when another build is attempted when a
  build is in progress.
  
  Improve on this situation by including the toolset, configuration and target
  platform when we create the snippet filename.

2026-01-26  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake Makefiles: Clean up and make things more flexible

  Clean up the NMake Makefiles by consolidating repeated items, and things more
  flexible by allowing one to specify the include and library directories for
  Boost if building the benchmark program.

2026-01-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Update for ubuntu-24.04 and latest mm-common

  * .github/workflows/autotools-clang.yml:
  * .github/workflows/autotools-gcc.yml:
  * .github/workflows/meson-clang.yml:
  * .github/workflows/meson-gcc.yml: ubuntu-latest is now ubuntu-24.04.
  * .github/workflows/meson-msvc.yml: windows-latest is now windows-2025.
  Remove -Dmm-common:use-network=true. It's not necessary now when the
  default value is mm-common:use-network=if-no-local-tag-file.

2025-12-23  Chun-wei Fan  <fanc999@yahoo.com.tw>

  MSVC-Builds.md: Mention Visual Studio 2026

2025-12-23  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake Makefiles: Update for Visual Studio 2026

  Make the libsigc++ DLLs and .lib's have distinguished naming for Visual
  Studio 2026 (vc145), that matches the toolset version, and drop some
  cruft as Visual Studio versions prior to 2017 are no longer supported to
  build the 3.x branches of libsigc++.

2025-10-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.8.0

2025-10-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tools/test_scripts: Add testheaders.sh and testmmh.h

2025-09-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Set the license to LGPL 3.0

  That's what COPYING and sigc++/tuple-utils/*.h specify.
  See https://bugzilla.gnome.org/show_bug.cgi?id=763616

2025-09-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Use SPDX expression for license

  This is the recommended format.
  See https://gitlab.freedesktop.org/cairo/cairomm/-/merge_requests/33

2025-09-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Use the Python installation that Meson uses

  and remove the unused Meson variable cpp_compiler_id.
  Concerning Python installation, see
  https://gitlab.gnome.org/GNOME/glibmm/-/merge_requests/67 and
  https://github.com/libsigcplusplus/libsigcplusplus/pull/83

2025-04-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Documentation: Clarify download locations

  Future releases will not be stored at download.gnome.org/sources/.
  Very old releases are not stored at github.com/libsigcplusplus/
  libsigcplusplus/releases/.

2025-04-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Better detection of MSVC-like compilers

  Treat all compilers with MSVC-like argument syntax the same.
  Use cpp_compiler.get_define('_MSC_VER') instead of
  cpp_compiler.version() to check compiler version.
  Suggested by Tim-Philipp Müller and Chun-wei Fan.
  
  See https://gitlab.freedesktop.org/cairo/cairomm/-/merge_requests/30

2025-04-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Don't distribute libsigcplusplus.doap

2025-04-27  Philippe Baril Lecavalier  <pbl.ltx@gmail.com>

  build-pdf: Prevent infinite loop in dblatex

  By default, dblatex goes on an infinite loop if it can't find a font.
2025-04-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CMakeLists.txt: Change minimum required cmake version from 3.2 to 3.10

  Fixes #112

2025-04-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove ChangeLog.pre-2-3-1

2025-04-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove obsolete FSF (Free Software Foundation) address

  See https://github.com/libxmlplusplus/libxmlplusplus/pull/72

2025-02-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Add install_tag keyword argument

2025-02-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Publish the generated libsigc++-3.0.tag file

2025-02-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/reference/Doxyfile.in: Remove unsupported entries

2024-12-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Update publish-docs.yml

  Use actions/upload-pages-artifact@v3 instead of v1, to avoid a soon
  deprecated version of upload-artifact.

2024-09-05  Rémi Hérilier  <rherilier@yahoo.fr>

  signal_connect: Simplify ambiguity removal when compiling with MSVC

  commented "const" in sigc::mem_fun prototypes' are meaningless. Using a
  "const T_obj" as argument type when the method is const void any conflict.
  
  remove useless struct in test program.

2024-09-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  signal_connect(): Add @newin

2024-09-03  Rémi Hérilier  <rherilier@yahoo.fr>

  signal_connect: Add helper functions to ease connecting functions or methods to signals

  Those helper functions have 2 main usages:
  * avoid writing template parameters in case of method or function overloading;
  * wrap use of sigc::mem_fun or sigc::ptr_fun when possible.
  
  unsupported cases:
  * lambda functions;
  * std::function (or alike);
  * volatile functions;
  * const? volatile methods;
  * binding with sigc::bind.

2024-09-02  Julia DeMille  <8127111+judemille@users.noreply.github.com>

  fix: don't check MSVC version for non-MSVC cl

2024-09-02  Julia DeMille  <8127111+judemille@users.noreply.github.com>

  Meson: Detect cl-like compilers

  This fixes DLL linkage with clang-cl or intel-cl.
2024-07-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Install meson >= 0.62

  * .github/workflows/meson-clang.yml:
  * .github/workflows/meson-gcc.yml:
  * .github/workflows/publish-docs.yml: Install meson with pip instead of apt.

2024-07-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Use Meson's pkgconfig module

  instead of using the *.pc.in templates.
  Require meson >= 0.62. Remove the can_add_dist_script variable.
  It's unnecessary when the meson version >= 0.58.
  Simplify the calls to dependency().get_variable().

2024-07-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Don't link to removed parts of gnome.org

  Don't link to library.gnome.org or developer.gnome.org.
  Require python3 >= 3.7. That's what Meson requires.

2024-07-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/reference/Doxyfile.in: Remove obsolete entries

2024-05-21  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/doc.md: Don't link to developer-old.gnome.org

  That web site has been removed.

2024-03-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  scoped_connection: Remove [[nodiscard]]

  Can cause unwarranted warnings from some compilers, or compiler versions.
  Fixes #102

2024-01-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Build reference documentation with meson-msvc

2024-01-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Update htmlrefpub

2024-01-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Add the build-manual option

2023-12-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README.md: Add info about building the documentation

  Fixes #101

2023-12-16  Daniel Boles  <dboles.src@gmail.com>

  slot|signal: static_assert not using R,T... syntax

  This can lead to clearer errors by explaining the user's error, not just
  saying they used an incomplete type (why is it incomplete?). I don't use
  only static_assert(false) because that's ill-formed before C++23, AFAIK,
  & even if it's OK in some cases I don't grok which... so hope this works
  
  https://github.com/libsigcplusplus/libsigcplusplus/issues/86

2023-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Don't fail if warning_level=everything

2023-10-01  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.6.0

2023-09-07  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  signal: Add connect_first()

  Add connect_first(const slot_base&) and connect_first(slot_base&&)
  in internal::signal_impl, signal_base, signal_with_accumulator and
  trackable_signal_with_accumulator.
  Replace some calls to connect() by connect_first() in test_signal
  and test_scoped_connection.
  Fixes #81

2023-08-06  Daniel Boles  <dboles.src@gmail.com>

  manual: Add paragraph about new scoped_connection

2023-07-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Docs: Update a link in libsigc_manual.xml

2023-07-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Use the ubuntu-latest runner

  and use the default versions of gcc and clang.

2023-07-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Add meson-msvc

  and trigger cmake-msvc only manually.
  
  Fixes #98

2023-07-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Don't require the 'dot' command

  Make it possible to build documentation without the dot command.
  Set the HAVE_DOT option in Doxyfile during configuration.
  In Autotools builds it's still unconditionally YES.
  The inheritance diagrams don't look as nice without the dot
  command from the GraphViz package.
  
  See #98

2023-07-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  scoped_connection.h: Add one more SIGC_API

2023-07-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  scoped_connection.h: Add SIGC_API on swap()

2023-07-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  test_scoped_connection.cc: not -> !

  MSVC does not accept the 'not' boolean operator.

2023-07-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  scoped_connection: Remaining minor fixes

2023-07-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Trigger clang-format-check only manually

2023-07-23  Daniel Boles  <dboles.src@gmail.com>

  scoped_connection: new wrapper to auto-disconnect…

  …a contained sigc::connection, when the scoped_connection is destructed.
  
  https://github.com/libsigcplusplus/libsigcplusplus/issues/87

2023-07-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Remove AUTHORS and add general information to README.md

  See https://gitlab.gnome.org/GNOME/gtkmm/-/issues/140

2023-07-05  Chun-wei Fan  <fanc999@yahoo.com.tw>

  sigc++config.h.*: Update comment on MSVC warning C4251

  This still applies here today, sadly, so make the comment clearer.

2023-07-05  Chun-wei Fan  <fanc999@yahoo.com.tw>

  sigc++config.h.*: Drop Visual Studio noexcept workaround

  We already need Visual Studio 2017 or later, so this part is not used
  at all here.

2023-06-27  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC-Builds.md: Add info on CMake and Meson

  Let people know it is also supported to build libsigc++ using CMake or Meson
  with Visual Studio and the tools required for builds directly from GIT
  checkouts

2023-06-27  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Visual Studio builds: Convert build docs to MarkDown

  Convert the README.txt to MarkDown format so that it is easier on the eye in
  terms of formatting, and update some of the info:
  
  * ARM64 is actually supported
  * Move the part on static builds as appropriate
  * Some other minor tweaks

2023-06-26  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC_NMake/README.txt: Mention about static builds

2023-06-26  Chun-wei Fan  <fanchunwei@src.gnome.org>

  sigc++.pc.in: Set -DLIBSIGCXX_STATIC in cxxflags as needed

  Update the Meson build files to put in -DLIBSIGCXX_STATIC when we are building
  a static build of libsigc++.
  
  For the CMake and autotools build, this is not used.

2023-06-26  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Accomodate static builds during "install"

  Copy the built DLL and PDB only if building a shared build, and copy the
  appropriate .lib file according to the build type.

2023-06-26  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Actually support MSVC static builds

  Apply -DLIBSIGCXX_STATIC as appropriate when we request a static build to be
  done for the Meson and NMake builds, and skip building the version .rc file
  if a static build is requested.
  
  For the NMake builds, separate the build artifacts from the static and shared
  builds.
  
  The CMake builds are not updated here as it always assumes a shared build, nor
  are the autotools builds since it is not used for Visual Studio builds at all.

2023-06-26  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Drop _WINDLL from sigc++config.h.[in|meson|cmake]

  ...and add a new check macro LIBSIGCXX_STATIC, to use the appropriate macros to
  build and link against libsigc++. Drop this from the build files as well.

2023-06-26  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Disallow default_library == 'both' on Visual Studio

  We need different defines/cflags for building static and shared builds of
  libsigc++, so we can't really support default_library = 'both' for libsigc++
  without much retinkering.
  
  So, just disallow such builds at least for now.
  
  Also, save up whether we are attempting a static build in the Visual Studio
  build.

2023-05-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  connection: Improve the class documentation

  Fixes #88

2023-05-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Doxyfile.in: Remove obsolete entries

2023-05-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  sigc++.pc.in: Update htmlrefpub

2023-04-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README.md, CI: meson -> meson setup

2023-04-03  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Simplify if-file-exists test

2023-01-21  Francesco Emanuele D'Agostino  <fedagostino@gmail.com>

  introducing protection to prevent multiple target declaration for uninstall.

2023-01-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Fix the evaluation of is_git_build on Windows

  See gtkmm#131

2023-01-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Don't copy files with configure_file()

  It's deprecated from Meson 0.64. The replacement, fs.copyfile(),
  is not useful here. It only copies from the source directory to
  the build directory.

2022-12-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.4.0

2022-12-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Don't distribute the .github directory

2022-12-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Add publish-docs.yml

2022-11-07  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Always call subdir('tests')

  Make the build_tests check more like the check in cairomm and libxml++.
  Then it's possible to combine build-tests=false with benchmark=true.
  See PR#84

2022-11-07  Fabrice Fontaine  <fontaine.fabrice@gmail.com>

  add build_tests option

  Allow the user to disable build of test programs
  
  Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

2022-11-07  wael  <40663@proton.me>

  meson: simplify lookup of python command

2022-10-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/devel.md: Change libsigc-list to Discourse

  The libsigc-list will soon be closed for new contributions.

2022-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Detect if we build from a git subtree

  See https://gitlab.gnome.org/GNOME/gtkmm/-/merge_requests/72 (William Roy)

2022-08-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix build with -Dbuild-deprecated-api=false

  Fixes #82

2022-07-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Update README.md

2022-05-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  test_accumulated.cc: clang++ requires another 'template'

2022-05-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add trackable_signal_with_accumulator and trackable_signal

  trackable_signal_with_accumulator derives from trackable.
  A slot made with trackable_signal_with_accumulator::make_slot() is
  automatically disconnected when the signal is deleted, as in sigc++2.
  Fixes #80

2022-05-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Revert "signal_with_accumulator derives from trackable"

  This reverts commit 8fb78907ccf3c4425d23ba1555f365f22d376685.
  It's not safe. See #80

2022-05-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  test_limit_reference.cc: Don't use auto where a slot is required

  The return values of sigc::bind() and sigc::bind_return() shall be
  converted to sigc::slot, otherwise automatic disconnection does not work.
  Fixes #44

2022-05-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  signal_with_accumulator derives from trackable

  A slot made with signal_with_accumulator::make_slot() is then
  automatically disconnected when the signal is deleted, as in sigc++2.
  Fixes #80

2022-05-24  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson/MSVC: Re-organize warnings-related compiler flags

  Add a short description for each of the warnings-related compiler flags that we
  are using.
  
  Also, only apply '/wd4267' for 64-bit builds, since it is a warning that should
  only be related to 64-bit builds.

2022-05-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson: Compensate for the lack of msvc_recommended_pragmas.h

  libsigc++ does not depend on GLib, so msvc_recommended_pragmas.h may not be
  available.  If it isn't, disable warning C4244 to compensate for it.

2022-05-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Format source code to suit clang-format-12

  Format sigc++/signal_base.h.

2022-05-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  signal::make_slot() docs: Note that signal does not derive from trackable

  and therefore the made slot must be manually disconnected if the
  signal is deleted. See #80

2022-05-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Remove some tests with autotools

  Remove the tests with autotools build and clang 8, clang 9, gcc 8 and gcc 9.
  Test meson build with gcc 10 instead of gcc 9.

2022-05-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Avoid configuration warnings

2022-04-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  examples/member_method: Make on_print() non-virtual

  so it can be compiled with the -Wnon-virtual-dtor compiler option.

2022-04-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix some comments

2022-04-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Format source code to suit clang-format-12

  Format sigc++/adaptors/track_obj.h.

2022-04-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add track_object(), deprecate track_obj()

  track_object() checks that the listed objects derive from sigc::trackable.
  Fixes #78

2022-02-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.2.0

2022-02-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Specify 'check' option in run_command()

  The default value will be changed in future Meson releases.
  
  Don't use deprecated python3.path() and execute(..., gui_app: ...).

2022-02-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/reference/Doxyfile.in: Remove obsolete entry

2022-01-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tools/tutorial-custom-cmd.py: Add comment about used stylesheet

2022-01-09  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Install docbook-xsl where documentation is built

  If docbook-xsl is installed, the xsltproc command reads stylesheets
  from local files instead of from http://docbook.sourceforge.net.
  Faster and safer. Reading from docbook.sourceforge.net sometimes fails.
  
  Remove test with g++-7.

2021-12-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs: Fix links to sigc::slot and sigc::signal

  Doxygen creates links to sigc::slot and sigc::signal only if
  template parameters are included in the documentation.
  sigc::slot<T_return(T_arg...)>, sigc::signal<T_return(T_arg...)>.

2021-12-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  ptr_fun(), mem_fun() docs: Remove left-overs from sigc++-2.0

  Some documentation of template parameters described sigc++-2.0
  rather than sigc++-3.0.

2021-12-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Reformat to suit clang-format-12

2021-12-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Use clang-format-12

  and call clang-format directly without using autogen.sh + make.

2021-12-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Second attempt to suit clang-format 10

  Irritating that different versions of clang-format don't agree on what's
  an acceptable format, and that clang-format 10 is not easily installable
  on Ubuntu 21.10.

2021-12-23  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Format source code to suit clang-format

  * sigc++/functors/mem_fun.h:
  * sigc++/functors/ptr_fun.h:
  * tests/test_rvalue_ref.cc: Reformated with clang-format 13,
  but CI uses clang-format 10.
  
  Also add #include <utility> where std::forward was added. Doesn't seem
  to be necessary with g++ or clang++. Mostly a precaution.

2021-12-23  Slava Andrejev  <vyac.andrejev@gmail.com>

  Add missing perfect forwarding in mem_functor and pointer_functor

  This is a missed addition to the commit that allowed rvalue references
  in slot parameters.

2021-12-23  Slava Andrejev  <vyac.andrejev@gmail.com>

  Add missing perfect forwarding in bound_mem_functor::operator()

  This is a missed addition to the commit that allowed rvalue references
  in slot parameters.

2021-12-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CMakeLists.txt: Update sigc++ version to 3.0.7

  Should have been done when configure.ac and meson.build were updated.

2021-11-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Support building with VS2022

  Make the VS2019 builds distinct from VS2022 builds.

2021-09-27  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/manual, Meson config: Check if xmllint can be used

2021-09-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI, Meson build: Install packages for validating XML file

  libxml2-utils and docbook5-xml are necessary in order to validate
  the XML file in docs/docs/manual/.

2021-09-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/manual: Upgrade from DocBook 4.1 to DocBook 5.0

2021-08-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Require meson >= 0.54.0

2021-08-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Check if Perl is required for building documentation

  New versions of mm-common use the Python scripts doc_postprocess.py
  and doc_install.py instead of the Perl scripts doc-postprocess.pl and
  doc-install.pl when documentation is built.

2021-07-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs: Remove some obsolete files

  Remove docs/docs/manual/README, docs/docs/reference/README
  and docs/Makefile.

2021-07-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/manual: Add some formatting when html files are generated

  making it slightly more similar to gtkmm-documentation and libxml++.
  In Autotools builds, don't distribute the empty manual/README file.

2021-07-04  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/manual/libsigc_manual.xml: Add id on <sect1> elements

2021-06-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  test_rvalue_ref: Small fixes

  * tests/.gitignore:
  * tests/CMakeLists.txt:
  * tests/Makefile.am: Add test_rvalue_ref.
  * tests/test_rvalue_ref.cc: Avoid [-Werror=unused-parameter]
  when building with warnings=fatal.
  
  Some files have been reformated with clang-format in order to
  make the CI tests happy. Reformated with clang-format 12, but CI
  uses clang-format 10.

2021-06-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Revert "test_rvalue_ref: Small fixes"

  This reverts commit 01652fdbc9f6fc2e72b217c9de8c89c93f95ba7c.

2021-06-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  test_rvalue_ref: Small fixes

  * tests/.gitignore:
  * tests/CMakeLists.txt:
  * tests/Makefile.am: Add test_rvalue_ref.
  * tests/test_rvalue_ref.cc: Avoid [-Werror=unused-parameter]
  when building with warnings=fatal.
  
  Some files have also been reformated with clang-format in order to
  make the CI tests happy. Reformated with clang-format 12, but CI
  uses clang-format 10.

2021-06-02  Slava Andrejev  <vyac.andrejev@gmail.com>

  Allow slots with rvalue reference parameters

  In code based on Glibmm it's quite common to convert a Glib C structure
  to a Glib::Object's descendant before passing it as a parameter to a
  slot. If the slot is not supposed to modify the object, then everything
  is fine, we can declare the parameter as a const reference and the
  temporary object will be accurately dealt with by the compiler. However,
  if the Glib based object is getting modified, the only way to pass it to
  the slot is to declare it a Glib::RefPtr shared pointer. This creates a
  lot of unnecessary churn of memory allocations for a simple deal of
  calling a signal. However, C++ has a specific mean for this particular
  semantic of passing a temporary object: rvalue reference.
  
  For example, somewhere inside Gtkmm might be a declaration:
  _WRAP_SIGNAL(void sun_rose(const Glib::RefPtr<Gtk::Sun> &new_sun),
  "sun-rose")
  
  Instead its more semantically correct to write:
  _WRAP_SIGNAL(void sun_rose(Gtk::Sun &&new_sun), "sun-rose")
  
  And later somewhere in your code:
  world->signal_sun_rose().connect([&](auto &&new_sun) {
    new_sun.shine();
  });
  
  This commit makes a couple of simple modifications that allow declaring
  signals and slots with rvalue reference parameter.

2021-05-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.0.7

2021-05-18  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Visual Studio build files: Some cleanups

  Replace /wd4530 with /EHsc, as that is the more proper CXXFlag to use for C++ programs

2021-05-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add dependencies to Doxygen tag files in subprojects

  Doxygen in a main project shall not be called before tag files have been
  created or updated in subprojects.

2021-05-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix build as subproject without building documentation

  * meson.build: If mm-common-get is not found in maintainer-mode
  with 'required: false', try with 'required: true'.
  Don't try to use tag_file, if documentation is not built.
  * docs/docs/reference/meson.build: Don't use variables from modules
  that don't define doxytagfile. These are subprojects that don't build
  their documentation.
  
  Fixes #71

2021-05-05  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0

  * meson.build:
  * MSVC_NMake/meson.build:
  * docs/docs/manual/meson.build:
  * docs/docs/reference/meson.build:
  Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
  * tools/handle-built-files.py:
  * tools/tutorial-custom-cmd.py:
  Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT.
  It exists if meson.version() >= 0.58.0.

2021-04-08  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: No implicit_include_directories

2021-03-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: No implicit_include_directories

  It shall not be possible to find a sigc++ header file
  with #include <xxx.h> instead of #include <sigc++/xxx.h>.

2021-03-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Require only meson.version() >= 0.51.0

  meson.version() >= 0.54.0 is necessary if sigc++ is a subproject,
  or if mm-common is a subproject of sigc++.
  Only meson.version() <= 0.53.2 is available in CI. Make it possible
  to build with version 0.53.2 as long as no subprojects are used.

2021-03-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Make it possible to use sigc++ as a subproject

  mm-common can be a subproject of sigc++.

2021-03-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/docs/reference/Doxyfile.in: Remove obsolete entries

2021-01-24  Murray Cumming  <murraycu@google.com>

  GitHub Actions CI: Check formatting with clang-format

  This requires clang-format-10, which is available in ubuntu-20.04.

2021-01-24  Murray Cumming  <murraycu@google.com>

  Build: Add target to check code formatting with clang-format

  However, this requires clang 10.

2021-01-24  Murray Cumming  <murrayc@murrayc.com>

  sigc++config.h.* Format with clang-format (clang-format-10)

  So the generated sigc++config.h will have the correct formatting.

2021-01-24  Murray Cumming  <murraycu@google.com>

  run make format (with clang-format-10), to format the code

2021-01-02  Murray Cumming  <murraycu@google.com>

  GitHub Actions: Try gcc 8 and gcc 9 too

2021-01-02  Murray Cumming  <murrayc@murrayc.com>

  GitHub Actions: Try clang-10 too

2021-01-02  Murray Cumming  <murrayc@murrayc.com>

  GitHub actions: Use ubuntu-20.04 directly

  GitHub Actions now supports ubuntu-20.04 directly, not only via a
  separate container:
  https://github.com/actions/virtual-environments
  
  And use ubuntu-18.04 instead of ubuntu-latest, because that's what it
  currently is, but ubuntu-latest will change to mean ubuntu-20.04 soon:
  https://github.com/actions/virtual-environments/issues/1816

2020-12-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs: Update the web page

  The changes are automatically published at
  libsigcplusplus.github.io/libsigcplusplus.

2020-12-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Test clang-9 in Ubuntu 20.04

2020-12-11  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Do some tests with Meson

  Remove test with clang 7.
  Test gcc 9 and clang 10 with meson instead of autotools.

2020-12-01  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Remove tests with clang 5 and clang 6

  Building with clang 7, 8, 9 and 10 is enough.

2020-12-01  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Update the MSVC check and run it on push

2020-11-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Don't run MSVC check on push

  This test does not work any more. I don't know how to fix it.
  Run it only manually.
  
  Unable to process command '##[add-path]C:\Program Files (x86)\
  Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin' successfully.
  
  The `add-path` command is disabled. Please upgrade to using Environment Files
  or opt into unsecure command execution by setting the
  `ACTIONS_ALLOW_UNSECURE_COMMANDS` environment variable to `true`.
  For more information see: https://github.blog/changelog/
  2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

2020-11-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.0.6

2020-10-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
