2025-03-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.66.8

2025-03-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Use the Python installation that Meson uses

  See !67

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

  Avoid compiler warnings with new versions of glib

  * glib/glibmm/class.cc:
  * glib/glibmm/interface.cc: Put G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS around
  g_type_default_interface_ref() and g_type_default_interface_unref().
  They are deprecated in glib >= 2.83.4.
  * glib/glibmm/object.cc: Put G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS around
  g_type_class_ref() and g_type_class_unref().
  They are deprecated in glib >= 2.83.4.

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

  Remove ChangeLog.pre-2-36-2

2025-03-11  Chun-wei Fan  <fanc999@yahoo.com.tw>

  tests: Fix running on Windows 11

  Windows 11 deprecated and removed WordPad in the 24H2 update[1], meaning
  the "c:/Windows/write.exe" path is no longer applicable.
  
  Use the venerable NotePad instead here to make sure things continue to
  work, ie. "c:/Windows/notepad.exe".
  
  [1]: https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features-resources

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

  Gio::LoadableIcon: Remove extra commas from _CLASS_INTERFACE()

  Remove the extra commas in _CLASS_INTERFACE(LoadableIcon, GLoadableIcon,
  G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon, , , GIOMM_API)
  otherwise GIOMM_API is not inserted in the generated code.

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

  Meson build: Add install_tag keyword argument, require meson >= 0.60

2025-01-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson: Require meson version >= 0.58

  * Don't distribute .gitlab-ci.yml.
  * Remove the can_add_dist_script variable. Possible when meson version >= 0.58.
  * dependency().get_variable(pkgconfig: 'xxx', internal: 'xxx') ->
    dependency().get_variable('xxx'). Possible when meson version >= 0.58.

2025-01-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Add .gitlab-ci.yml

  Necessary when making a release.
  See https://handbook.gnome.org/maintainers/making-a-release.html

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

  Replace gtkmm.org by gtkmm.gnome.org

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

  docs/reference/Doxyfile.in: Remove unsupported entries

2024-11-04  Christian Eggers  <ceggers@arri.de>

  giomm: DBus: Fix memory leak.

  The string returned by g_dbus_error_get_remote_error() must be free'd
  with g_free().
  
  https://docs.gtk.org/gio/type_func.DBusError.get_remote_error.html#return-value

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-06-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README.md: Remove reference to developer-old.gnome.org

2024-06-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::Date::order(), MainContext::query(): Fix some comments

  * glib/glibmm/main.h:
  * glib/src/date.hg: Remove documentation of non-existent return values.

2024-06-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/reference/Doxyfile.in: Remove obsolete entries

2024-06-06  Jan Burgmeier  <jan.burgmeier@gmx.de>

  Fix memory leak in DBus::generate_guid()

  Docu states that caller must free the memory see:
  https://docs.gtk.org/gio/func.dbus_generate_guid.html

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

  tools/pm/DocsParser.pm: Don't link to developer.gnome.org

  Fix a comment that refers to the gtk-doc manual.
  See #120

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

  tools/defs_gen/h2def.py: Avoid syntax warnings from Python 3.12

  Python 3.12 issues "SyntaxWarning: invalid escape sequence"
  for expressions like '\s+'. Change to raw strings: r'\s+'.

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

  Gio::ActionGroup, Gio::DBus::MethodInvocation: Remove unnecessary code

  Remove unnecessary forward class declarations.
  Clang 18 on Windows does not like them.

