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

  2.88.0

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

  Add new API from glib 2.87.3

  * configure.ac:
  * meson.build: Require glib >= 2.87.3.
  * glib/src/markup.[ccg|hg]: Add ParseContext::get_offset() and
  get_tag_start().

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

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

  using glib files from glib 2.88.0.

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

  tools/defs_gen/enumextract.py, h2def.py: Ignore G_GNUC_FLAG_ENUM

  Ignore G_GNUC_FLAG_ENUM before the name of an enum definition.
  Possible end of enum: } G_GNUC_FLAG_ENUM GAppInfoCreateFlags;

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

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

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

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

  NMake Makefiles: Make build process more robust

  In order to generate the object/executable lists for our build, we generate a
  temporary makefile snippet and include it immediately to carry out the build,
  but this poses an issue when a different toolchain carry out the build using
  NMake.
  
  This makes the snippet use the toolset version, config and target arch for the
  build which should greatly improve the situation without adding much complexity

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

  README.win32.md: Update build info

  Make the information here reflect on the updates in the NMake build files
  better, and let people know clearer about the m4 (and other UNIXy tools)
  requirements when building from GIT checkouts.
  
  Let people know that m4.exe and PERL need not to be in %PATH%, and also
  let them know that it is still recommended that the m4.exe installation
  that comes with MSYS2/MSYS64/Cygwin is used, and 'XML::Parser' is still
  required for the PERL installation that is used,  in order to build from
  GIT checkouts.

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

  NMake Makefiles: Make m4 detection more flexible and robust

  Use UNIX_TOOLS_BINDIR, if supplied, to deduce m4.exe's location, and default
  to it if $(UNIX_TOOLS_BINDIR)\m4.exe is found, otherwise assume m4.exe is in
  the %PATH% if a m4 executable is not specified.
  
  Check whether the deduced or supplied (or default) m4 path is valid, and
  show a warning if that path isn't valid, when code generation needs to be
  carried out. If that path is valid, include the directory of the m4 path
  to be in %PATH% momentarily when generating the sources with gmmproc et al.
  
  This makes things a bit more flexible if one does not want to mess with the
  %PATH% envvar, and would normally include the path to the other UNIX tools
  that are needed to generate the sources as m4 typically is installed with the
  UNIX tools that comes with MSYS2 or Cygwin.
  
  For generating the PERL scripts that will refer to m4.exe, put in the canonical
  full path to m4, if it is located, otherwise just use the value we have for
  $(M4), as we did before.

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

  NMake Makefiles: Reorganize, fix, and clean up a bit

  Make the compiler flags and include directory flags separate, and standardize
  on dependency names, i.e. LIBSIGC->SIGC, and drop flags that are no longer
  relevant.
  
  Clean up things a bit by consolidating some repeated items.
  
  Also enforce the /GL and /LTCG compiler and linker flags for release builds,
  as we are not using gendef here, to better optimize things.
  
  Fix things where we are building from a GIT checkout so that we ensure all
  needed sources and files are generated.

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

  README.win32.md: Mention Visual Studio 2026

  Let people know about the expected file names of the built DLLs and lib's for
  the Visual Studio 2026 builds.

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

  NMake Makefiles: Make Visual Studio 2026 builds distinct

  ...from Visual Studio 2022 builds, by appending the appropriate toolset version
  for the built DLLs and .libs's.

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

  meson.build: Make Visual Studio 2026 builds distinct

  ...from Visual Studio 2022 builds, by applying the applicable toolset version

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

  Gio::Application::add_main_option_entry(): Handle empty description

  add_main_option_entry(OptionType arg_type, ...) calls
  g_application_add_main_option_entries() instead of
  g_application_add_main_option() because g_application_add_main_option()
  does not accept description == nullptr.
  Fixes #124

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

  Gio::File docs: Note where g_free() shall be called

  The contents returned from Gio::File::load_contents(), load_contents_finish()
  and load_partial_contents_finish() shall be freed with g_free().

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

  Autotools build: Distribute tools/defs_gen/docenumdefs.py

  Should have been done when docenumdefs.py was created.

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

  tools/defs_gen/docextract.py: Improve extraction of enum enumerators

  New enumerators in glib, gtk, pango are usually documented with one
  enumerator per documentation block. Fix the case when no enumerator
  is documented the old way in the enum block.

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

  2.86.0

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

  gio/giomm/meson.build: dummy_header.h depends on all built .h files

  not just the used ones. Even the unused ones shall be built before
  the used ones are compiled. Unused ones may be #included in used ones.

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

  Meson build: Use SPDX expression for license

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

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

  Glib, Gio: Regenerate docs.xml files

  using glib files from glib 2.86.0.
  The .defs files are identical to the ones in glibmm 2.85.0,
  using glib files from glib 2.85.4.

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

  Glib, Gio: Regenerate docs.xml files

  * gio/src/gio_docs.xml:
  * glib/src/glib_docs.xml: Regenerate.
  * gio/src/gio_docs_override.xml:
  * glib/src/glib_docs_override.xml: Remove documentation of enumerators.

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

  tools/defs_gen/docextract: Improve extraction of enum enumerators

  New enumerators in glib, gtk, pango are usually documented with one
  enumerator per documentation block. No formal difference from the
  documentation of a preprocessor macro.
  
  * tools/defs_gen/docenumdefs.py: New file. Parse header files to find
  definitions of enums and their enumerators.
  * tools/defs_gen/docextract.py: Call docenumdefs.parse_file().

