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

  2.78.1

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

  README.win32.md: Mention about Visual Studio with libsigc++-3.6.x

  Make a note to users that Visual Studio 2019 or later is recommended if
  building against libsigc++-3.6.x or later as warnings are being
  generated as C++-17 support is not that well done in 2017 when building
  against libsigc++-3.6.x or later.

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

  meson.build: Update htmlrefpub

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

  ustring: TODO to avoid copies from operator string

  Our conversion operator to std::string always returns a copy but that is
  wasteful when it could be a const& reference or moved-out from an rvalue
  – especially bad since conversions can occur silently & harm performance
  without users realising. We can split to const&/&& overloads at next ABI

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

  ustring: Add TODOs for C++20 move from outstreams

  C++20 adds `ostream.str() &&` for rvalue `this`, which will move out the
  stream's owned string. We can use that once we are on C++20 to avoid the
  extra copy of the string (although we do then copy that AGAIN via GLib!)

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

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

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

  Glib::Dispatcher: Allow destroy during emit

  If a signal handler deletes a Dispatcher, a DispatchNotifier
  can be deleted while its pipe_io_handler() method is executing.
  Stop its execution if this happens.
  
  Fixes #116

2023-10-24  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-09-12  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.78.0

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

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

  using glib files from glib 2.78.0.