2024-04-12  Chun-wei Fan  <fanc999@yahoo.com.tw>

  generate_wrap_init_pl.in: Also consider clang-cl

  clang-cl also defines _MSC_VER like Visual Studio, but uses GCC-style
  directives for silencing warnings for inconsistent dllimport directives
  (that is outside of glibmm's control), so we update the previous commit
  to now first check for __GNUC__ and __clang__, and then _MSC_VER.
  
  Silences warnings for inconsistent dllimport directives for clang-cl as
  well, in addition to GCC-style CLang.

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

  tests/glibmm_interface_implementation: NULL -> nullptr

  Clang 18 does not consider NULL good enough in calls to g_object_get().

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

  generate_wrap_in.pl.in: Ignore -Winconsistent-dllimport from clang

  The clang compiler on Windows warns like MSVC, when declarations
  in wrap_init.cc lacks __declspec(dllimport).
  Compare https://gitlab.gnome.org/GNOME/glibmm/-/commit/d661472529852c358f2ff441dcc396db3027075a
  Fixes #119

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

  2.66.7

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

  Gio::content_type_guess(): Remove most of an unneccesary overload

  clang 19.0.0 does not like the overload that takes a
  const std::basic_string<guchar>&. This overload should have been removed
  16 years ago by commit 84135b93a20e6c9fe652849959d3ff90474c99bb.
  It can't be removed completely now, because that would break ABI.
  Remove as much as possible.
  Fixes #118

2024-01-17  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake Makefiles: Use GLIB_INCLUDEDIR instead of GLIB_BASE_INCLUDEDIR

  Make things more consistent with the rest of the line, and in line with
  README.win32.md.

2024-01-17  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake Makefiles: Fix previous commit

  The updates in create-lists-msvc.mak is left out in the previous commit,
  as the test and example program targets are generated on the fly

2024-01-17  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake Makefiles: Make dep paths configurable

  This way, one may opt to pass in a base include|libpath|tools_path, plus
  conrresponding paths to GLib and libsigc++ as needed to assist NMake in
  finding the headers, .lib's and tools from the dependencies as needed so
  that building things with NMake is made easier with more flexibility.

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

  subprojects/sigc++-2.0.wrap: Get the libsigc++-2-12 branch

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

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

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

  tools/defs_gen/h2def.py: Make return types that are unsigned work

  GdkDmabufTextureBuilder contains functions that return unsigned int.

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

  Remove AUTHORS and README.SUN; add info to README.md

  See gtkmm#140

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

  Update glibmm.doap

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

  README.md: Generate a link to README.win32.md

  [file.md](file.md) generates a link to file.md in
  gitlab.gnome.org/GNOME/glibmm (I think).

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

  README.win32.md: Few fixes

  There were some leftovers from the C++17 branches, so update with the right
  info

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

  README.win32: Convert to MarkDown

  Convert the README.win32 file into MarkDown format so that it is easier on the
  eye for formatting, and convert it to UNIX line endings.  Also update the info
  that is in there to reflect the current situation on Visual Studio better.

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

  Gio::File: Fix various spelling errors in .hg docs

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

  tools/enum.pl, tools/defs_gen/enumextract.py: Accept XXX = YYY + 1

  Accept "+" in GTK_ALIGN_BASELINE = GTK_ALIGN_CENTER + 1,

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

  Doxyfile.in: Remove obsolete entries

  and add a comment in tools/m4/class_shared.m4.

2023-06-01  Jeremy Bicha  <jeremy.bicha@canonical.com>

  tests: Test for /etc/passwd instead of /etc/fstab

  /etc/fstab is not guaranteed to exist on modern Linux distros

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

  2.66.6

2023-02-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Doxyfile.in: Don't hide undocumented classes

  Might make the inheritance diagrams less incomplete when Doxygen's
  tag files are not perfect.

2023-02-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::Dispatcher: Remove a g_warning()

  Don't warn when a Dispatcher is deleted while messages are pending.
  Fixes #108

2023-02-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README.md: meson -> meson setup

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

  meson.build: Simplify if-file-exists test

2023-01-09  Chun-wei Fan  <fanc999@yahoo.com.tw>

  generate_wrap_init.pl.in: Disable warning C4273

  ... for Visual Studio builds, as GLib 2.75.x and later applied
  __declspec(dllimport) via macros to DLL builds of the GLib libraries,
  meaning that when we put the GQuark and GType function prototypes into
  wrap_init.cc warning C4273 will be raised as the prototypes in
  wrap_init.cc does not have any dllimport decorations (and would not have
  otherwise mattered).
  
  This allows builds with '-Dwarnings=fatal' to proceed with Visual Studio
  builds.
  
  Please see: MR!57.

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

  meson.build: Simplify lookup of python command

  See libsigcplusplus PR#83

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-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::Module::build_path(): Ignore deprecation of g_module_build_path()

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

  Gio::NetworkMonitor::get_default(): Add refreturn

  Fixes #104

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

  Doxyfile.in: Allow more graph nodes

  Required for Glib::Object's inheritance diagram.

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

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

  See gtkmm!72 (William Roy)

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

  2.66.5

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

  Doxyfile.in: Remove obsolete entry

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

  Convert README to README.md

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

  Gio::DBus::Proxy: Add some refreturn

  get_connection() and get_interface_info() must add a reference.
  The error in get_connection() was noticed by 우정모 (kr.woaini).
  Fixes #102

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

  gmmproc: Make h2def.py recognize G_DEFINE_AUTOPTR_CLEANUP_FUNC

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

  Gio::ListStore: Don't derive a gtkmm__GListStore GType

  GListStore is declared G_DECLARE_FINAL_TYPE.

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

  gmmproc: Improved handling of final types

  Some GObject-derived classes shall not be derived from.
  
  * glib/glibmm/class.cc:
  * glib/glibmm/interface.cc: Don't derive or add interfaces to a class
  if G_TYPE_IS_FINAL(gtype) is true.
  * tools/m4/class_shared.m4: Fix gtype_ when _DO_NOT_DERIVE_GTYPE is used.
  Add _ABI_AS_WITH_DERIVED_GTYPE, making it possible to
  add _DO_NOT_DERIVE_GTYPE without breaking ABI.

2022-06-06  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Gio::Action: Improve the documentation

  See issue #100

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

  Update tools/test_scripts/testheaders.sh

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

  NMake Makefiles: Ensure g[lib|io]mm[config.h|.rc] are created

  ...before attempting the build.  This will ensure that they are available
  during the build and that we do not accidentally refer to an old copy that
  exists on the system.
  
  Should fix issue #99.

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

  NMake Makefiles: Remove rules on build directory creation

  Instead, create them using plain 'md' commands if they don't exist prior to
  compiling the sources, if applicable.
  
  Should speed up builds a bit.

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

  Meson/MSVC: Add more warnings to ignore

  We can actually silence more warnings here, since the issues that they cover
  can normally be fished out by the unit tests.

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

  Meson: Re-organize MSVC compiler warnings-related items

  Add a short description of each of the current compiler flags we are using for
  this purpose, and only apply '/wd4267' for 64-bit builds since that flag
  normally applies for 64-bit builds only.

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

  meson.build: Avoid configuration warnings

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

  2.66.4

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

  Glib::ustring_Iterator: Accept a warning from clang++

  The fix in commit 94ab1e5359f3bd9eb8204aadea88e08f52a291d8
  broke ABI. Revert the modification of ustring_Iterator.
  It's difficult to avoid a -Wdeprecated-copy warning from clang++
  without either removing or adding ABI.
  Fixes #98

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

  2.66.3

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

  Gio::TlsCertificate: Fix the create*() methods

  Don't call constructors that don't work because the g_tls_certificate_new_*()
  functions do more than just call g_object_new().

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

  Glib, Gio: Use _WRAP_METHOD(..., ignore_deprecations)

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

  gmmproc: Add "ignore_deprecations" argument in _WRAP_METHOD()

  Makes it easier to suppress deprecation warnings when a C method has been
  deprecated, but the corresponding C++ method shall not (yet) be deprecated.

2022-02-24  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.

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

  Declare some copy constructors =default

  Avoid warnings from the clang++ compiler.
  
  It's deprecated to implicitly declare a copy constructor, if there
  is a user-defined or user-deleted (=delete) copy assignment operator.

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

  Remove HACKING

2022-02-14  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: ...).

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

  Gio::SocketClient, TlsClientConnection: Ignore some deprecations

  g_socket_client_[set,get]_tls_validation_flags() and
  g_tls_client_connection_[set,get]_validation_flags() are deprecated in
  glib 2.72. They can't be deprecated in glibmm 2.66. Ignore the deprecations,
  so it will still be possible to compile with warnings=fatal.

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

  Build: Support VS2022 builds

  Make these builds distinct from the Visual Studio 2019 builds.

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

  2.66.2

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

  Glib::wrap_register_init(): Don't use g_quark_from_static_string()

  Replace it by g_quark_from_string().
  g_quark_from_static_string() shall not be used, if glibmm (but not glib)
  is loaded and unloaded several times.
  Fixes #96

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

  Glib::Binding, Gio::Application: Don't use g_quark_from_static_string()

  Replace it by g_quark_from_string().
  g_quark_from_static_string() can't be used for initializing static
  data, if glibmm (but not glib) is loaded and unloaded several times.
  Fixes #96

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

  Declare some copy assignment operators deleted (=delete)

  Avoid warnings from the clang++ compiler.
  
  It's deprecated in C++ to implicitly declare a copy constructor, if there
  is a user-defined copy assignment operator. Instead of declaring copy
  assignment operators private without implementation, declare them deleted.

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

  Use GLib from the main branch in subproject

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

  handle-built-files.py: Specify file encoding on generated files

  The default file encoding is platform dependent in Python.
  Better specify which encoding is preferred.

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

  Gio::ListModel::get_object(): Don't try to cast to Glib::Object

  Gio::ListModel::get_object() returns Glib::RefPtr<Glib::ObjectBase>.
  Don't try to dynamic_cast it to Glib::Object. It would fail if the object
  has been constructed as an interface, and e.g. has a Gio::File wrapper.
  Fixes #93