2025-08-31  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.85.0

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

  Add new API from glib 2.85.2

  * configure.ac:
  * meson.build: Require glib >= 2.85.2.
  * gio/src/inetaddress.hg: Add get/property_scope_id(),
  get/property_flowinfo(), create(bytes, family, flowinfo, scope_id).
  * gio/src/zlibcompressor.hg: Add get/set/property_os().
  * glib/src/date.[ccg|hg]: Add get_week_of_year() and get_weeks_in_year().

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

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

  using glib files from glib 2.85.4.
  Update gio_docs_override.xml and glib_docs_override.xml.

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

  Update the docs_override.xml files with enum documentation

  * glib/src/glib_docs_override.xml:
  * gio/src/gio_docs_override.xml: Add enum documentation that
  glibmm/tools/defs_gen/docextract_to_xml.py has not been able to extract.

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

  tools/defs_gen/h2def.py: Avoid a deprecation warning from Python

  DeprecationWarning: 'count' is passed as positional argument
    mname = re.sub(regex, '', name, 1)

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

  Remove obsolete FSF (Free Software Foundation) address

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

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

  Meson build: Use the Python installation that Meson uses

  See !67

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

  Remove ChangeLog.pre-2-36-2

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

  2.84.0

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

  Small fixes to better fit glib 2.84

  * configure.ac:
  * meson.build: Require glib >= 2.83.4.
  * gio/src/dbusconnection.hg: Add an _IGNORE().
  * glib/glibmm/class.cc:
  * glib/glibmm/interface.cc: g_type_default_interface_ref() -> ..._get().
  Remove call to g_type_default_interface_unref(). It's a no-op.
  * glib/glibmm/object.cc: g_type_class_ref() -> g_type_class_get().
  Remove call to  g_type_class_unref(). It's a no-op.

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

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

  using glib files from glib 2.84.0.

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

  Glib::spawn_*() doc: Suppress erroneous links

  * glib/src/spawn.hg: Doxygen generates strange links from "exec()",
  "main()", etc. Suppress the links with "%exec()", "%main()", etc.
  Remove references to non-existent gdk_spawn_on_screen() and
  spawn_on_screen_with_pipes().

2025-02-26  Chun-wei Fan  <fanc999@yahoo.com.tw>

  README.win32.md: Add note on %PATH% for Python

  This helps working around woes that arise from accidentally picking up
  the Python installation that comes from MSYS/MSYS64 or Cygwin, as we
  need tools from them to perform a maintainer build or a build from a GIT
  checkout.