2023-08-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::ustring: Add a std::hash<> specialization

  So people can use it as a key for std::unordered_map and
  std::unordered_set. Originally proposed by Murray Cumming.
  Add tests/glibmm_ustring_hash.
  Fixes #16

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

  Glib::VariantType docs: Update a link

  and change Gtk::Bin to Gtk::Widget. Gtk::Bin does not exist in gtkmm4.

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

  2.77.0

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

  Glib, Gio: Add new API from glib 2.77.0

  * configure.ac:
  * meson.build: Require glib-2.0 >= 2.77.0.
  * gio/src/actionmap.hg: _IGNORE(g_action_map_remove_action_entries).
  * gio/src/resolver.hg: Add set/get/property_timeout().
  * glib/glibmm/ustring.[cc|h]: Add ustring::truncate_middle().

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

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

  using glib files from glib 2.77.0.

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

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

  Glib: Add DBusHandle and Variant<DBusHandle>

  Fixes #113

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

  Autotools build: Don't include config.h in ustring.cc

  Include GLIBMM_SIZEOF_WHAR_T in glibmmconfig.h, as in a Meson build.

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

  Glib::Variant: Provide Variant<long long> whenever possible

  If all of the types short, int, long, long long have size 2, 4 or 8 bytes,
  provide Variant specializations for all of them and for the corresponding
  unsigned types.
  Fixes #111

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

  Glib::Variant docs: Small fixes

  create_variant(): Add a missing ::create.
  VariantBase::get_dynamic(): Recommend Variant<T>::get() when possible.
  See #109 and #110

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

  Glib::VariantContainerBase: Add a const version of get_child()

  and deprecate the non-const version.
  Both get_child() versions return a non-const VariantBase, usually
  with the same GVariant as *this, just with an added reference.
  It's reasonable to have a const version, because GVariant is immutable.
  Fixes #112

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

  Add Glib::VariantBase::get_dynamic()

  and use it in tests/glibmm_variant/main.cc.
  Fixes #110

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

  Add Glib::create_variant()

  and use it in tests/glibmm_variant/main.cc.
  Fixes #109

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

  Doxyfile.in: Remove obsolete entries

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

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

  tools/defs_gen/h2def.py: Recognize Graphene type names

  A typical type name is not GraphenePoint, but graphene_point_t.

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

  giomm.pc.in, glibmm.pc.in: Update htmlrefpub

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

  Add Gio::Subprocess, SubprocessLauncher and examples/subprocess

  Fixes #106

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

  gmmproc: Generate callback functions with C linkage

  * tools/m4/signal.m4: Add an optional parameter to _SIGNAL_PH.
  * tools/m4/vfunc.m4: Add an optional parameter to _VFUNC_PH.
  * tools/pm/Output.pm:
  output_wrap_vfunc_h(): Add $objCDefsFunc->args_names_only()
  in call to _VFUNC_PH.
  output_wrap_default_signal_handler_h(): Add $objCDefsFunc->args_names_only()
  in call to _SIGNAL_PH.
  Part of issue #1

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

  Glib:NodeTree: Add GLIBMM_API on new callback functions

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

  Glib: NodeTree etc.: Use callback functions with C linkage

  * glib/glibmm/class.cc: Use glibmm_custom_[get|set]_property_callback().
  * glib/glibmm/object.[cc|h]: Add set_data_with_c_callback().
  Don't call g_object_set_qdata_full() with a function with C++ linkage, if
  GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS is defined.
  * glib/glibmm/property.[cc|h]: Declare some local functions extern "C".
  Add glibmm_custom_[get|set]_property_callback().
  * glib/src/nodetree.[ccg|hg]:
  Add glibmm_NodeTree_c_callback_[traverse|foreach]() and
  struct NodeTreeCallback[Traverse|Foreach]Data.
  Part of issue #1

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

  Glib: value_custom: Use callback functions with C linkage

  * glib/glibmm/value_custom.[cc|h]: Add custom_boxed_type_cpp_register().
  * tests/glibmm_value/main.cc: Add test of copying custom Value.
  Part of issue #1

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

  Add Gio::giomm_SignalProxy_async_callback() with C linkage

  and use it instead of SignalProxy_async_callback().
  Part of issue #1

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

  Glib: Use callback functions with C linkage

  * gio/src/cancellable.ccg: Add TODO comment.
  * glib/glibmm/class.cc: Call custom_class_base_finalize_function() and
  custom_class_init_function() via local functions with C linkage.
  * glib/glibmm/extraclassinit.h: Point out in the class documentation that
  the class init and instance init functions shall have C linkage.
  * glib/glibmm/main.[cc|h]: Call prepare_vfunc(), check_vfunc() and
  dispatch_vfunc() via local functions with C linkage.
  * glib/glibmm/objectbase.cc: Call destroy_notify_callback()
  via a local function with C linkage.
  * glib/glibmm/propertyproxy_base.cc: Call PropertyProxyConnectionNode::
  callback() and destroy_notify_handler() via local functions with C linkage.
  * glib/glibmm/signalproxy.cc: Call SignalProxyNormal::slot0_void_callback()
  and SignalProxyConnectionNode::destroy_notify_handler() via local functions
  with C linkage.
  * glib/src/binding.ccg: Add extern "C".
  * glib/src/bytearray.ccg: Add a TODO comment.
  * glib/src/markup.ccg: Call functions in the vfunc table via local
  functions with C linkage.
  * glib/src/optioncontext.ccg: Add extern "C".
  * glib/src/optiongroup.ccg: Call post_parse_callback() and
  option_arg_callback() via local functions with C linkage.
  
  Part of issue #1

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

  Gio: Use callback functions with C linkage

  * gio/giomm/socketsource.cc: Add extern "C".
  * gio/src/application.[ccg|hg]: Call Application_Class::open_callback()
  via a local function with C linkage.
  * gio/src/asyncinitable.[ccg|hg]: Call
  AsyncInitable_Class::init_async_vfunc_callback() and
  init_finish_vfunc_callback() via local functions with C linkage.
  * gio/src/dbusobjectmanagerclient.ccg: Use a local function with C linkage
  instead of Glib::destroy_notify_delete<SlotProxyType>.
  * gio/src/file.ccg: Add extern "C".
  * gio/src/liststore.ccg: Add a TODO comment.
  * gio/src/memoryinputstream.ccg: Add extern "C".
  * gio/src/settings.ccg: Add extern "C".
  * gio/src/socketcontrolmessage.[ccg|hg]: Call
  SocketControlMessage_Class::deserialize_async_vfunc_callback()
  via a local function with C linkage.
  
  Code that mixes up C linkage and C++ linkage has undefined behavior.
  Most compilers make no difference between C and C++ linkage, so it
  has not been an issue so far. Part of issue #1

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

  2.76.0

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

  Gio::Settings: Add an #include

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

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

  using glib files from glib 2.76.0.

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

  Gio::ListModel: Add get_typed_object()

  Inspired by gtkmm#132.
  A test case has been added at gtkmm/tests/filedialog.
  It's difficult to make a meaningful test case without involving gtkmm.
  A good test case shall contain a GListModel with objects of a class
  which has no corresponding C++ class, and implements an interface
  which is wrapped in a C++ class.

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

  Glib::Dispatcher: Add const versions of emit() and operator()()

  and deprecate the non-const versions.
  Fixes #103

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>

  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>

  README.md, CI: meson -> meson setup

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

  2.75.0

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

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

  using glib files from glib 2.75.2. Update gio_docs_override.xml.

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

  Gio::Settings: Add bind() overloads and unbind()

  Add the bind() overloads with mapping functions.

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

  Add the GLIBMM_CHECK_VERSION() preprocessor macro

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

  Glib::Binding: Fix a bind_property() overload

  The bind_property() overload with two transformation functions
  has been wrong since commit 4ed3ff9cad836dc7b24282a112d66847292a9baa.

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

  CI: Install all dependencies with apt

  Ubuntu 22.10 contains libsigc++-3.0-dev.

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

  meson.build: Simplify if-file-exists test