2021-07-10  talisein  <agpotter@gmail.com>

  fileenumerator.hg: Remove refreturn to avoid memory leak

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

  Glib::ustring: Remove extraneous GLIBMM_API

  Deleted methods shall not be decorated with GLIBMM_API.
  Fixes #92

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

  2.66.1

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

  Documentation: Let links point to glibmm-2.4 and gtkmm-3.0 versions

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-15  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/reference/meson.build: Don't use variables from modules
  that don't define doxytagfile. These are subprojects that don't build
  their documentation.

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

  build: Clean up MSVC build files

  We can just drop the ignores for the C4251, C4530 and C4275 warnings at this
  point, after cleaning up our headers

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

  variantdbusstring.h: Drop GLIBMM_API decoration

  There is no API to export in the class definitions here, so just remove the
  GLIBMM_API decoration.  This will remove C4275 warnings from code including
  the header.

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

  fileattributeinfo.hg: Avoid exporting classes with std::string members

  This will help us to also eliminate C4251 warnings from code that use the
  FileAttributeInfo class.

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

  ustring.h: Avoid exporting classes with std::string members

  ...and templates that inherit std::string.  This will help us to also eliminate
  C4251 warnings from code that use the ustring class and related items.

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

  Glib::PatternSpec: Ignore deprecation of g_pattern_match()

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

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

  * meson.build:
  * docs/reference/meson.build:
  * gio/giomm/meson.build:
  * glib/glibmm/meson.build:
  Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
  * examples/meson.build: Build examples/network/resolver if libsigc++ is
  a subproject and meson.version() >= 0.58.0.
  * tools/build_scripts/handle-built-files.py:
  Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT.
  It exists if meson.version() >= 0.58.0.

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

  Meson build: Make quiet installations possible

  * tools/build_scripts/handle-built-files.py: Don't print names of
  installed files if environment variable MESON_INSTALL_QUIET is set.
  It is set by "meson install --quiet" in Meson 0.54.0 and newer.