2025-02-26  Chun-wei Fan  <fanc999@yahoo.com.tw>

  Meson: Use python[.exe] to check for Python for MSVC

  ...and MSVC-style builds, as we might accidentally pull in the 'python3'
  executable from Cygwin or MSYS2, especially if a maintainer build (i.e.
  GIT checkout) build is being used, which can cause confusion and/or
  trouble, as they expect different PATH conventions.
  
  If we want, we can always go back to using the Python module from Meson
  to look for the Python installation that is used to invoke Meson.
  
  The stock Python Windows installers from www.python.org ship with
  'python.exe', not 'python3.exe'.

2025-02-26  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-14  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Add install_tag keyword argument

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

  2.83.1

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

  CI: Don't run GLib tests when building a release tarball

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

  2.83.0

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

  Add Gio::Resource::has_children() and some other API

  * configure.ac:
  * meson.build: Require glib >= 2.83.0.
  * gio/src/file.hg: Add query_default_handler_async/finish().
  * gio/src/resource.hg: Add has_children() and has_children_global().
  * gio/src/socketlistener.[hg|ccg]: Add enum Gio::SocketListener::Event
  and signal_event().
  * tools/m4/convert_gio.m4: Add conversions for Gio::SocketListener::Event.

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

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

  using glib files from glib 2.83.3.

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

  CI: Use libsigc++'s tag file when building a tarball

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

  CI: Publish the generated glibmm-2.68.tag file

  and use libsigc++'s published tag file.
  The *-doc modules don't install the tag files.

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

  CI: Update for the new release-service component

  * citemplates/release-service is necessary when making a release.
    See https://handbook.gnome.org/maintainers/making-a-release.html
  * Install sigc++ documentation.
    Will (hopefully) make glibmm's inheritance diagrams complete.
  * Don't build glib tests.

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

  Replace gtkmm.org by gtkmm.gnome.org

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

  Include the Property and Option examples in the documentation

  * glib/glibmm/property.h: Add @example properties/properties_example.cc.
  * glib/glibmm/ustring.h: Fix a reference to operator--().
  * glib/src/optioncontext.hg: Add @example options/main.cc.
  Replace "--" by "\--" in documentation to make Doxygen write two dashes
  instead of one n-dash.
  *  glib/src/regex.hg: Update enum constants (Regex::MatchFlags and
  Regex::CompileFlags) in documentation.
  Replace static_cast<CompileFlags>(0) and static_cast<MatchFlags>(0) by
  CompileFlags::DEFAULT and MatchFlags::DEFAULT in parameter default values.

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

  examples: Remove unnecessary calls to std::locale()

  * examples/compose/main.cc:
  * examples/dbus/client_bus_listnames.cc:
  * examples/dbus/server_without_bus.cc:
  * examples/dbus/session_bus_service.cc:
  * examples/options/main.cc:
  * examples/settings/settings.cc: Remove std::locale::global(std::locale("")).
  This is done by Glib::init().

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

  Glib: Don't allow Value<Glib::RefPtr<T>> with incomplete class type

  * glib/glibmm/value.h: Make Glib::Value<Glib::RefPtr<T>> and
  Glib::Value<Glib::RefPtr<const T>> fail to compile if T is an incomplete
  class type. A run-time error is replaced by a compile-time error.
  * tests/glibmm_ustring_compare/main.cc: Remove an unnecessary #include.
  * tests/glibmm_value/main.cc: Test that Glib::Value<Glib::RefPtr<T>> and
  Glib::Value<Glib::RefPtr<const T>> don't compile when T is an incomplete
  class type (forward declared class).
  The new tests are added only in Meson builds (ninja test).
  * tests/meson.build: Add the new tests.
  
  See https://discourse.gnome.org/t/gtk-cellrendererpixbuf-criticals-is-this-a-gtkmm-bug/24669

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

  docs/reference/Doxyfile.in: Remove unsupported entries

2024-10-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Glib::ustring: Allow comparison with objects implicitly convertible to ustring

  This makes it possible to compare a Glib::ustring with a std::string.
  That's an unwanted side effect of allowing comparison between ustring
  and Gtk::TreeValueProxy<T, Glib::ustring> and other objects that can be
  implicitly converted to a ustring.
  Fixes #121