2023-01-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

  liststore.hg: Rename a local variable

  In the templatized implementation of
  std::pair<bool, unsigned int> ListStore<T_item>::find, replace 'result' with
  'find_result' for what g_list_store_find_with_equal_func_full() returns, to
  avoid a compiler warning when building the giomm_listmodel test program when
  '-Dwarnings=max' is specified, for Visual Studio builds, as we are using a
  variable 'result' in a rather global scrope there[1].
  
  This will help fix 'meson dist' on Visual Studio builds.
  
  [1]: https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4459

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.

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

  Fix giomm_simple test on Windows

  One normally cannot attempt to remove (delete) a file on Windows if it
  is still open, so we must close the resources that are tied to the file
  before attempting to delete it.
  
  Without doing so, the test program will fail on Windows as an exception
  is caught as the file->remove() call failed since the associated
  iostream is still open.

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

  Glib::Binding::unbind(): Fix documentation

  Should have been done in commit dc92d02f4d50851a1af59e5fbe2a753dcfd2e9df.

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

  Glib::Module: Deprecate build_path()

  and update the constructor's documentation.

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

  Add Gio::BytesIcon

  * gio/giomm.h:
  * gio/giomm/meson.build:
  * gio/src/filelist.am: Add BytesIcon.
  * glib/src/bytes.[ccg|hg]: Add Glib::Value specialization.
  Required by _WRAP_PROPERTY in bytesicon.hg.
  * tools/extra_defs_gen/generate_defs_gio.cc: Add G_TYPE_BYTES_ICON.
  * gio/src/gio_signals.defs: Add BytesIcon property.
  * gio/src/bytesicon.[ccg|hg]: New files.
  
  Fixes #107

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

  Gio::AppInfo: Add get_[recommended|fallback]_for_type()

  Fixes #105

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

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

  Fixes #104

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

  Glib::RefPtr: Put the documentation in a Doxygen group

  A group (but not a 'using' alias) gets its own html file,
  which can be referred to from outside glibmm.

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.74.0

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

  glib/glibmm.h: Update the link to the gtkmm tutorial

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

  Glib, Gio: Regenerate docs.xml files

  using gtk files from glib 2.74.0.

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

  Convert README to README.md

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

  CI: Return to using ubuntu:rolling (22.04)

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

  Gio::File docs: Add @throws

  and other minor documentation fixes.

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

  Gio::File: Add create_tmp()

  * gio/src/file.[ccg|hg]: Add create_tmp().
  Document create_for_parse_name().
  * tests/giomm_simple/main.cc: Test File::create_tmp().

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

  Gio::ListStore::find() docs: Small changes

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

  Gio::ListStore: Add find()

  * gio/src/liststore.[ccg|hg]: Add two ListStoreBase::find() and
  two ListStore::find().
  * tests/giomm_listmodel/main.cc: Test ListStore::find().

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

  CI: Skip building with Autotools if glib is too old

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

  2.73.2

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

  CI: Use ubuntu:devel (22.10)

  Test with only one gcc version.
  Don't use warning_level and werror. They are applied to subprojects.

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

  Gio: Add some methods for glibmm 2.74

  * configure.ac:
  * meson.build: Require glib-2.0 >= 2.73.2.
  * gio/src/appinfo.hg: Add get_default_for_type_async/finish(),
  get_default_for_uri_scheme_async/finish().
  * gio/src/file.hg: Add make_symbolic_link_async/finish().
  * gio/src/liststore.hg: Add property_n_items().
  * gio/src/resolver.hg: Add enum Resolver::NameLookupFlags,
  lookup_by_name_with_flags(), lookup_by_name_with_flags_async/finish().
  * gio/src/gio_docs_override.xml:
  * tools/m4/convert_gio.m4: Add conversions for Resolver::NameLookupFlags.

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

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

  using gtk files from glib 2.73.3.

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

  Doxyfile.in: Remove obsolete entry

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

  Add Glib::ustring::release()

  Fixes #101

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

  gmmproc, DocsParser.pm: Improve the handling of gi-docgen syntax, part 3

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

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

  GListStore is declared G_DECLARE_FINAL_TYPE.

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

  Glib::RefPtr: Improve the documentation

  See issue gtkmm#119

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

  2.72.1

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

  CI: Accept warnings from clang++

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

  Revert "ustring_Iterator: Declare the copy constructor =default"

  This reverts commit 7b811a0be824675f31a422d40a75bbb5d10e32ad.
  It broke ABI. See #98

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

  2.72.0

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

  CI: Don't test subprojects

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

  Glib, Gio: Add some methods for glibmm 2.72

  * configure.ac:
  * meson.build: Require glib-2.0 >= 2.71.2.
  * gio/src/dbusproxy.hg: signal_signal() accepts a signal name.
  * gio/src/file.[ccg|hg]: Add move_async() and move_finish().
  * gio/src/socketclient.hg: Deprecate set/get/property_tls_validation_flags().
  * gio/src/tlscertificate.hg: Add properties private_key, private_key_pem,
  pkcs11_uri, private_key_pkcs11_uri.
  * gio/src/tlsclientconnection.hg: Deprecate set/get/property_validation_flags().
  * glib/glibmm/main.[cc|h]: Add create(MainContextFlags flags).
  * glib/src/enums.hg: Add enum Glib::MainContextFlags.

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

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

  using gtk files from glib 2.72.0.
  And update gio/src/gio_signals.defs.patch.

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

  CI: Use artifacts to transfer data between stages

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

  CI: Don't build everything with warnings=fatal

  Build only glibmm with warnings=fatal.
  Select latest released version of libsigc++3.

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

  Add Gio::AppInfoMonitor

  Fixes #97

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

  ustring_Iterator: Declare the copy constructor =default

  Avoid warnings from the clang++ compiler.
  
  It's deprecated to implicitly declare a copy constructor, if there
  is a user-defined 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-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Gio: Use _WRAP_METHOD(..., ignore_deprecations)