2021-04-09  Magne Oestlyngen  <magne@spacetec.no>

  Variant: Fix so it works with C++20

  C++20 changed some aspects of templates that broke variant.h on
  some compilers (GCC 11).
  
  Ref: https://wg21.cmeerw.net/cwg/issue2237
  
    template<class T>
    struct A {
      A<T>();  // ok pre-C++20, now incorrect
  //  A();     // correct for all versions
    };
  
  This commit removes the "simple-template-id" from both the default
  constructor (no args) and the explicit constructor (has args), even
  though only the default constructor currently gives error on GCC 11.
  Since both versions are wrong according to the issue referred to above
  it is expected that GCC (and possibly other compilers) will be updated
  to fail on both cases in the future.

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

  Meson build: No implicit_include_directories

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

  Meson build: Make it possible to use glibmm as a subproject

  glib and sigc++ can be subprojects of glibmm.

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

  Add tools/defs_gen/enumextract.py

  A Python script that can replace the Perl script tools/enum.pl.
  Why? Just because I've got fond of Python.

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

  Meson build: examples and tests: Add dependency('threads')

  Multithreaded examples and tests depend on 'threads'.
  I noticed this when I started experimenting with subprojects.
  Strange that the linker did not report it as an error long ago.

2021-03-08  Chun-wei Fan  <fanchunwei@src.gnome.org>

  g[io|lib]mmconfig.h.*: Don't dllimport on MinGW

  This will fix warnings when building items using glibmm and giomm with
  MinGW/GCC.
  
  Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90

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

  tools/gen_scripts: Ignore gio/gwin32api-*.h

  Ignore some new glib header files when generating
  gio/src/gio_enums.defs and gio/src/gio_methods.defs.

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

  glib/src/binding.hg: Export Glib::manage()

  The newly-added function was missing a GLIBMM_API annotation, causing this
  function not to be exported.  Fixes build of the glibmm binding test
  program on Visual Studio-style builds.

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

  Meson build: Use relative paths to untracked/

  The paths to the source code in untracked/ shall be relative to the
  meson.build file, when library files are built from a tarball.
  With absolute paths Meson may generate too long file names.
  See gtkmm!61

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

  Gio::MemoryInputStream: Ignore deprecation of g_memdup()

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

  2.66.0

2021-01-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tests/glibmm_tls_client: Skip test, if socket can't be connected

  This test sometimes fails in CI runs, probably for a reason that's out
  of glibmm's control.
  
  Gio::Socket::create() can throw an exception. Put it in a try block.
  See #84

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

  Gio::SettingsSchemaSource: Wrap new_from_directory() and list_schemas()

  Similar to commits by Daniel Boles in the master branch.
  
  See https://bugzilla.gnome.org/show_bug.cgi?id=783216,
  issue #19 and MR !20

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

  Glib, Gio: Regenerate docs.xml and .defs files

  Regenerated while the glib-2-66 branch was checked out from glib.

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

  Fix build-deprecated-api=false

  * glib/glibmm/timeval.[cc|h]: Glib::TimeoutSource in glibmm/main.h
  contains a TimeVal. Some TimeVal methods are used in glibmm/main.cc.
  These methods must be declared and defined when glibmm is being built.
  * glib/src/balancedtree.hg: Add _CONFIGINCLUDE(glibmmconfig.h).

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

  Deprecate Glib::BalancedTree in favour of std::map

  or std::unordered_map. See issue #78

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

  Add new enum values to Gio::MenuAttribute

  See issue #78

2021-01-12  Andreas Persson  <andreasp56@outlook.com>

  Make Gio::ListStore accept Interfaces.

  I noticed that I couldn't create a ListStore containing AppInfo objects,
  because an AppInfo is not an Object but an Interface. ListStore seems to
  work fine with Interfaces, so I just changed the static_assert.
  
  See MR !38 and issue #78.