2024-10-29  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  CI: Use ubuntu:rolling again, it's now 24.10

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

  CI: Use ubuntu:devel (24.10)

  Hopefully it contains meson >= 1.4.0 for glib.

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

  Revert "CI: Install meson with pip instead of apt"

  This reverts commit cc5c9caef0f947e6db5d2ca23ab6080421237093.

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

  CI: Install meson with pip instead of apt

  glib is built as a subprocess and it requires meson >= 1.4.0.

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

  Update gio_docs_override.xml

  Improves the documentation of Gio::DesktopAppInfo::get_startup_wm_class().

2024-08-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  glib_generate_methods.sh: Don't read gvariant-core.h

  * glib/src/glib_functions.defs: Remove gvariant-core.h data.
  * glib/src/variant.hg: Remove an _IGNORE() directive.
  * tools/gen_scripts/glib_generate_methods.sh: Don't read file
  ../glib/glib/gvariant-core.h.

2024-08-28  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  tools/pm/DocsParser.pm: Suppress an unjustified warning

  If the last parameter in a C function is an error parameter,
  it may be deliberately omitted in the documentation.

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

  2.82.0

2024-08-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add Gio::Converter::convert(const Glib::RefPtr<const Glib::Bytes>&)

  * configure.ac:
  * meson.build: Require glib >= 2.81.0.
  * gio/src/converter.hg: Add convert(const Glib::RefPtr<const Glib::Bytes>&).
  * gio/src/file.hg:
  * gio/src/settings.hg: Add some _IGNORE() directives.

2024-08-26  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

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

  using glib files from glib 2.82.0.

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

  Gio::DBus::Connection: Add register_object() with slots.

  * examples/Makefile.am: Distribute session_bus_client.sh.
  * examples/dbus/session_bus_client.sh: New file for testing session_bus_service.
  * examples/dbus/session_bus_service.cc: Use Connection:register_object()
  with slots instead of the one with an InterfaceVTable.
  * gio/src/dbusconnection.[ccg|hg]: Add register_object(object_path,
  interface_info, slot_method_call, slot_get_property, slot_set_property).
  Small improvements of documentation of other methods.
  
  Fixes #42

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

  Gio::DBus::InterfaceVTable, SubtreeVTable: Improve code snippets in docs

  * gio/src/dbusinterfacevtable.hg:
  * gio/src/dbussubtreevtable.hg: Reformat code snippets in the documentation.
  * gio/src/dbussubtreevtable.ccg: Check if node == nullptr in
  DBusSubtreeVTable_Introspect_giomm_callback().

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

  Add Gio::DBus::own_name(connection, .....)

  * gio/src/dbusownname.[ccg|hg]: Add own_name(connection, .....).
  * gio/src/dbuswatchname.[ccg|hg]: Fix some typos in the comments.

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

  Meson build: Don't try to get removed PACKAGE_TARNAME

  from pkg_conf_data when glibmm is a subproject.
  
  dependency().get_variable(pkgconfig: 'xxx', internal: 'xxx') ->
  dependency().get_variable('xxx'). Possible when meson version >= 0.51.

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

  Meson: Remove the can_add_dist_script variable

  It's unnecessary when the meson version >= 0.58.

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

  Meson: Re-introduce previous requirements in the .pc files

  The modules that have previously been listed as 'Requires' in the
  .pc files must remain there when the .pc files are generated by
  pkgconfig.generate(). Otherwise some apps can't be linked without
  adding requirements in the apps. (That would be the right thing to do
  in the long run, but to avoid problems in apps, removal of requirements
  from glibmm's .pc files is best done only in connection with the next
  ABI break.) E.g. some of the test programs of libxmlplusplus-4
  can't be linked without this commit.

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

  Meson: Some fixes in the pkg-config files

  * gio/giomm/meson.build: Move glibmm-2.68 from Requires.private to Requires.
  * gio/meson.build: Fix the lists of input/output data.
  * glib/meson.build: Fix the lists of input/output data.
  GLIBMM_MODULE_NAME = glibmm_pcname.
  * meson.build: Really require python3 >= 3.7. Require meson >= 0.62.
  Let meson provide the value of datadir.

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

  Don't link to removed parts of gnome.org

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