2021-11-26  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.

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

  2.70.0

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

  Glib::Binding: Fix return type from dup_source() and dup_target()

  Change from Glib::RefPtr<Glib::Object> to Glib::RefPtr<Glib::ObjectBase>.

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

  Glib, Gio: Add some methods for glibmm 2.70

  * configure.ac:
  * meson.build: Require glib-2.0 >= 2.69.1.
  * glib/src/binding.[ccg|hg]: Add dup_source(), dup_target(),
  Deprecate get_source(), get_target().
  * glib/src/spawn.[ccg|hg]: Change parameter name, exit_status to wait_status.
  * glib/src/timezone.[ccg|hg]: Add operator bool(), create_identifier().
  Deprecate create().
  * gio/src/fileinfo.hg: Add get/set_access_date(), get/set_creation_date().
  * gio/src/notification.hg: Add set_category().
  * gio/src/tlscertificate.hg: Add property/get_not_valid_before(),
  property/get_not_valid_after(), property/get_subject_name(),
  property/get_issuer_name().
  * gio/src/tlsconnection.hg: Add enum Gio::TlsProtocolVersion,
  property/get_protocol_version(), property/get_ciphersuite_name().
  * tools/m4/convert_gio.m4: Add conversion for enum TlsProtocolVersion.

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

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

  using gtk files from glib 2.70.0.
  And update gio_docs_override.xml and glib_extra_objects.defs.

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

  CI: Build with g++-11 instead of g++-9

  g++-9 is not available in debian:testing any more.

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

  CI: Switching to debian:testing

  See pangomm#13 and pangomm!23.

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

  CI: Don't rebuild libsigc++ if it can be pulled from the cache

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

  CI: Build libsigc++ only once

  and publish reference docs at gnome.pages.gitlab.gnome.org/glibmm.

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

  .gitlab-ci.yml: Add dependency g++-10

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

  Use GLib from the main branch in subproject

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

  Gio::AppInfo::get_all(): Use a local TypeTraits in ListHandler

  Instead of a specialization of Glib::Container_Helpers::TypeTraits
  for Glib::RefPtr<Gio::AppInfo>, add and use struct TypeTraits_AppInfo,
  local in gio/src/appinfo.ccg and appinfo.cc.
  Modifies the issue #94 fix.

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

  Gio::AppInfo::get_all(): Use Glib::wrap_auto_interface()

  Applies also to get_all_for_type().
  
  Make a complete specialization of Glib::Container_Helpers::TypeTraits for
  Glib::RefPtr<Gio::AppInfo>, calling Glib::wrap(GAppInfo*, bool) which uses
  Glib::wrap_auto_interface(). The partial specialization in
  containerhandle_shared.h calls Glib::wrap_auto(), which is not acceptable
  if the GAppInfo object does not already have a wrapper, and its class type
  has been wrapped in a C++ class (e.g. GWin32AppInfo or GOsxAppInfo).
  Fixes #94

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

  Update gio_docs_override.xml

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

  gmmproc, DocsParser.pm: 2nd improve the handling of gi-docgen syntax

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

  gmmproc, DocsParser.pm: Improve the handling of gi-docgen syntax

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

  gmmproc, DocsParser.pm: Handle gi-docgen syntax in documentation

  gtk4 has started using gi-docgen instead of gtk-doc. It has a different
  syntax for referring to methods, signals, properties and other stuff
  in the documentation.
  
  gmmproc does not handle the gi-docgen syntax perfectly when it converts
  to Doxygen syntax and C++ names. It has never handled gtk-doc syntax
  perfectly, either. Hopefully it's good enough in most cases.

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

  Add Glib::Environ and tests/glibmm_environ

  Fixes #89

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

  Glib::Timer: Add resume() and is_active()

  Fixes #87

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

  2.68.1

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-07  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Clean up Visual Studio build files

  Stop ignoring warnings C4251, C4273 and C4275 and add /EHsc in the compiler
  flags, so that we know if we are inadvertedly tying ourselves too closely to
  a Visual Studio compiler/STL version

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

  Don't mark the Glib::Source class with GLIBMM_API

  Instead, mark the individual members with GLIBMM_API so that we avoid having
  the code tied to a particular STL and compiler version.
  
  Update the classes that derive from Glib::Source accordingly as well

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

  error.h Avoid exporting class deriving frm std::exception

  This will avoid having the ABI tied to a particular STL and compiler version,
  and so will eliminate C4275 compiler warnings when building the code.
  
  Also update gerror.m4 so that it will generate code deriving from Glib::Error
  with the export macro markings with the member functions, so that things
  continue to build properly

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

  fileattributeinfo.hg: 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 thid class and related items, and avoid ABI
  compatibility issues when building code that link and run aginst glibmm on
  Visual Studio builds.

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

  variantdbusstring.h: Don't mark classes with GLIBMM_API

  It's actually not necessary here, and it will cause issues with the previous
  commit

