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

  4.22.0

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

  Gtk: Add API as in gtk 4.22.0

  * configure.ac:
  * meson.build: Require gtk4 >= 4.22.0
  * gtk/src/expression.hg: Add Gtk::TryExpression.
  * gtk/src/filefilter.hg: Add add_mime_types().
  * gtk/src/searchentry.hg: _IGNORE_PROPERTY(key-capture-widget).
  * gtk/src/searchentry2.hg: Add property_key_capture_widget().
  * gtk/src/svg.[ccg|hg]: Add get_state_names().
  * tests/Makefile.am:
  * tests/meson.build: Add expressions/test.
  * tests/expressions/main.cc: New file.

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

  Gdk, Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.22.0.

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

  Gtk::Svg: Remove get_n_states()

  gtk_svg_get_n_states() has been removed from gtk.
  GtkSvg and Gtk::Svg exist only in the unstable 4.21.x releases.

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

  Fix build with build-deprecated-api=false

  Add _CONFIGINCLUDE(gdkmmconfig.h) or _CONFIGINCLUDE(gtkmmconfig.h)
  in deprecated header files. These files are processed by Doxygen,
  but deprecated API shall not be included in the generated documentation
  when deprecated API is not built.
  
  Add #ifndef GDKMM_DISABLE_DEPRECATED or #ifndef GTKMM_DISABLE_DEPRECATED
  around inclusion of deprecated header files. Deprecated header files are
  generated by gmmproc, but they are not installed.

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

  Gtk::GestureClick: Improve the class description

  Note that Gesture::signal_cancel() is sometimes useful.
  
  Fixes #168

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

  4.21.3

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

  Gtk: Add and remove API as in gtk 4.21.5

  * configure.ac:
  * meson.build: Require gtk4 >= 4.21.5
  * gtk/src/accessible.hg: Add get_accessible_id().
  * gtk/src/application.hg: Remove save(), forget(),
  property_support_save(), property_autosave_interval(),
  signal_restore_window(), signal_save_state(), signal_restore_state().
  * gtk/src/applicationwindow.hg: Remove signal_save_state().
  * gtk/src/enums.hg: Remove enum RestoreReason.
  
  GTK removed some unstable API in 4.21.5.
  The corresponding API is removed from gtkmm.

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

  Gdk, Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.21.5. Update gtk_signals.defs.patch.

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

  svg.hg: Don't export SvgErrorExtra as a whole

  Instead, export things by the members only. The generated svg.h might not look
  pretty, but this is the best we can do without changing the gmmproc scripts.

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

  Visual Studio builds: Update build info

  Update the build information so that the updates to the NMake Makefiles are
  reflected, and people know better how options can be used in the NMake
  Makefiles.

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

  NMake Makefiles: Make build process more robust

  When we build the code, we generate object and target listings into temporary
  Makefile snippets that is to be included later in the build, but this poses an
  issue when another build is attempted using the NMake Makefiles when a build is
  in progress.
  
  To improve on this, make the snippets contain the toolset, target platform and
  configuration in their filenames, so that this situation can be improved
  without impacting things much.

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

  NMake Makefiles: Consolidate items and add flexibility

  This makes the items in the NMake Makefiles more consolidated so that it makes
  things easier to maintain, as well as adding more flexibility in finding the
  headers, .lib's, tools and scripts that are needed to build gtkmm.
  
  With this, one can specify directories as needed to locate dependencies'
  headers, lib's and scripts individually and/or as a whole, and this will also
  enable one to not have to add the 'bin' directory of a Cygwin or MSYS2/MSYS64
  installation in one's %PATH%.
  
  Copy the .m4 files for gtkmm to $(PREFIX)\lib\gtkmm-4.0\proc\m4, as done
  everywhere else.
  
  Also standardize on the '/GL' compiler flag and '/LTCG' linker flag for better
  optimization, except on building gtkmm-demo on 32-bit Visual Studio 2017
  builds, due to compiler issues there.

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

  svg.hg: Silence warning C4275 momentarily

  The base SvgError class is not exported as a whole but is exported inidivually
  by member methods, so since SvgErrorExtra derives from it and we are going to
  export that class as a whole, just silence that warning for the moment when
  we declare that class.

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

  README.win32.md: Mention Visual Studio 2026

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

  NMake Makefiles: Distinguish Visual Studio 2026 builds

  ...from Visual Studio 2022 builds, by appending the appropriate toolset version
  ('vc145').
  
  Also drop some cruft as we really need Visual Studio 2017 or later

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

  meson.build: Distinguish Visual Studio 2026 builds

  ...from Visual Studio 2022 builds, by appending the appropriate toolset version
  ('vc145').

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

  4.21.2

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

  Gtk: Add new API from gtk 4.21.4

  * configure.ac:
  * meson.build: Require gtk4 >= 4.21.4
  * gsk/src/enums.hg: Add enum Gsk::PorterDuff and Gsk::Isolation.
  * gtk/gtkmm/meson.build:
  * gtk/src/filelist.am: Add popoverbin.
  * gtk/src/picture.hg: Add set/get/property_isolate_contents().
  * gtk/src/popoverbin.[ccg|hg]: New files.
  * gtk/src/snapshot.hg: Add push_isolation() and push_composite().
  * gtk/src/svg.[ccg|hg]: Add enum Svg::Features, load_from_resource(),
  set/get/property_features(), property_resource().
  Remove Svg(const std::string& resource) constructor.
  Class Svg has not yet been included in a stable gtkmm release.
  * tools/m4/convert_gsk.m4:
  * tools/m4/convert_gtk.m4: Add conversions for new enums.

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

  Gdk, Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.21.4.
  Update gtk_docs_override.xml and tools/extra_defs_gen/generate_defs_gtk.cc.
  
  * tools/gen_scripts/init_generate.sh:
  Use glibmm/tools/defs_gen/enumextract.py instead of glibmm/tools/enum.pl.
  GSK_ISOLATION_ALL then gets the value -0x1 instead of 0xFFFFFFFFFFFFFFFF
  in gsk_enums.defs.

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

  Gtk::GestureSingle: Fix a typo

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

  Gtk::GestureSingle, GestureClick: Update class descriptions

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

  Gtk::Window: Mention set_remove_on_hide() in the class description

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

  Gtk::Window: Add set/get_remove_on_hide()

  Fixes #166

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

  Gtk::Application: Call init_gtkmm_internals() in more constructors

  Call init_gtkmm_internals() in the Application(GtkApplication* castitem)
  and Application(const Glib::ConstructParams& construct_params) constructors.
  
  Fixes #167

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

  4.21.1

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

  Gtk: Add new API from gtk 4.21.2

  * configure.ac:
  * meson.build: Require gtk4 >= 4.21.2
  * gtk/gtkmm/accelerator.[cc|h]: Add get_accessible_label().
  * gtk/src/application.hg: Add property_autosave_interval().
  * gtk/src/snapshot.hg: Add push_blend(), push_mask(), push_copy(),
  append_scaled_texture(), append_paste().

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

  Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.21.3. Update gtk_extra_objects.defs.

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

  Update gdk_docs_override.xml and gtk_docs_override.xml

  * gdk/src/gdk_docs_override.xml: Remove EventMask substitutions.
  * gtk/src/gtk_docs_override.xml: Remove EventMask and PackDirection
  substitutions. Substitute Glib::Error for GError. EventType -> Event::Type.

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

  4.21.0

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

  Gtk: Add new API from gtk 4.21.1

  * configure.ac:
  * meson.build: Require gtk4 >= 4.21.1
  * gtk/gtkmm/meson.build:
  * gtk/src/filelist.am: Add accessiblehyperlink, accessiblehypertext and svg.
  * gtk/gtkmm.h: Add accessiblehyperlink and svg.
  * gdk/src/rgba.hg: IGNORE(gdk_rgba_print).
  * gtk/src/application.hg: Add save(), forget(), property_support_save(),
  signal_restore_window(), signal_save_state(), signal_restore_state().
  * gtk/src/applicationwindow.hg: Add signal_save_state().
  * gtk/src/cssprovider.hg: Add property_prefers_reduced_motion().
  * gtk/src/enums.hg: Add the ReducedMotion and RestoreReason enums.
  * gtk/src/settings.hg: Add property_gtk_interface_reduced_motion().
  * gtk/src/symbolicpaintable.[ccg|hg]: Add snapshot_with_weight().
  * gtk/src/accessiblehyperlink.[ccg|hg]:
  * gtk/src/accessiblehypertext.[ccg|hg]:
  * gtk/src/svg.[ccg|hg]: New files.
  * docs/reference/images/widgets/svg-renderer1.svg:
  * docs/reference/images/widgets/svg-renderer2.svg: New images for the
  description of class Svg.
  * tools/m4/convert_gtk.m4: Add conversions for new enums and new classes.

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

  Gdk, Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.21.1.
  Update gtk_docs_override.xml, gtk_signals.defs.patch, gtk_vfuncs.defs
  and tools/extra_defs_gen/generate_defs_gtk.cc.

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

  Some documentation fixes

  * gtk/src/builder.hg:
  * gtk/src/filechooser.hg: Gdk -> Gtk.
  * gtk/src/label.hg: Update a TODO comment.
  * gtk/src/widget.hg: queue_draw_area() -> queue_draw()

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

  4.20.0

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

  Gdk, Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.20.1.
  The .defs files are identical to the ones in gtkmm 4.19.1,
  using gtk files from gtk 4.19.4.
  Remove documentation of enumerators in gdk_docs_override.xml and
  gtk_docs_override.xml. They are now included in the docs.xml files.

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

  gsk/gskmm/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. Used ones may #include unused ones.
  Should have been done in the previous commit.

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

  Gdk: Deprecate PixbufAnimation and PixbufAnimationIter

  GdkPixbufAnimation and GdkPixbufAnimationIter are deprecated
  since gdk-pixbuf 2.44.
  
  * demos/gtk-demo/example_images.cc: Don't use Gdk::PixbufAnimation
  and PixbufAnimationIter when gtkmm is built without deprecated API.
  * gdk/gdkmm/meson.build: Move pixbufanimation and pixbufanimationiter
  to gdkmm_deprecated_hg_ccg_basenames. Let dummy_header.h depend on
  all built .h files, not just the used ones.
  * gdk/gdkmm/wrap_init.h: Ignore deprecation of gdk_*_get_type()
  in Gdk::wrap_init.cc.
  * gdk/src/filelist.am: Move pixbufanimation.hg and pixbufanimationiter.hg
  to gdkmm_files_deprecated_hg.
  * gdk/src/pixbufanimation.[ccg|hg]:
  * gdk/src/pixbufanimationiter.[ccg|hg]: Deprecate.
  * gdk/src/pixbufloader.hg: Deprecate get_animation().
  * gtk/gtkmm/meson.build: Let dummy_header.h depend on all built .h
  files, not just the used ones.

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

  4.19.1

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

  Gdk, Gsk, Gtk: Add new API from gtk 4.19.4

  * configure.ac:
  * meson.build: Require gtk4 >= 4.19.4
  * gdk/src/event.hg: Add get_relative_direction() and
  enum ScrollRelativeDirection.
  * gsk/src/transform.[ccg|hg]: Add matrix_2d().
  * gtk/src/application.hg: Deprecate property_register_session().
  * gtk/src/cssprovider.hg: Add property_prefers_color_scheme()
  and property_prefers_contrast().
  * gtk/src/entry.hg: Add set/get_menu_entry_icon_text(),
  property_menu_entry_icon_primary_text() and
  property_menu_entry_icon_secondary_text().
  * gtk/src/enums.hg: Add enum InterfaceColorScheme and InterfaceContrast.
  * gtk/src/filterlistmodel.hg: Add get/set/property_watch_items().
  * gtk/src/settings.hg: Add property_gtk_interface_color_scheme()
  and property_gtk_interface_contrast().
  * tools/m4/convert_gdk.m4: Add conversions for enum ScrollRelativeDirection.
  * tools/m4/convert_gtk.m4: Add conversions for enum InterfaceColorScheme
  and InterfaceContrast.

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

  Gdk, Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.19.4.
  Update gdk_docs_override.docs and gtk_docs_override.xml.

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

  Gtk::DrawingArea, GLArea: Update the class descriptions

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

  Add images used in documentation copied by gmmproc

  * docs/reference/Doxyfile.in: Search for images in
  docs/reference/images/gtkdoc/.
  * docs/reference/images/gtkdoc/README: New file.
  * docs/reference/images/gtkdoc/*.png: New files, copied from
  the gdk-pixbuf and gtk modules.

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

  Update the docs_override.xml files with enum documentation

  * gdk/src/gdk_docs_override.xml:
  * gtk/src/gtk_docs_override.xml: Add enum documentation that
  glibmm/tools/defs_gen/docextract_to_xml.py has not been able to extract.

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

  4.19.0

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

  Gdk, Gtk: Add new API from gtk 4.19.2

  * gdk/src/colorstate.hg: Add equivalent().
  * gdk/src/memorytexturebuilder.hg: Add get/set_stride_for_plane() and
  get/set_offset().
  * gdk/src/texturedownloader.hg: Add download_bytes_with_planes().
  * gdk/src/toplevel.[ccg|hg]: Add enum TitlebarGesture,
  enum Toplevel::Capabilities, titlebar_gesture(), get/property_capabilities(),
  get/set/property_gravity().
  * gtk/src/calendar.hg: Add set/property_date().
  * gtk/src/urilauncher.hg: Add can_launch().
  * gtk/src/window.hg: Add enum WindowGravity, get/set/property_gravity().
  * tools/m4/convert_gdk.m4:
  * tools/m4/convert_gtk.m4: Add conversions for new enums.

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

  Gdk, Gsk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.19.2, and update gtk_docs_override.xml.

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

  Gdk::Pixbuf: Deprecate create_from_xpm_data()

  gdk_pixbuf_new_from_xpm_data() is deprecated in gdk-pixbuf 2.44.

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

  CI: Force callback for mm-common

  to get the latest version from the git repo.

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

  Make it possible to use mm-common as a subproject

  Useful if you want to use the latest version from the git repo,
  for instance the latest doxygen-extra.css.
  See #165 and mm-common#4

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

  Gtk::IconPaintable: Deprecate get_icon_name() etc.

  Deprecate get/property_icon_name(), is_symbolic(), property_is_symbolic().

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

  Require gtk4 >= 4.19.2

  where GtkIconPaintable has become a final type.

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

  Gtk::IconPaintable: Don't derive a GType

  GtkIconPaintable is a final type.

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

  Deprecate some pixbuf methods

  * demos/Makefile.am:
  * demos/gtk-demo/demo.gresource.xml: gtk-logo-rgb.gif -> gtk-logo-rgb.png
  * demos/gtk-demo/example_images.cc:
  * demos/gtk-demo/example_textview.cc:
  Don't use Gdk::Texture::create_for_pixbuf().
  * demos/gtk-demo/example_pixbufs.cc: Don't use
  Gdk::Cairo::set_source_pixbuf() when gtkmm is built without deprecated API.
  This demo can't be shown without deprecated API.
  * demos/gtk-demo/gtk-logo-rgb.gif: Replaced by gtk-logo-rgb.png.
  * demos/gtk-demo/gtk-logo-rgb.png: New file.
  * gdk/gdkmm/general.[cc|h]: Deprecate Gdk::Cairo::set_source_pixbuf().
  * gdk/src/texture.hg: Deprecate create_for_pixbuf().
  * gtk/src/filefilter.hg: Deprecate add_pixbuf_formats().
  The corresponding gtk functions have been deprecated.

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

  gtk/src/treepath.hg, license text: Change ", )" to ";"

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

  Remove obsolete FSF (Free Software Foundation) address

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

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

  Gsk::Transform: Use _IS_REFCOUNTED_BOXEDTYPE

  to generate a Glib::Value specialization, needed for use in _WRAP_PROPERTY.

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

  Gtk::Calendar: Deprecate select_day(), property_year/month/day()

  They are deprecated in gtk.
  set/property_date() will be added when the .defs files have been regenerated.
  Update the class description.

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

  generate_defs_gsk.cc: Change license, Lesser GPL 2.1 to GPL 2

  as generate_defs_gdk.cc and generate_defs_gtk.cc.

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

  Gtk: Add FixedLayout and FixedLayoutChild

  * gsk/src/transform.[ccg,hg]: Add Glib::Value<Glib::RefPtr<Gsk::Transform>>
  specialization.
  * gtk/gtkmm.h:
  * gtk/gtkmm/meson.build:
  * gtk/src/filelist.am: Add fixedlayout and fixedlayoutchild.
  * gtk/src/gtk_signals.defs: Regenerate, including
  GtkFixedLayoutyChild property.
  * tools/extra_defs_gen/generate_defs_gtk.cc: Add
  get_defs(GTK_TYPE_FIXED_LAYOUT_CHILD)
  * tools/m4/convert_gsk.m4: Add more conversions for GskTransform.
  * gtk/src/fixedlayout.[ccg,hg):
  * gtk/src/fixedlayoutchild.[ccg,hg]: New files.
  
  Fixes #164

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

  Add Gtk::Fixed::set/get_child_transform()

2025-04-07  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake builds: Update build info

  Mention gskmmconfig.h as well, by shorthand, with g[d|s|t]kmmconfig.h.

2025-04-07  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake builds: Support generating wrap_init.cc for gskmm

  That rule was forgotten.  Add it accordingly

2025-04-07  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake builds: Also "install" the gskmm headers

  Make sure the gskmm headers are copied as appropriate.

2025-04-07  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake builds: Add build rules to build gskmm

  This ensures that the bits for gskmm are built and linked in when
  building the final gtkmm DLL.

2025-04-07  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake builds: Update include directories

  We need to include the headers from gskmm, so update the build files
  accordingly so that these headers are indeed found by the build.

2025-04-07  Chun-wei Fan  <fanc999@yahoo.com.tw>

  NMake Makefiles: Generate gskmm build config files

  This adds rules in the NMake builds to generate the build config files
  for the newly-addded gskmm componenent, so that the build directories
  and gskmmconfig.h are generated with the needed info in them

2025-04-07  Chun-wei Fan  <fanc999@yahoo.com.tw>

  meson: Disable warning C4201 on Visual Studio

  The GSK headers are using nameless unions/structs that are trigerring
  this warning on C++, which we can just disregard.

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

  Gsk: Add RoundedRect, Transform and some enums

  This is the first API in the Gsk namespace.
  The MSVC_NMake directory is not fully updated.

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

  doc: Don't show specializations of glibmm template classes

  Doxygen shall not document specializations of Glib::Value and
  Glib::Container_Helpers::TypeTraits.

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

  meson.build: Update some comments

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

  4.18.0

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

  Gdk, Gtk: Add new API from gtk 4.18.1

  * configure.ac: Require gtk4 >= 4.17.5
  * meson.build: Require gtk4 >= 4.17.5, use the Python installation
  that Meson uses. See glibmm!68.
  * gdk/src/device.hg: Add get/property_active_layout_index(),
  get/property_layout_names().
  * gdk/src/surface.hg: Add translate_coordinates(),
  deprecate create_cairo_context().
  * gtk/src/accessible.hg: Add update_platform_state().
  * gtk/src/headerbar.hg:
  * gtk/src/windowcontrols.hg: Add get/set/property_use_native_controls().
  * gtk/src/widget.hg: Add get/set/property_limit_events().

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

  Gdk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.18.1.

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

  Gdk::CairoContext: Deprecate cairo_create()

  Because gdk_cairo_context_cairo_create() is deprecated.

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

  Meson build: Remove the install_gdkmmconfigdir variable

  It's identical to install_gtkmmconfigdir.

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

  doc: Add Gdk::Pixbuf class description

  * gdk/src/pixbuf.hg:
  * gdk/src/pixbufformat.hg: Add class description.
  * gdk/src/pixbufloader.hg: Add class description. Remove duplicate
  signal descriptions.

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

  doc: Update aboutdialog1.png

  * docs/reference/images/widgets/aboutdialog1.png: Update to gtkmm4 look.
  The old image showed the obsolete web address gtkmm.org.
  * docs/reference/images/widgets/arrow1.png and 18 other .png files:
  Removed. They are not used.
  * gtk/src/constraintlayout.hg: Add a link to the description of
  GtkConstraintLayout.

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

  Meson build: Add install_tag keyword argument

2025-02-07  Daniel Boles  <dboles.src@gmail.com>

  SignalListItemFactory: Remove links, tweak wording

  Stop the _obj() mentions linking to something unrelated in libstdc++, or
  anything else unintended, as seen on my system. Also reword it a little.

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

  CI: Publish the generated gtkmm-4.0.tag file

  and use libsigc++'s, glibmm's, cairomm's and pangomm's published
  tag files. The *-doc modules don't install the tag files.

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

  4.17.0

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

  Gdk, Gtk: Add new API from gtk 4.17.3

  * configure.ac:
  * meson.build: Require gtk4 >= 4.17.3
  * gdk/src/colorstate.hg: Add get_oklab() and get_oklch().
  * gdk/src/contentformats.hg: Add is_empty().
  * gtk/src/filedialog.[ccg|hg]: Add open_text_file(), open_text_file_finish(),
    open_multiple_text_files(), open_multiple_text_files_finish(),
    save_text_file(), save_text_file_finish().
  * gtk/src/listbox.hg: Add set/get/property_tab_behavior().
  * gtk/src/stringlist.hg: Add find().
  * gtk/src/textview.[ccg|hg]: Add get_visible_offset().
  * tests/filedialog/main.cc: Test open_multiple_text_files_finish()
    instead of open_multiple_finish().

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

  Gdk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.17.3.
  
  * tools/gen_scripts/gdk_generate_methods.sh:
    Exclude gtk/gdk/gdkcolordefs.h.

2025-01-23  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
  * Don't install libsigc++-3.0-doc and and other -doc modules.
    They make no difference. They don't install Doxygen's tag files.

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

  Meson: Build tarball without running test programs

  If GTKMM_NO_DIST_TESTS is defined, 'meson dist' does not run test programs.
  Useful when doing it in a CI job.
  
  Don't distribute gtkmm.doap.

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

  Deprecate Gtk::ShortcutsWindow

  * demos/gtk-demo/example_shortcuts.cc: Don't try to use ShortcutsWindow
  when gtkmm is built without deprecated API.
  * gtk/gtkmm/meson.build:
  * gtk/src/filelist.am: Move deprecated files to the appropriate lists.
  Also move SearchEntry. It should have been done when SearchEntry2 was created.
  * gtk/src/applicationwindow.[ccg|hg]: Deprecate unset/set/get_help_overlay().
  * gtk/src/shortcutlabel.hg:
  * gtk/src/shortcutsgroup.hg:
  * gtk/src/shortcutssection.hg:
  * gtk/src/shortcutsshortcut.hg:
  * gtk/src/shortcutswindow.hg: Deprecate. The corresponding classes in
  gtk have been deprecated.

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

  Replace gtkmm.org by gtkmm.gnome.org

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

  Add Gtk::Snapshot::render_background()

  render_backgrount() is misspelt. Add a correctly spelt method,
  although gtk_snapshot_render_background() is deprecated since 4.10.
  Typo noticed by Ezike Ebuka in !91.

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

  docs/reference/Doxyfile.in: Remove unsupported entries

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

  Add more signal_activate() methods

  Add signal_activate() in Gtk::ColorDialogButton, DropDown, Expander,
  FontDialogButton, MenuButton, PasswordEntry, Text.

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

  Add Gtk::SearchEntry2::signal_activate()

  It's okay to handle "activate" signals in applications, according to
  https://discourse.gnome.org/t/how-shall-action-signals-be-handled-in-language-bindings/19585
  
  Fixes #161

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

  gtk_docs_override.xml: Remove obsolete entries

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

  docs: Remove "Since 2.x"

  and other minor documentation fixes.
  Some "Since 2.x" remain. They come from gdk-pixbuf documentation.
  GTK4 has long ago removed both "Since 2.x" and "Since 3.x".

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

  meson.build, configure.ac: Require glibmm >= 2.75.0

  Necessary because of _WRAP_PROPERTY("bytes", Glib::RefPtr<Glib::Bytes>)
  in Gdk::MemoryTextureBuilder. The template specialization
  Glib::Value<Glib::RefPtr<Glib::Bytes>> is new in glibmm 2.75.0.
  
  Should have been updated when MemoryTextureBuilder was added in gtkmm 4.15.0.
  https://discourse.gnome.org/t/gtkmm-4-16-0-fails-to-compile-error-static-assertion-failed/23485

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

  4.16.0

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

  gtk/gtkmm.h: Add eventcontrollerlegacy.h

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

  Gdk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.16.0.

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

  4.15.1

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

  Gtk::TextBuffer: Add add/remove_commit_notify()

  * configure.ac:
  * meson.build: Require gtk4 >= 4.15.5.
  * gtk/src/textbuffer.[ccg|hg]: Add enum TextBuffer::NotifyFlags and
  add/remove_commit_notify().
  * tools/m4/convert_gtk.m4: Add conversions for TextBuffer::NotifyFlags.

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

  Gdk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.15.6.

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

  Gdk::Cursor: Rename create(const SlotGetTexture& slot, .....)

  Call it create_from_slot(). Some create() calls are ambiguous otherwise.
  
  Fixes #159

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

  Add Gtk::Window::set_interactive_debugging()

  See https://discourse.gnome.org/t/how-to-set-interactive-debugging-for-window-using-gtkmm-c-library/22714

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

  Gdk::DrawContext, Surface: Deprecations

  * gdk/src/drawcontext.hg: Deprecate begin_frame(), end_frame(),
  is_in_frame(), get_frame_region().
  * gdk/src/surface.hg: Deprecate set_opaque_region().

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

  4.15.0

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

  Gdk, Gtk: Add new API from gtk 4.15.4

  * configure.ac:
  * meson.build: Require gtk4 >= 4.15.4
  * gdk/gdkmm.h:
  * gdk/src/filelist.am:
  * gdk/gdkmm/meson.build: Add CicpParams, ColorState, MemoryTextureBuilder.
  * gdk/src/cicpparams.[ccg|hg]:
  * gdk/src/colorstate.[ccg|hg]:
  * gdk/src/memorytexturebuilder.[ccg|hg]: New files.
  * gdk/src/dmabuftexturebuilder.[ccg|hg]: Add get/set/property_color_state().
  * gdk/src/gltexturebuilder.[ccg|hg]: Add get/set/property_color_state().
  * gdk/src/texture.[ccg|hg]: Add get/property_color_state().
  * gdk/src/texturedownloader.[ccg|hg]: Add get/set_color_state().
  * gtk/src/csssection.hg: Add create(file, bytes, start, end), get_bytes().
  * tools/m4/convert_gdk.m4: Add conversions for GdkCicpRange, GdkCicpParams
  and GdkColorState.

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

  Gdk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.15.4.
  Update gdk_docs_override.xml, gdk_extra_objects.defs and
  tools/extra_defs_gen/generate_defs_gdk.cc.

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

  Gtk::Shortcut, Snapshot: Deprecations

  * gtk/src/shortcut.hg: Add set_action(), deprecate the misnamed
  set_trigger(const Glib::RefPtr<const ShortcutAction>& action).
  * gtk/src/snapshot.hg: Deprecate gl_shader_pop_texture().

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

  Meson build: Don't try to get removed PACKAGE_TARNAME

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

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

  Meson build: Use strings in pkgconfig.generate(requires:)

  The output of dependency() can't be used when the dependency is a subproject.

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

  Meson build: Use Meson's pkgconfig module

  instead of using the *.pc.in templates.
  Require meson >= 0.62. Remove the can_add_dist_script variable.
  It's unnecessary when the meson version >= 0.58.

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

  Don't link to library.gnome.org

  Require python3 >= 3.7. That's what Meson requires.

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

  Dialog demo: Add some comments

  and don't call other signal handlers on Dialog_Interactive after
  it has been deleted.

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

  CI: Don't build gtk4 examples, demos, tests

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

  Dialog demo: Fix a memory leak

  https://discourse.gnome.org/t/memory-leak-in-gtkmm-demos-gtk-demo-example-dialog-cc/21802

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

  docs/reference/Doxyfile.in: Remove obsolete entries

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

  enum Gtk::License: Undefine preprocessor macro BSD

  * gtk/src/aboutdialog.hg: Gtk::License::BSD is an enum constant.
  BSD can be a preprocessor macro in MacOS. Use the same trick as in
  gdk/src/event.hg, i.e. replace the macro by an enum constant.
  Also, make some minor fixes in AboutDialog's class documentation.
  Fixes #157

2024-05-18  Andre Klapper  <a9016009@gmx.de>

  Correct 404 GNOME HIG URI

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

  configure.ac, meson.build: Require gtk4 >= 4.15.0

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

  Gtk::FileDialog: Add a nullptr test

  * gtk/src/filedialog.ccg: gtk_file_dialog_open_multiple_finish()
  and gtk_file_dialog_select_multiple_folders_finish() return a nullptr
  if the user has not selected anything.

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

  Gdk, Gtk: Add new API from gtk 4.15.0

  * gdk/src/cursor.[ccg|hg]: Improve the class documentation.
    Add create(const SlotGetTexture& slot, const Glib::RefPtr<Cursor>& fallback).
  * gtk/src/enums.hg: Add FontRendering.
  * gtk/src/graphicsoffload.hg: Add set/get/property_black_background().
  * gtk/src/settings.hg: Improve the class documentation.
    Add property_gtk_font_rendering().
  * tools/m4/convert_gtk.m4: Add converions for enum FontRendering.

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

  Gdk, Gtk: Regenerate docs.xml and .defs files

  using gtk files from gtk 4.15.0. Update gtk_docs_override.xml.

2024-04-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
[--snip--]
