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