2021-05-07  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, and avoid
  ABI compatibility issues when building code that link and run aginst glibmm on
  Visual Studio builds.

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

  tests/glibmm_ustring_compare: Fix so it works for C++20

  Make 3 tests, where the 2 new tests check that the disallowed comparisons
  between std::string and Glib::ustring don't compile.
  The new tests are added only in Meson builds (ninja test).
  See MR !50

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

  Meson build: No implicit_include_directories

2021-04-06  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-03-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: No implicit_include_directories

  It shall not be possible to find a glibmm header file
  with #include <xxx.h> instead of #include <glibmm/xxx.h>.
  Not fully fixed until https://github.com/mesonbuild/meson/issues/8562
  has been fixed.

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-12  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-12  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 it was not reported as a missing dependency long ago.

2021-03-09  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-02-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  docs/reference/Doxyfile.in: Remove obsolete entries

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

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

  2.68.0

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

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

  and update gio/src/gio_docs_override.xml.
  
  Regenerated while the glib-2-66 branch was checked out from glib.

2020-12-14  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 build with -Dwarnings=fatal
  and run with both glib 2.68 and older versions of glib.

2020-12-13  Pavlo Solntsev  <p.sun.fun@gmail.com>

  CI: Replacing old comments with correct ones

  The old comments were automatically added when initial version of the
  script was created. Here we repalce them with meaningful comments.

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

  Change the ABI to glibmm-2.68

  So we can use the 2.66 version numbers for stable releases in the
  glibmm-2.4 ABI series.
  
  We've done similar ABI name changes several times before.