2021-01-12  Daniel Boles  <dboles@src.gnome.org>

  Glib::Binding: Add set_manage() to not require a RefPtr

  Allow users to call Glib::manage(RefPtr<Binding>) in order to defeat our
  pre-existing and still default behaviour that a user must keep a RefPtr
  to the Binding in order to keep it alive, instead letting it revert to
  the C-style behaviour of staying alive as long as either object does.
  
  We use Glib::manage() to avoid the possible pitfall of a user calling
  ->set_manage() on the result of bind_property*(), which might be empty.
  
  This patch has been modified by Kjell Ahlstedt.
  This modified version stores the new instance data in a GQuark
  instead of new member data, which would have broken ABI.
  
  Fixes https://gitlab.gnome.org/GNOME/glibmm/issues/62

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

  docs/reference/Doxyfile.in: Remove obsolete entries

2021-01-11  Daniel Boles  <dboles@src.gnome.org>

  Glib::Binding: Clarify need to hold ref, poss empty objs

  and move the documentation on lifetime away from bind_property_value()
  up to the class description/intro.
  
  https://gitlab.gnome.org/GNOME/glibmm/issues/62

2021-01-11  Daniel Boles  <dboles@src.gnome.org>

  tests/glibmm_binding: Test that unbind() stops props syncing

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

  Glib::Binding, TimeZone: Ignore deprecation of some glib functions

  g_binding_get_source(), g_binding_get_target() and g_time_zone_new()
  are deprecated in glib 2.68. We can't use the replacement functions,
  which are new in glib 2.68. We want to be able to build and run
  with both glib 2.68 and older versions of glib.

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

  Gio::MenuModel: Improve documentation of enums

  Improve the documentation of enums Gio::MenuAttribute and Gio::MenuLink.
  See #78

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

  2.64.5

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

  gmmproc: Fix compatibility with gtkmm 3.24.2

  * tools/m4/class_shared.m4: Check if __FUNC_DECORATION__ is defined.
  class_gtkobject.m4 in gtkmm 3.24.2 and older does not define it.
  Fixes #82
  
  It's not necessary to push this patch to the master branch.
  That branch is not compatible with gtkmm-3 anyway.

2020-11-22  Tom Schoonjans  <Tom.Schoonjans@rfi.ac.uk>

  Meson build: fix is_os_cocoa detection

  The previous check didnt work as the compiler choked on the Objective-C code
  that was dragged in by the Cocoa headers.
  
  This patch simplifies things by simply asking what system the host is
  running on.

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

  2.64.4

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

  Remove unnecessary TODO and README files

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

  generate_wrap_init.pl.in: Use g_type_ensure()

  Call g_type_ensure(SomeClass::get_type()).
  
  Redefining the G_GNUC_CONST preprocessor macro does not have the
  intended effect (SomeClass::get_type() actually being called) if
  the package is compiled and linked with the -flto option.
  LTO = link time optimization
  
  https://mail.gnome.org/archives/gtkmm-list/2020-November/msg00009.html

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

  Gio::File docs: Fix names of thrown exceptions

  and remove unnecessary TODO comments in several files.

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

  glib/glibmm.h: Describe how to use glibmm with meson

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

  Meson build: Fix versioning on macOS for libglibmm_generate_extra_defs

2020-09-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Fix versioning on macOS

  See https://github.com/libsigcplusplus/libsigcplusplus/pull/65

2020-09-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Add missing Glib::Value and Variant documentation

  The value_basictypes.h and variant_basictypes.h files, which are generated
  from .m4 files, were not included in the input to Doxygen.

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

  Glib::BalancedTree docs: Recommend std::map or std::unordered_map

2020-08-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

  class_interface.m4: Export the generated private class

  As in the case of class_shared.m4, we need to do the same for
  class_interface.m4 as well, in order to export the items in the private
  headers fully.

2020-08-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  gmmproc: Make h2def.py recognize more macros

  When parsing function declarations, remove G_DECLARE_DERIVABLE_TYPE
  and GDK_DECLARE_INTERNAL_TYPE.