2024-07-03  Chun-wei Fan  <fanc999@yahoo.com.tw>

  meson: Drop some unused items

  Since we are using Meson's pkg-config module to generate pkg-config
  files, drop items that are no longer relevant.

2024-07-03  Chun-wei Fan  <fanc999@yahoo.com.tw>

  Meson: Generate pkg-config files

  ...instead of using the *.pc.in templates, so that things are a bit
  cleaner, and more flexible.
  
  This will help us to generate relocatable pkg-config files as well.

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

  CI: meson install -> meson install --quiet

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

  Glib::MainContext, etc.: Fix some comments

  * glib/glibmm/dispatcher.h: Remove "@ingroup Threads". That group does not
  exist now.
  * glib/glibmm/main.h: MainContext::query(): Remove documentation of
  non-existent return value.
  * glib/glibmm/timer.h: Fix some @newin commands.
  * glib/src/date.hg: Date::order(): Remove documentation of
  non-existent return value.

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

  gmmproc: Improve documentation of enum and enum class

  * tools/pm/DocsParser.pm:
  * tools/pm/Output.pm:
  * tools/pm/WrapParser.pm:
  Scoped enum class must be documented differently than plain enum.
  Otherwise Doxygen may omit the enum docs and/or the enum value docs
  from the generated html files. Different versions of Doxygen can behave
  differently. Doxygen has problems with enum class. There are several
  relevant open Doxygen issues.

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-old.gnome.org

  Fix a comment that refers to the gtk-doc manual.
  Fixes #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-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  gmmproc: Convert [enum@Module.Type.ENUMERATOR] in documentation

  * tools/defs_gen/docextract.py: Accept underscores in property names
    and signal names.
  * tools/pm/DocsParser.pm: Accept underscores in property names and in
    signal names with gi-docgen syntax.
    Convert enumerator names with gi-docgen syntax.

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

  glibmmconfig.h.[meson|in]: Pre-define GLIBMM_SIZEOF_* for MSVC

  One still might want to try to build or use glibmm built with NMake, so define
  these as appropriate for Visual Studio, in case glibmmconfig.h is not
  processed with Meson.

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  Chun-wei Fan  <fanc999@yahoo.com.tw>

  glibmm_value.h: Drop unneeded GLIBMM_API decoration

  It's a templatized in-header implementation, so we can just leave out
  the GLIBMM_API decoration. Silences a warning from CLang/clang-cl.

2024-04-10  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-10  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-04  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.80.0

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

  CI: Install python3-packaging, required by subprocess glib

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

  Glib, Gio: Add new API from glib 2.80.0

  * configure.ac:
  * meson.build: Require glib-2.0 >= 2.79.2.
  * gio/src/application.hg: Add get/set/property_version().
  * gio/src/applicationcommandline.[ccg|hg]: Add done().
  Use g_application_command_line_print/printerr_literal() in print/printerr().
  * gio/src/dbusmessage.hg: Add get_arg0_path().
  * gio/src/socket.hg: Add receive_bytes() and receive_bytes_from().
  * glib/glibmm/utility.h: Add convert_const_gchar_ptr_to_dbus_object_path_string().
  * glib/src/datetime.hg: Add create_from_local_usec(), create_from_utc_usec()
  and to_unix_usec().
  * tools/m4/convert_glib.m4: Add conversion for Glib::DBusObjectPathString.

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

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

  using glib files from glib 2.80.0.

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

  Add Glib::wide_from_utf8() and wide_to_utf8()

  * glib/src/convert.[ccg|hg]: Add wide_from_utf8() and wide_to_utf8().
  * tests/glibmm_ustring_make_valid/main.cc: Test the new functions.
  
  Based on Chris Vine's patch in issue 9.
  
  Fixes #9

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