2020-12-10  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.

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

  tests/glibmm_tls_client: Catch exceptions from more function calls

  Gio::Socket::create() can throw an exception. Put it in a try block.
  See #84

2020-12-08  Pavlo Solntsev  <p.sun.fun@gmail.com>

  CI: Adding build and test job for clang compiler

  Release build and test was added for clang compiler.

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

  Glib::Binding: Avoid warning from gcc-10

  g++-10 with optimization level -O1 or higher warns about possible use of
  an uninitialized variable when tests/glibmm_binding/main.cc is compiled.
  I don't understand why.
  
  There is no warning if the private method Glib::Binding::TransformProp::
  operator()() is compiled without optimization. Add an attribute that turns
  off optimization for this method when it's compiled with with gcc-10 or
  higher. gcc-9 does not warn. gcc-10 does not warn in glibmm-2.4, where
  std::optional is not used.

2020-12-07  Pavlo Solntsev  <p.sun.fun@gmail.com>

  CI: Updating config file to reflect recent changes

  CI configuration file is updated to support meson and autotools builds
  for glibmm. libsigc++ version is updated up to 3.0.6 and it will be built
  using meson only.
  
  See #84 for details

2020-11-21  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-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>

  Remove Glib::BalancedTree

  Use std::map or std::unordered_map instead.

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

  Rewrite Gio::Tls[Client,Server]ConnectionImpl

  TlsConnection_Class::wrap_new() can wrap a C object in a TlsConnection,
  TlsClientConnectionImpl or TlsServerConnectionImpl depending on which
  interface, if any, the C object implements.
  
  No need for special wrap*() functions in Tls[Client,Server]Connection
  or SocketClient::signal_event().
  
  This is similar to Gdk::DeviceWithPad.

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

  Gio::Tls[Client,Server]ConnectionImpl: Improve the wrap*() functions

  Make Glib::wrap_tls_[client,server]_connection_impl() do like other
  wrap() functions for ref-counted objects when they are given a nullptr:
  return an empty RefPtr.

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

  Gio::SocketClient::signal_event(): Fix wrapping of 'connection' param

  The GIOStream* parameter in the 'event' signal can point to either a
  GSocketConnection or to a subclass of GTlsConnection that implements
  the GTlsClientConnection interface. If it implements the
  GTlsClientConnection interface, wrap it in a Gio::TlsClientConnectionImpl.
  Then a signal handler can do:
    auto tls_client_connection =
      std::dynamic_pointer_cast<Gio::TlsClientConnection>(connection);
  
  Fixes #73

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

  Glib::IOChannel docs: Update names of some enum values

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

  Gio: Add Tls[Client,Server]ConnectionImpl

  Restructure Tls[Client,Server]Connection. They are interfaces. Now they
  derive only from Glib::Interface, like all interfaces shall do.
  
  Tls[Client,Server]ConnectionImpl don't correspond to C classes. They can
  wrap any C object that derives from GTlsConnection and implements
  GTls[Client,Server]Connection. Such C classes in GLib are not public.
  They can't be wrapped in the usual way.

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

  Gio::MenuModel: Make MenuAttribute and MenuLink enum class

  Change enum Gio::MenuAttribute to Gio::MenuModel::Attribute and
  change enum Gio::MenuLink to Gio::MenuModel::Link.
  Add new enum values to Attribute.

2020-07-18  Andreas Persson  <andreasp56@outlook.com>

  Update documentation for ListStore too.

2020-07-18  Andreas Persson  <andreasp56@outlook.com>

  Make 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.

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