2020-08-28  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glib/glibmm/private/*.h: Decorate the classes with GLIBMM_API

  This is done for completeness' sake, as we are doing for the private headers that we
  generate.

2020-08-28  Chun-wei Fan  <fanchunwei@src.gnome.org>

  class_shared.m4: Decorate private class prototype

  ...when using _WRAP_GOBJECT with a function decoration.  This will help expose
  the class definition in the generated private/*_p.h in the built DLLs/LIBs that
  is built with Visual Studio or clang-cl.

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Use Meson-style DLL and .lib naming if requested

  To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS'
  is specified in the NMake command line, build the DLLs and .lib's that are
  named like the Meson counterparts.  Binaries built with Meson+Visual Studio
  and the ones that are built via NMake using 'USE_MESON_LIBS' are
  interchangeable, provided that they are built with the same Visual Studio
  version.

2020-07-22  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix generating [glib|gio]mm[config.h|.rc]

  This fixes the build process so that we won't need to generate them
  unnecessarily (i.e. when building from a release tarball built with autotools).
  
  Also streamline the build process that we no longer need to explicitly run
  the 'prep-git-build' target before building, where we generate
  [glib|gio]mm[config.h|.rc], and if needed, gmmproc and generate_wrap_init.pl,
  as part of the normal 'all' target if necessary

2020-07-14  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Support ARM64 Windows builds

  This will make the NMake Makefiles capable of building ARM64 binaries of glibmm
  and giomm, which can be used on Windows 10 on ARM systems.

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

  gmmproc: _CLASS_BOXEDTYPE, _CLASS_OPAQUE_COPYABLE: Fix move assignment

  Add a std::move() to avoid copying.
  Fixes #76

2020-06-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/reference/: Update for Doxygen >= 1.8.16

  * docs/reference/meson.build: Doxygen 1.8.16 and later does not store
  tag file names in the html files. This requires changes in meson.build
  and in doc-install.pl (in mm-common). Otherwise references to other modules
  won't be updated in the html files when they are installed.
  * docs/reference/Doxyfile.in: Remove PERL_PATH and MSCGEN_PATH.
  Doxygen since version 1.8.0 does not use them.

2020-06-18  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson/Visual Studio builds: Include toolset version by default

  This makes the built DLL and .lib's contain the toolset version if the build is
  carried out using Visual Studio 2015 or later, unless the
  'msvc14x-parallel-installable' option is set to be false during configuration.
  
  The reasoning behind this change is that there are subtle problems when, for
  instance, one tries to link to a Visual Studio 2015-built glibmm when building
  gtkmm and libxml++ with Visual Studio 2017 or 2019.  This is unfortunate as
  Microsoft did try hard to make interoperating between binaries built with
  Visual Studio 2015, 2017 and 2019 as easy as possible in terms of ABI and API,
  but unfortunately this hits the corner cases where this compatibility does not
  work.
  
  As the name suggests, this attempts to make Visual Studio 2015, 2017 and 2019
  builds share a single set of underlying C DLLs easier, while avoiding breakages
  caused by such subtle differences.

2020-06-16  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix building GIO tests/examples

  Make sure we look for the GIO headers first in this build tree or source tree

2020-06-16  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Clean up building tests and examples

  Instead of hand-written rules, just make use of what we have to generate the
  rules on the fly for most of the tests and examples, since the rules are more
  or less the same for each of the test and example programs.  We only need to
  single-out the ones that aren't buildable under Windows and those that have
  multiple programs under each directory, as opposed to one example/test program
  per directory.
  
  Even for those directories that have multiple example programs, we can pretty
  easily generate the rules for them.
  
  Also remove repeated parts that were added by accident.
  
  This can shrink the NMake Makefiles by a bit.

2020-06-15  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glib/glibmm/ustring.h: Fix building on Visual Studio 2015

  Commit 8b8af81f accidentally changed the macro check from '_MSC_VER' to
  'MSC_VER', fix that, so that things build correctly on Visual Studio 2015

2020-06-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Update README.win32

  Let people know that it is recommended (and even required at some
  points) to use the same Visual Studio version for building glibmm and
  dependent software, even for Visual Studio 2015, 2017 and 2019.

2020-06-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Distinguish between MSVC 2015, 2017 and 2019

  It was found that we cannot rely on the fact that Visual Studio
  2015~2019 tried very hard to be binary compatible, as there are corner
  cases when linking against glibmm built with Visual Studio 2015 with
  builds done by Visual Studio 2017 and 2019 where the code will fail to
  link and the DLLs are therefore not ABI-compatible.  Note that the
  libsigc++ DLLs, however, are ABI compatible between these 3 Visual
  Studio versions.
  
  As a result, for the DLL and LIB names, use 'vc140' for Visual Studio
  2015 builds, 'vc141' for Visual Studio 2017 builds and 'vc142' for
  Visual Studio 2019 builds, according to the toolset versions as defined
  by Microsoft.
  
  For people that may have previously built glibmm with Visual Studio 2017
  or 2019, which had 'vc140' in the built .lib and DLL, an NMake option
  'USE_COMPAT_LIBS' is added to make building such binaries with 'vc140'
  easier, if needed.

2020-06-03  Daniel Boles  <dboles@src.gnome.org>

  propertyproxy_base: Fix using notify w/o prop name

  GLib has now specified that if you want to connect to a signal without a
  detail argument, you omit the `::`. So, glibmm users previously
  connecting to `notify::` to listen for changes to all properties broke.
  Fix that by only passing `notify` i.e. no superfluous `::` in that case.
  
  Close https://gitlab.gnome.org/GNOME/glibmm/-/issues/74
  Close https://gitlab.gnome.org/GNOME/glibmm/-/merge_requests/35

2020-06-02  Daniel Boles  <dboles@src.gnome.org>

  ustring: Silence warning if MSC_VER is undefined/0

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

  tools/defs_gen/*.py: Specify that this is python3 code

  Specify #!/usr/bin/env python3, making it unnecessary to have a python
  command which is a link to python3.
  In h2def.py, use the built-in set() instead of Set() from the sets module.

2020-04-11  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tools/m4/compare.m4: Allow decorating comparison operators

  This allows one to pass in deocrations for the comparison operators so
  that those decorations may be defined as compiler directives to export
  symbols in a more fine-grained manner.

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

  tools/gmmproc.in: Add a comment

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

  Meson build: Set default value of the 'warnings' option to 'min'

  * meson.build: Use dist-warnings when a tarball is tested by
  'ninja dist' or 'meson dist'. Check if generate-binding.py exists, if not
  maintainer-mode. Add a better error message if mm-common-get is required
  but not found.
  * meson_options.txt: Set default value of the 'warnings' to 'min'.
  Add 'dist-warnings' with default value 'fatal'.

2020-04-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Bump version

  We need to update the version so that we can be able to check whether we
  have enough support in gmmproc to be ready to use __declspec(dllexport)
  instead of gendef.exe to export symbols for modules that build on top of
  the glibmm-2.4 branch, as they may well depend on older stable glibmm-2.4
  versions that do not have such support.

2020-04-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  gio/src/*.hg: Mark all _WRAP_ENUM() with decl_prefix

  As per Kjell's suggestions, make things more future-proof by marking all
  _WRAP_ENUM()'s with 'decl_prefix GIOMM_API'.

2020-04-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glib/src/*.hg: Mark all _WRAP_ENUM() with decl_prefix

  As per Kjell's suggestions, make things more future-proof by marking all
  _WRAP_ENUM()'s with 'decl_prefix GLIBMM_API'.

2020-04-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  gio/src: Apply `decl_prefix GIOMM_API` to _WRAP_ENUM

  This way, we can ensure that the headers generated with gmmproc marks
  the template<> classes with GIOMM_API, so that we can export them in
  Visual Studio builds.
  
  Note that for those _WRAP_ENUM calls marked with NO_GTYPE, there is no
  need to add 'decl_prefix ...'.

2020-04-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glib/src: Apply `decl_prefix GLIBMM_API` to _WRAP_ENUM

  This way, we can ensure that the headers generated with gmmproc marks
  the template<> classes with GLIBMM_API, so that we can export them in
  Visual Studio builds.
  
  Note that for those _WRAP_ENUM calls marked with NO_GTYPE, there is no
  need to add 'decl_prefix ...'.

2020-04-04  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tools/[gerror|enum].m4: Make template<> classes exportable

  Allow to apply the decl_prefix argument onto the template<> classes that
  we generate for the _WRAP_GERROR and _WRAP_ENUM directives in the
  various *.hg files, if specified.

2020-03-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.64.2

2020-03-20  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::build_filename(): Fix the template overload

  and add some tests to tests/glibmm_buildfilename/main.cc.
  
  Fixes #71

2020-03-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Install generate_extra_defs.h

  Fixes #70

2020-03-19  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README: Fix a misspelling

2020-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.64.1

2020-03-18  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib: Add missing #includes

  Fixes #69

2020-03-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.64.0

2020-03-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::Regex docs: Clarify the deprecation of match() and match_all()

  See MR !26

2020-03-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib, Gio: Regenerate docs.xml and .defs files

  and update gio/src/gio_signals.defs.patch

2020-03-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::Regex: Deprecate some uses of match() and match_all()

  Deprecate use of rvalue string references, such as temporary values.
  
  See issue #66 and MR !26

2020-03-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add Glib::canonicalize_filename()

  Fixes #59

2020-03-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add a templated Glib::build_filename() overload

  that uses Glib::StdStringView. It avoids some unnecessary string copies.
  
  Fixes #34

2020-03-16  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add Glib::UStringView and Glib::StdStringView

  See issue #34

2020-03-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::MainContext: Add push/pop/get_thread_default()

  See issue #56

2020-03-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::get_host_name(): Return a Glib::ustring

  g_get_host_name() returns a UTF-8 string.

2020-03-15  scx  <scx.mail@gmail.com>

  Add Glib::get_host_name()

  Wraps g_get_host_name() from glib.
  Return a name for the machine.
  
  Closes GNOME/glibmm#58

2020-03-15  scx  <scx.mail@gmail.com>

  Add Glib::get_user_runtime_dir()

  Wraps g_get_user_runtime_dir() from glib.
  Returns a directory that is unique to the current user on the local system.
  
  Closes GNOME/glibmm#57

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

  README: Describe building with Meson and Autotools

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

  Gio::DBus::Message::get_unix_fd_list(): Add refreturn

  Fixes #68

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

  glibmmconfig.h.in: Add GLIBMM_CAN_USE_THREAD_LOCAL for non-Windows builds

  Define GLIBMM_CAN_USE_THREAD_LOCAL, if its config test program succeeds.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  m4: Apply function decoration more thoroughly

  Apparently more items in the generated code must be marked with the
  function decoration that is specified, otherwise the exported symbols
  will not be complete.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Do not allow static MSVC-style builds

  The Visual Studio build files never really supported static builds, so
  disallow that for now, until we can make sure that is tested better.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Drop gendef

  We are now using __declspec(dllexport) to export symbols from the glibmm
  and giomm DLLs, so we no longer need to have gendef around.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glibmm: Update glibmmconfig.h.[in|meson] for MSVC

  Drop all the compatibility bits for Visual Studio 2013 as Visual Studio
  2013 does not have sufficient C++11 support to build glibmm.
  
  Make sure that we do enable GLIBMM_CAN_USE_THREAD_LOCAL as Visual Studio
  2015 or later has thread_local, but we must also ensure that we do not
  mark DispatcherNotifier for export as a result, since thread_local
  conflicts with __declspec(dllexport).
  
  Also update for Visual Studio 2017+ as the compiler does allow static
  members to be initialized inline to std::string::npos
  (GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS), but use a work
  around for pre-Visual Studio 2017 so that we do not get a linker error
  as GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS is not supported.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Visual Studio builds: build giomm without gendef

  Make sure that we are defining GIOMM_API as __declspec(dllexport) when
  building giomm and so stop the use of gendef.exe.  We are now ready to
  drop gendef from the glibmm sources.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  gio/giomm/*.h: Mark classes and functions with GIOMM_API

  This prepares the build to use compiler directives to export symbols, in
  our bid to drop gendef.exe.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  gio/src/*.hg: Mark classes and functions with GIOMM_API

  This prepares the build to export symbols using compiler directives, in
  our bid to drop gendef.exe.  We will also mark pre-declarations of usage
  of glibmm class items with GLIBMM_API as well.

2020-03-12  Chun-wei Fan  <fanchunwei@src.gnome.org>

  build: Do not use gendef.exe for glibmm

  Clean up the build files a bit and update the glibmmconfig.h.[in|meson] so that
  we use __declspec(dllexport) when GLIBMM_BUILD is defined (i.e. during the
  build of glibmm) on Visual Studio.
  
  Also, for the meson builds, disable warnings 4251 and 4275 as they all relate
  to building DLLs regarding symbol export, which is harmless as we know clearly
  that we are indeed building DLLs in our case, and we have already set
  GLIBMM_API appropriately

2020-03-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix 'install' for Meson tarballs

  We need to look for headers from under untracked/

2020-03-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glib/src: Decorate classes and methods with GLIBMM_API

  This prepares for us to export symbols using compiler directives, so that we
  can eventually retire gendef.exe.  This also makes the scripts place GLIBMM_API
  as appropriate for the generated Glib:Error classes and the wrap() method.

2020-03-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tools: Allow generating Glib:Error class with decorations

  This allows one to export the generated Glib::Error class with decorations so
  that one may be able to use this to export it using compiler directives.
  
  Currently this only allows specifications that end with _API, and this also
  decorates the `friend wrap_init() method in the generated Glib::Error class

2020-03-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tools/m4: Allow one to decorate the generated wrap() prototype

  This allows the compiler to use the decoration macro to export those methods
  from the generated items

2020-03-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glib/glibmm/*.h: Mark classes and methods with GLIBMM_API

  This prepares the code to use __declspec(dllexport) to export all symbols, so
  that we can eventually bid farewell to gendf.exe

2020-03-07  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Use /utf-8 for Visual Studio builds

  This way, we can avoid warning/error C4819 when building glibmm due to unicode
  handling issues in the compiler, which is likely to pop up on East Asian
  locales on Windows.
  
  We need to ignore warning C4828 when building gendef.exe though with this.

2020-03-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Revert "meson: Don't use `objects:` in glibmm, giomm"

  This reverts commit b03c6d558d912ab66cafac37d5c9fdd63e46d61b.
  
  Apparently that commit caused the g++ linker to optimize most of the
  items out from the final library.

2020-03-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson: Don't use `objects:` in glibmm, giomm

  Instead, use or extend `link_with:`
  
  Please see: https://gitlab.gnome.org/GNOME/glibmm/-/merge_requests/28#note_731510

2020-03-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  MSVC NMake: Allow builds from Meson-generated tarballs

  This adds rules to the NMake Makefiles so that they can find the sources under
  $(srcroot)/untracked, and thus will not need to re-generate the sources.
  
  However, for builds from such tarballs, it is necessary to do
  'nmake /f Makefile.vc CFG=$(CFG) prep-git-build' so that the resource scripts
  and config headers are generated, prior to performing the build.
  
  Please note that glibmm_generate_extra_defs-2.x is now built as a DLL with the
  NMake Makefiles as well.

2020-03-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  glib/glibmmconfig.h.in: Define GLIBMM_CAN_USE_THREAD_LOCAL on MSVC

  Visual Studio 2015 (the minimum Visual Studio compiler that we can use
  for glibmm) supports this, so turn this on.

