4.23.0 (unstable) 2026-06-09

Gdk:
* contentformats.[ccg|hg]: Add Glib::Value wrapper for GdkFileList.
  Add Value<std::vector<Glib::RefPtr<Gio::File>>> specialization.
  (Zephyr Lykos) Merge request !100

Gtk:
* Gtk::AccelKey: include <gdk/gdk.h>.
  Since gtk 4.23.0 it's not possible to include only gdk/gdkkeysyms.h.
* Application: Add save(), forget(), property_support_save(),
  property_autosave_interval(), signal_restore_winodw(), signal_save_state(),
  signal_restore_state().
* Editable: Add get/property_complete_text().
* Add enum RestoreReason
* Settings: Deprecate property_gtk_application_prefer_dark_theme(),
  property_gtk_shell_shows_app_menu(), property_gtk_shell_shows_menubar(),
  property_gtk_shell_shows_desktop().
* Svg: Add set/get/property_overflow(), set/get/property_stylesheet(),
  set_settings().
* SvgErrorExtra: Add get_input().
* Window: Add signal_force_close().
* New classes: EnumList, EnumListItem, SvgWidget
  (Kjell Ahlstedt)

Documentation:
* Gtk::Application: Update the class description.
  (Kjell Ahlstedt)

gmmproc:
* Add scripts that generate defs files with mmgir
* Small fixes here and there to adapt to defs files generated by mmgir
* The .defs files have been generated with glibmm/tools/mmgir.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.23.1
  (Kjell Ahlstedt)


4.22.0 (stable) 2026-03-12

Some unstable API has been removed.
The corresponding API was removed in gtk 4.22.0.

Gtk:
* Add TryExpression.
* FileFilter: Add add_mime_types().
* SearchEntry2: Add property_key_capture_widget().
* Svg: Add get_state_names(). Remove get_n_states().
  (Kjell Ahlstedt)

Documentation:
* Gtk::GestureClick: Improve the class description.
  (Kjell Ahlstedt) Issue #168 (gkv311)

Tests:
* Add test of Gtk::TryExpression.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.22.0
* Fix build with build-deprecated-api=false.
  (Kjell Ahlstedt)


4.21.3 (unstable) 2026-02-02

Some unstable API has been removed.
The corresponding API was removed in gtk 4.21.5.

Gtk:
* Accessible: Add get_accessible_id().
* Application: Remove save(), forget(),
  property_support_save(), property_autosave_interval(),
  signal_restore_window(), signal_save_state(), signal_restore_state().
* ApplicationWindow: Remove signal_save_state().
* Remove enum RestoreReason.
  (Kjell Ahlstedt)

Documentation:
* README.win32.md: Mention Visual Studio 2026
* MSVC_NMake/info-msvc.mak, README.win32.md: Update build info
  (Chun-wei Fan) Merge request !94

Build:
* Require gtk4 >= 4.21.5
  (Kjell Ahlstedt)
* Meson and NMake builds: Distinguish Visual Studio 2026 builds
  from Visual Studio 2022 builds
* NMake Makefiles: Consolidate items and add flexibility
  NMake Makefiles: Make build process more robust
  (Chun-wei Fan) Merge request !94
* Meson build: Don't require the 'dot' command to build the documentation
  (Kjell Ahlstedt)
* MSVC build: Don't export Gtk::SvgErrorExtra as a whole
  (Chun-wei Fan) Merge request !93 and !98


4.21.2 (unstable) 2026-01-08

Gsk:
* Add enum PorterDuff and Isolation.
  (Kjell Ahlstedt)

Gtk:
* Application: Call init_gtkmm_internals() in more constructors.
  (Kjell Ahlstedt) Issue #167 (Jean-Yves Lefort)
* Window: Add set/get_remove_on_hide().
  (Kjell Ahlstedt) Issue #166 (Jean-Yves Lefort)
* Picture: Add set/get/property_isolate_contents().
* PopoverBin: New widget.
* Snapshot: Add push_isolation() and push_composite().
* Svg: Add enum Svg::Features, load_from_resource(),
  set/get/property_features(), property_resource().
  Remove the Svg(const std::string& resource) constructor.
  Class Svg has not yet been included in a stable gtkmm release.
  (Kjell Ahlstedt)

Documentation:
* Gtk::GestureSingle, GestureClick: Update class descriptions.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.21.4
  (Kjell Ahlstedt)


4.21.1 (unstable) 2025-11-26

Gtk:
* Application: Add property_autosave_interval().
* Snapshot: Add push_blend(), push_mask(), push_copy(),
  append_scaled_texture(), append_paste().
* Namespace Accelerator: Add get_accessible_label().
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.21.2
  (Kjell Ahlstedt)


4.21.0 (unstable) 2025-11-14

Gtk:
* Application: Add save(), forget(), property_support_save(),
  signal_restore_window(), signal_save_state(), signal_restore_state().
* ApplicationWindow: Add signal_save_state().
* CssProvider: Add property_prefers_reduced_motion().
* Settings: Add property_gtk_interface_reduced_motion().
* SymbolicPaintable: Add snapshot_with_weight().
* New classes: AccessibleHyperlink, AccessibleHypertext, Svg, SvgErrorExtra.
* New enums: ReducedMotion, RestoreReason, SvgError.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.21.1
  (Kjell Ahlstedt)


4.20.0 (stable) 2025-09-19

Gdk:
* PixbufAnimation, PixbufAnimationIter: Deprecate these classes.
  GdkPixbufAnimation and GdkPixbufAnimationIter are deprecated
  since gdk-pixbuf 2.44.
* PixbufLoader: Deprecate get_animation().
  (Kjell Ahlstedt)


4.19.1 (unstable) 2025-08-26

Gdk:
* Event: Add get_relative_direction() and enum ScrollRelativeDirection.
  (Kjell Ahlstedt)

Gsk:
* Transform: Add matrix_2d().
  (Kjell Ahlstedt)

Gtk:
* Application: Deprecate property_register_session().
* CssProvider: Add property_prefers_color_scheme() and
  property_prefers_contrast().
* Entry: Add set/get_menu_entry_icon_text(),
  property_menu_entry_icon_primary_text() and
  property_menu_entry_icon_secondary_text().
* Add enum InterfaceColorScheme and InterfaceContrast.
* FilterListModel: Add get/set/property_watch_items().
* Settings: Add property_gtk_interface_color_scheme()
  and property_gtk_interface_contrast().
  (Kjell Ahlstedt)

Documentation:
* Add images used in documentation copied by gmmproc.
* Gtk::DrawingArea, Gtk::GLArea: Update the class descriptions.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.19.4
  (Kjell Ahlstedt)


4.19.0 (unstable) 2025-06-29

Gdk:
* Deprecate Gdk::Cairo::set_source_pixbuf().
* Texture: Deprecate create_for_pixbuf().
* Pixbuf: Deprecate create_from_xpm_data().
* ColorState: Add equivalent().
* MemoryTextureBuilder: Add get/set_stride_for_plane() and get/set_offset().
* TextureDownloader: Add download_bytes_with_planes().
* Toplevel: Add enum TitlebarGesture, enum Toplevel::Capabilities,
  titlebar_gesture(), get/property_capabilities(), get/set/property_gravity().
  (Kjell Ahlstedt)

Gsk: (new subdirectory and namespace)
* Add RoundedRect, Transform and enums BlendMode, Corner, FillRule,
  MaskMode, ScalingFilter, Transform::Category.
  (Kjell Ahlstedt) Merge request !92

Gtk:
* Add Fixed::set/get_child_transform()
  (Kjell Ahlstedt)
* Add FixedLayout and FixedLayoutChild
  (Kjell Ahlstedt) Issue #164 (Thayne McCombs)
* Calendar: Deprecate select_day(), property_year/month/day(),
  add set/property_date().
* FileFilter: Deprecate add_pixbuf_formats().
* IconPaintable: Deprecate get/property_icon_name(), is_symbolic(),
  property_is_symbolic().
* UriLauncher.hg: Add can_launch().
* Window: Add enum WindowGravity, get/set/property_gravity().
  (Kjell Ahlstedt)

Demos:
* Avoid deprecated Pixbuf methods where possible.
  (Kjell Ahlstedt)

Build:
* NMake Makefiles: Generate gskmm build config files
* NMake builds: Add build rules to build gskmm
  (Chun-wei Fan) Merge request !92
* Require gtk4 >= 4.19.2
  (Kjell Ahlstedt)


4.18.0 (stable) 2025-03-23

Gdk:
* CairoContext: Deprecate cairo_create().
* Device: Add get/property_active_layout_index(), get/property_layout_names().
* Surface: Add translate_coordinates(), deprecate create_cairo_context().
  (Kjell Ahlstedt)

Gtk:
* Accessible: Add update_platform_state().
* HeaderBar, WindowControls: Add get/set/property_use_native_controls().
* Widget: Add get/set/property_limit_events().
  (Kjell Ahlstedt)

Documentation:
* Gtk::SignalListItemFactory: Remove errroneous links.
  (Daniel Boles)
* Gtk::AboutDialog: Update the image.
* Gtk::ConstraintLayout: Add a link to the description of GtkConstraintLayout.
* Gdk::Pixbuf, PixbufFormat, PixbufLoader: Add class descriptions.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.17.5
* Meson build: Use the Python installation that Meson uses.
  See merge request glibmm!67.
  (Kjell Ahlstedt)


4.17.0 (unstable) 2025-01-26

Gdk:
* ColorState: Add get_oklab() and get_oklch().
* ContentFormats: Add is_empty().
  (Kjell Ahlstedt)

Gtk:
* SearchEntry2: Add signal_activate().
  (Kjell Ahlstedt) Issue #161 (PBS)
* ColorDialogButton, DropDown, Expander, FontDialogButton, MenuButton,
  PasswordEntry, Text: Add signal_activate().
  (Kjell Ahlstedt)
* Snapshot: Add and deprecate render_background().
  (Kjell Ahlstedt) Merge request !91 (Ezike Ebuka)
* ApplicationWindow: Deprecate unset/set/get_help_overlay().
* ShortcutLabel, ShortcutsGroup, ShortcutsSection, ShortcutsShortcut,
  ShortcutsWindow: Deprecate these classes.
* FileDialog: Add open_text_file(), open_text_file_finish(),
  open_multiple_text_files(), open_multiple_text_files_finish(),
  save_text_file(), save_text_file_finish().
* ListBox: Add set/get/property_tab_behavior().
* StringList: Add find().
* TextView: Add get_visible_offset().
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.17.3.
  Require glibmm >= 2.75.0. Actually required since gtkmm 4.15.0.
* Meson build: If GTKMM_NO_DIST_TESTS is defined, 'meson dist'
  does not run test programs.
  (Kjell Ahlstedt)


4.16.0 (stable) 2024-09-10

Almost identical to 4.15.1.

Gtk:
* gtkmm.h: Add eventcontrollerlegacy.h.


4.15.1 (unstable) 2024-08-30:

Gdk:
* DrawContext: Deprecate begin_frame(), end_frame(), is_in_frame(),
  get_frame_region().
* Surface: Deprecate set_opaque_region().
  (Kjell Ahlstedt)
* Cursor: Rename create(const SlotGetTexture& slot, .....).
  Call it create_from_slot(). It was added in 4.15.0 (unstable),
  but some create() calls in old code became ambiguous.
  (Kjell Ahlstedt) Issue #159 (Alessandro Astone)

Gtk:
* Window: Add set_interactive_debugging().
* TextBuffer: Add enum TextBuffer::NotifyFlags,
  add_commit_notify(), remove_commit_notify().
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.15.5.
  (Kjell Ahlstedt)


4.15.0 (unstable) 2024-08-01:

Gdk:
* Cursor: Add create(slot, fallback).
* Add class CicpParams, ColorState and MemoryTextureBuilder.
* DmabufTextureBuilder: Add get/set/property_color_state().
* GLTextureBuilder.[ccg|hg]: Add get/set/property_color_state().
* Texture: Add get/property_color_state().
* TextureDownloader: Add get/set_color_state().
  (Kjell Ahlstedt)

Gtk:
* Widget: Deprecate set/unset/get_font_options().
  (Kjell Ahlstedt)
* Paned: Add unset_start_child() and unset_end_child().
  (Kjell Ahlstedt) Issue #156 (PBS)
* Add enum FontRendering.
* GraphicsOffload: Add set/get/property_black_background().
* Settings: Add property_gtk_font_rendering().
* FileDialog: Add a nullptr test.
  (Kjell Ahlstedt)
* Undefine preprocessor macro BSD, which can be defined in MacOS,
  and can interfere with enum License::BSD.
  (Kjell Ahlstedt) Issue #157 (Mohamed Akram)
* Shortcut: Add set_action(). Deprecate the misnamed
  set_trigger(const Glib::RefPtr<const ShortcutAction>& action).
* Snapshot: Deprecate gl_shader_pop_texture().
  (Kjell Ahlstedt)

Demos:
* Dialog demo: Fix a memory leak. Add some comments.
  (Kjell Ahlstedt)

Documentation:
* Gdk::Cursor: Update the class description.
* Gtk::Settings: Improve the class documentation.
  (Kjell Ahlstedt)
* Don't link to removed parts of library.gnome.org.
  (Andre Klapper, Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.15.4.
* Meson build: Require meson >= 0.62.0.
  Use Meson's pkgconfig module instead of using
  the *.pc.in templates.
  (Kjell Ahlstedt)


4.14.0 (stable):

Gdk:
* Display: Add supports_shadow_width(), property_shadow_width()
* DmabufFormats: Add equal()
* Monitor: Add get/property_scale()
  (Kjell Ahlstedt)

Gtk:
* SpinButton: Add signal_activate()
* Accessible: Add announce()
* AccessibleText: New interface
* Calendar: Add set/get_day(), set/get_month(), set/get_year()
* SearchEntry2: Add set/get/property_input_purpose(),
  set/get/property_input_hints()
  (Kjell Ahlstedt)

Demos:
* Fix the TextView demo, ClickMe button
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.14.0
  (Kjell Ahlstedt)


4.13.3 (unstable):

Gdk, Gtk:
* Make enum bitwise operators constexpr
  (Kjell Ahlstedt) Issue #153 (PBS)

Gtk:
* FileLauncher: Add get/set/property_writable()
* Settings: Add property_gtk_show_status_shapes()
* SpinButton: Add get/set/property_activates_default()
  (Kjell Ahlstedt)

Documentation:
* Gtk::ScrolledWindow: Update the class description
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.13.6
  (Kjell Ahlstedt)


4.13.2 (unstable):

Gdk:
* Gdk::DmabufTexture: Fix GType of GDK_GL_TEXTURE to GDK_DMABUF_TEXTURE
  (Kjell Ahlstedt)

Gtk:
* Widget: Add measure+get_preferred_size() overloads that return structs
  (Daniel Boles) Issue #38, merge request !83
* Widget: Add [[nodiscard]] on get_children()
  (Daniel Boles) Merge request !85
* TreeIter: Fix operator=() missing return statement
  (Daniel Boles)
* Add SearchEntry2 not deriving Entry, to replace old SearchEntry
  that erroneously does, whereas GtkSearchEntry is no longer a GtkEntry in GTK4.
  (Kjell Ahlstedt) Issue #148, merge request !86
* Gtk::RecentInfo: Fix refcount of Glib::DateTime from get_added() et al.
  (Kjell Ahlstedt) Issue #150 (PBS)
* TreeIter: Add fn docs, intro. Document pitfall with reference from *rvalue_it.
  (Daniel Boles) Merge request !90
* Window: Get an extra reference, if not managed
  (Kjell Ahlstedt) Issue #151 (PBS)
* Add GraphicsOffload and enum GraphicsOffloadEnabled
  (Kjell Ahlstedt)

Documentaton:
* Gtk::Widget: Fix outdated, wrong destructor doc comment
  (Daniel Boles) Issue #138, merge request !84

Tests:
* tree_model_iterator: Fix/add various tests, especially const versus non-const.
  (Daniel Boles, Kjell Ahlstedt) Merge request !88

Build:
* Meson: Donʼt fail if warning_level=everything
  (Daniel Boles, Kjell Ahlstedt) Merge request !87
* Require gtk4 >= 4.13.3
  (Kjell Ahlstedt)


4.13.1 (unstable):

Gdk:
* Add DmabufFormats, DmabufTexture, DmabufTextureBuilder
* Display: Add get/property_dmabuf_formats().
  (Kjell Ahlstedt)

Gtk:
* ColumnView, GridView, ListView, Viewport: Add default values
  on some method parameters.
  (Daniel Boles) Issue #141, merge request !76
* SignalListItemFactory: Add signals taking Glib::Object.
  (Daniel Boles) Merge request !78
* TreePath: Add ctor and assignment taking const_iterator.
  (Daniel Boles) Issue #145, merge request !79
* Widget: Add get_children().
  (Daniel Boles) Issue #143, merge request !80
* ShortcutsGroup: Add add_shortcut()
  ShortcutsSection: Add add_group()
  ShortcutsWindow: Add add_section()
  PopoverMenu: Add set/get/property_flags().
  (Daniel Boles) Merge request !81
* Window: Deprecate present(guint32 timestamp)
* Add PrintDialog and PrintSetup
  (Kjell Ahlstedt)

Tests:
* Add get_children test
  (Daniel Boles) Issue #143, merge request !80

Build:
* Require gtk4 >= 4.13.2
  (Kjell Ahlstedt)


4.12.0 (stable):

Gtk:
* AboutDialog: Deprecate ctor with use_header_bar.
  (Daniel Boles) Merge request !74
* Add SymbolicPaintable.
* Add ScrollInfo and enum ListScrollFlags.
* ColumnView, GridView, ListView, Viewport: Add scroll_to().
* ColumnViewRow, ListItem: Add set/get/property_accessible_description()
  and set/get/property_accessible_label().
* DropDown: Add set/get/property_header_factory()
  and set/get/property_search_match_mode().
* FileLauncher: Add set/get/property_always_ask().
* Window: Add is_suspended() and property_suspened().
  (Kjell Ahlstedt)

Documentation:
* Remove README.SUN and other obsolete files
  (Kjell Ahlstedt) Issue #140
* Gtk::Widget: Describe managed and non-managed widgets
  (Kjell Ahlstedt) Issue #138 (Daniel Boles)

Build:
* recentinfo.hg: Fix Visual Studio build
  (Chun-wei Fan) Merge request !75
* Require gtk4 >= 4.12.0
  (Kjell Ahlstedt)


4.11.3 (unstable):

Gdk:
* Pixbuf: Deprecate the create() method taking a Cairo::Surface.
  (Kjell Ahlstedt)

Gtk:
* Snapshot: Add some #includes.
  (Kjell Ahlstedt) Issue #137 (Daniel Boles)
* Image: Deprecate the set() method taking a Pixbuf.
* Notebook: Wrap the object returned from get_pages() in a
  SelectionListModelImpl (like Stack::get_pages()).
* Picture: Deprecate set_pixbuf().
* ColumnView: Add set/get/property_header_factory().
* CssProvider: Deprecate load_from_data(). Add load_from_string()
  and load_from_bytes().
  (Kjell Ahlstedt)

Documentation:
* Group some classes in the new ListView group and note that
  all classes in the TreeView group are deprecated.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.11.3
  (Kjell Ahlstedt)


4.11.2 (unstable):

Gdk:
* GLTexture: Deprecate create().
* Add GLTextureBuilder.
  (Kjell Ahlstedt)

Gtk:
* Box, BoxLayout: Add set/get/property_baseline_child().
* Button: Add set/get/property_can_shrink().
* CenterBox, CenterLayout: Add set/get/property_shrink_center_last().
* GLArea: Deprecate set/get/property_use_es().
  Add set/get/property_allowed_apis(), get/property_api().
* Add ListHeader, SectionModel.
* ListView: Add set/get/property_header_factory().
* MenuButton: Add set/get/property_can_shrink().
* SortListModel: Add set/get/property_section_sorter().
* Widget: Deprecate get_allocation(),
  get_allocated_width/height/baseline(). Add get_baseline().
  (Kjell Ahlstedt)

Build:
* MSVC build: Mark GTKMM_API for the Entry class
  (Chun-wei Fan) Merge request !73
* Require gtk4 >= 4.11.2
  (Kjell Ahlstedt)


4.11.1 (unstable):

Gdk and Gtk:
* Use callback functions with C linkage.
  (Kjell Ahlstedt) Issue glibmm#1 (Murray Cumming)

Gdk:
* Add Gdk::Graphene::Point, Rect and Size.
  They wrap the corresponding classes in the Graphene library.
  (Kjell Ahlstedt)
* Add class DragSurfaceSize.
* DragSurface: Add signal_compute_size().
* Surface: Add get/property_scale(). Deprecate create_similar_surface().
  (Kjell Ahlstedt)

Gtk:
* Snapshot: Add push_repeat(), push_clip(), append_cairo(),
  append_texture(), append_color() with Gdk::Graphene::Rect.
  Deprecate other push_clip(), push_clip(), append_cairo(),
  append_texture(), append_color() overloads. Add translate().
* Widget: Add compute_bounds() and compute_point().
  Deprecate translate_coordinates().
  (Kjell Ahlstedt)
* Add classes ColumnViewCell and ColumnViewRow.
* ColumnView: Add set/get/property_tab_behavior() and
  set/get/property_row_factory().
* Add enum ListTabBehavior.
* FlowBox and ListBox: Add remove_all().
* GridView and ListView: Add set/get/property_tab_behavior().
* ListItem: Add set/get/property_focusable().
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.11.1
  (Kjell Ahlstedt)


4.10.0 (stable):

Gdk:
* Add TextureDownloader
* Add enum MemoryFormat, identical to MemoryTexture::Format
* Texture: Add get_format()
  (Kjell Ahlstedt)

Gtk:
* VolumeButton: Deprecated
* ProgressBar: Deprecate property_ellipsize()
  (Kjell Ahlstedt)
* FileDialog: open_multiple_finish() and select_multiple_folders_finish()
  return std::vector<Glib::RefPtr<Gio::File>> instead of
  Glib::RefPtr<Gio::ListModel>.
  FileChooser: Deprecate get_files() and get_shortcut_folders().
  Add get_files2() and get_shortcut_folders2().
  (Kjell Ahlstedt) Issue #132
* FileDialog: Make open[_finish](), select_folder[_finish](),
  save[_finish](), open_multiple[_finish](),
  select_multiple_folders[_finish]() non-const.
* FontDialog: Make choose_family[_finish]() and
  choose_face[_finish]() non-const.
* Accessible: Add set_accessible_parent(), update_next_accessible_sibling()
* MenuButton: Add set/get/property_active().
* ScaleButton: Add get/property_active().
* SearchEntry: Add set/get_placeholder_text().
  (Kjell Ahlstedt)

Tests:
* Add filedialog test
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.10.0
  (Kjell Ahlstedt)


4.9.3 (unstable):

Gdk:
* Display: Deprecate get_startup_notification_id().
* Monitor: Add get/property_description().
  (Kjell Ahlstedt)

Gtk:
* Deprecated classes: Assistant, AssistantPage, LockButton, Statusbar
* Gesture: Deprecate set_sequence_state().
* Accessible: Add enum Accessible::PlatformState. Add get_at_context(),
  get_platform_state(), get_accessible_parent(), get_bounds(),
  get_first_accessible_child(), get_next_accessible_sibling().
* Add ATContext and UriLauncher.
  (Kjell Ahlstedt)

Documentation:
* Gtk::Image, Picture, StringList, StringObject: Improve class descriptions
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.9.3
  (Kjell Ahlstedt)


4.9.2 (unstable):

Gdk:
* Display: Deprecate notify_startup_complete() and put_event().
  (Kjell Ahlstedt)

Gtk:
* Widget: Deprecate show() and hide(). (Use set_visible().)
* Add FileLauncher.
* CenterBox: Add property_[start|center|end]_widget().
* FileDialog: Rename get/set/property_current_filter() to
    get/set/property_default_filter(). Rename get/set/property_current_folder() to
    get/set/property_initial_folder(). Add get/set/property_initial_name(),
    get/set/property_initial_file(), get/set/property_accept_label().
    Remove current_file parameter from open(), current_folder parameter from
    select_folder(). Delete get/set/property_shortcut_folders().
* GestureStylus: Add get/set/property_stylus_only().
* TreeExpander: Add get/set/property_indent_for_depth()
   and get/set/property_hide_expander().
* ToggleButton: Deprecate toggled().
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.9.2
  (Kjell Ahlstedt)
* Meson build: Fix the evaluation of is_git_build on Windows
  (Kjell Ahlstedt) Issue #131 (William Roy)


4.9.1 (unstable):

Gtk:
* Deprecate about 50 classes:
  AppChooser, AppChooserButton, AppChooserDialog,
  AppChooserWidget, CellArea, CellAreaBox, CellAreaContext,
  CellLayout, CellRenderer, CellRendererAccel, CellRendererCombo,
  CellRendererPixbuf, CellRendererProgress, CellRendererSpin,
  CellRendererSpinner, CellRendererText, CellRendererToggle, CellView,
  ComboBox, ComboBoxText, EntryCompletion, IconView, ListStore,
  ListViewText, StyleContext, TreeDragDest, TreeDragSource,
  TreeIter and other classes in treeiter.hg,
  TreeModel, TreeModelFilter, TreeModelSort, TreePath, TreeRowReference,
  TreeSelection, TreeSortable, TreeStore, TreeView, TreeViewColumn,
  namespace CellRenderer_Generation, namespace TreeView_Private,
  ColorButton, ColorChooser, ColorChooserDialog,
  FileChooser, FileChooserDialog, FileChooserNative, FileChooserWidget,
  FontButton, FontChooser, FontChooserDialog, FontChooserWidget,
  MessageDialog, TreeModelColumn, TreeModelColumnRecord, InfoBar
* Deprecate Window::signal_keys_changed()
* Add ColumnViewColumn::set/get/property_id(), enum Collation,
  StringSorter::set/get/property_collation(), Widget::get_color,
  StyleProvider::add/remove_provider_for_display()
* StringList::create(): Add default value (empty vector) to parameter
* Add classes AlertDialog, ColorDialog, ColorDialogButton,
  ColumnViewSorter, FileDialog, FontDialog, FontDialogButton,
  enums DialogError, FontLevel
  (Kjell Ahlstedt)

Demos:
* Don't use deprecated API.
  Some demo programs have been renamed.
  (Kjell Ahlstedt)

Build:
* Meson build: Detect if we build from a git subtree
  (William Roy) Merge request !72
* Require gtk4 >= 4.9.1
  (Kjell Ahlstedt)


4.8.0 (stable):

Gtk:
* TextView::get_tabs(): Fix a memory leak
* Add enum ContentFit
* Label: Add set/get/property_tabs()
* Picture: Add set/get/property_content_fit()
  (Kjell Ahlstedt)

Demos:
* Dialog demo: Add a non-modal dialog
  (Kjell Ahlstedt) Issue #123 (PBS)

Documentation:
* Don't translate the preprocessor macro name GDK_MODIFIER_MASK
  (Kjell Ahlstedt) Issue #124 (PBS)

Build:
* Require gtk4 >= 4.7.2
  (Kjell Ahlstedt)


4.7.1 (unstable):

Gdk:
* Add enum Gdk::GLApi, deprecate enum Gdk::GLAPI
  (Kjell Ahlstedt) Issue #113 (PBS)
* Add enum ScrollUnit
* Event: Add get_scroll_unit()
  (Kjell Ahlstedt)

Gtk:
* Allow managed Gtk::Window's
  (Kjell Ahlstedt) Issue #24 (Daniel Elstner)
* Gtk::Object::_release_c_instance(): Unref orphan managed widgets
  (Kjell Ahlstedt) Issue #115 (PBS)
* Entry: Add signal_activate()
  (Kjell Ahlstedt) Issue #100 (RedDocMD)
* Don't derive gtkmm__GtkXxx GTypes from final types
  (Kjell Ahlstedt) Issue glib#2661
* Application: Only create window on first activate
  (Andrew Potter) Merge request !70
* CheckButton: Add set/unset/get/property_child()
* EventControllerScroll: Add get_unit()
* Picture: Deprecate set/get/property_keep_aspect_ratio()
* SearchEntry: Add set/get/property_search_delay()
* DirectoryList, FilterListModel, FlattenListModel, MultiFilter,
  MultiSelection, MultiSorter, NoSelection, SelectionFilterModel,
  ShortcutController, SingleSelection, SliceListModel, SortListModel,
  TreeListModel: Add property_item_type(), property_n_items()
  (Kjell Ahlstedt)
* ApplicationWindow: Disambiguate activate_action()
  (Kjell Ahlstedt) Issue #122 (PBS)
* Add class Inscription
  (Kjell Ahlstedt)
* Widget: Add signal_destroy()
  (Baldvin Kovacs) Merge request !71

Documentation:
* Gdk::Drag, Gdk::Drop, Gtk::Dialog, Gtk::Widget: Improve class descriptions
  (Kjell Ahlstedt)

Build:
* Meson build: Avoid configuration warnings
  (Kjell Ahlstedt)
* Meson build: Fix builds with Vulkan-enabled GTK
  (Chun-wei Fan) Merge request !68
* Require gtk4 >= 4.7.1
  (Kjell Ahlstedt)


4.6.1 (stable):

Gdk:
* Surface::signal_render(): Fix ref count of Cairo::Region
  (Baldvin Kovacs) Merge request !66
* enum GLAPI: Partially fix name clash with epoxy/gl.h
  A complete fix requires new API; will have to wait until gtkmm 4.8
  (Kjell Ahlstedt) Issue #113 (PBS)

Gtk:
* Application::make_window_and_run(): Delay the deletion of Window
  (Kjell Ahlstedt) Issue #114 (PBS)

Build with Meson:
* Don't use deprecated execute(..., gui_app: ...)
  Require meson >= 0.56.0
  (Kjell Ahlstedt) Issue #111
* Check if Perl is required for building documentation
  (Kjell Ahlstedt)


4.6.0 (stable):

Gdk:
* Deprecate Gdk::Cairo::draw_from_gl().
* Display: Add create_gl_context().
* Texture: Add create_from_filename(), create_from_bytes(),
  save_to_png_bytes(), save_to_tiff(), save_to_tiff_bytes().
* GLContext: Deprecate set_use_es() and unset_use_es().
  Add set/get/property_allowed_apis() and get/property_api().
  (Kjell Ahlstedt)

Gtk:
* DropDown: Add set/get/property_show_arrow().
* FlowBox: Add prepend(), append().
* Label: Add set/get/property_natural_wrap_mode().
* MenuButton: Add set/unset/get/property_child().
* Settings: Add property_gtk_hint_font_metrics().
* TextChildAnchor: Add create(replacement_character).
* TextTag: Add properties line_height(), text_transform(),
  word(), sentence(), line_height_set(), text_transform_set(),
  word_set(), sentence_set().
* TreeExpander: Add set/get/property_indent_for_icon().
* Window: Add property_titlebar().
  (Kjell Ahlstedt)

Documentation:
* Gtk::Object: Change deprecated `pack_start` to `append`.
  (LI Daobing) Merge request !65

Build:
* MSVC build: Support Visual Studio 2022.
  NMake Makefiles: Fix header installation.
  (Chun-wei Fan)
* Require pangomm-2.48 >= 2.50.0, gtk4 >= 4.6.0
  (Kjell Ahlstedt)


4.4.0 (stable):

Gdk:
* PixbufAnimation: Add create_from_stream(), create_from_stream_async(),
  create_from_stream_finish(), create_from_resource().
  (Kjell Ahlstedt)
* ContentFormats: Add parse().
  Display: Add prepare_gl().
  GLContext: Deprecate get/property_shared_context(). Add is_shared().
  (Kjell Ahlstedt)

Gtk:
* Add EventControllerLegacy.
  (BogDan Vatra) Merge request !64
* DropDown::get_selected_item(), ListItem::get_item(),
  SingleSelection::get_selected_item(), TreeExpander::get_item(),
  TreeListRow::get_item(): Don't try to dynamic_cast the return value
  to Glib::Object. It fails if the object has been constructed as
  an interface.
  (Kjell Ahlstedt)
* Fixed the const versions of Assistant::get_page(), NoteBook::get_page()
  and Stack::get_page(). Fixed MediaControls::set_media_stream() and
  Video::set_media_stream().
  (Kjell Ahlstedt)
* Application, Window: Swap inclusions. Include window.h in application.h
  instead of application.h in window.h.
  === Note === This will affect compilation of code that uses Application
  without including gtkmm/application.h.
  (Kjell Ahlstedt)
* DropTarget: Deprecate get/property_drop(). Add get/property_current_drop().
  FileFilter: Add add_suffix().
  MediaStream: Deprecate prepared(), unprepared() and ended().
  Add stream_prepared(), stream_unprepared() and stream_ended().
  MenuButton: Add set/get/property_always_show_arrow() and
  set/get/property_primary().
  TextView: Add set/get_rtl_context() and set/get_ltr_context().
  (Kjell Ahlstedt)

Demos:
* Images, SizeGroup, ListStore and TreeStore demos: Minor fixes.
  (Kjell Ahlstedt)
* Add Add ColumnView demo.
  (Kjell Ahlstedt)

Build:
* Require gtk4 >= 4.4.0.
  (Kjell Ahlstedt)


4.2.0 (stable):

Gdk:
* Device: Add get_timestamp().
  PopupLayout: Add set/get_shadow_width().
  Surface: Add property_scale_factor().
  (Kjell Ahlstedt)

Gtk:
* Stack::get_pages(): Return a Gtk::SelectionListModelImpl
  (Kjell Ahlstedt) Issue #92 (Wellington Wallace)
* IconTheme: Add has_gicon().
  Window: Add set/get/property_handle_menubar_accel().
  (Kjell Ahlstedt)
* ShortcutController: Add get_scope(), deprecate the misnamed
  set_scope() overload.
  (Kjell Ahlstedt)

Demos:
* Builder demo: Make the keyboard shortcuts work.
  (Kjell Ahlstedt)

4.0.2 (stable):

Build:
* Meson build: Use relative paths to untracked/
  (Mingli Yu) Merge request !61
* [gdk|gtk]mmconfig.h.*: Don't dllimport on MinGW
  (Chun-wei Fan) Issue #90 (Lukas K.)
* Meson build: Make it possible to use gtkmm as a subproject
  (Kjell Ahlstedt) Merge request !62 (BogDan Vatra)
* Meson build: No implicit_include_directories
  (Kjell Ahlstedt)
* MSVC build: Gtk: Export some classes selectively
  (Chun-wei Fan)


4.0.1 (stable):

The tarball for 4.0.1 has been created with 'meson dist'.
If you build with Autotools from the tarball, please read the relevant
part of the README file.

Gdk:
* TimeCoord: Don't use the deprecated g_memdup()
  (Kjell Ahlstedt)

Gtk:
* ExpressionWatch: Add a missing #include
  (Kjell Ahlstedt) Issue #84 (Alexander Neumann)
* TreeView: Use the GTK_TYPE_TREE_ROW_DATA GType target
  (Kjell Ahlstedt)

Demos:
* Icon browser demo: Fix icon drag-and-drop
  (Kjell Ahlstedt)

Build on Windows:
* Gtk::Expression, ExpressionWatch: Fix __declspec() declarations
  (Chun-wei Fan) Issue #85 (Alexander Neumann)
  (Chun-wei Fan) Merge request !57
* Gtk::TreePath: Export comparison operators
  (Chun-wei Fan) Issue #88 (Patrick Storz)
  (Chun-wei Fan) Merge request !59
* Fix NMake support
  (Chun-wei Fan) Merge request !60


4.0.0 (stable):

This is the first stable release in the gtkmm-4.0 ABI series.
It is parallel-installable with the gtkmm-3.0 ABI.

The tarball for 4.0.0 has been created with 'meson dist'.
If you build with Autotools from the tarball, please read the relevant
part of the README file.

Apart from the changes listed below there are lots of small changes.
Most changes correspond to similar changes in gtk4.

Gdk:
* Event: Removed subclasses
  Add PopupLayout, DragSurface, Popup, Toplevel, ToplevelLayout
  (Kjell Ahlstedt)
* Add ToplevelSize, DragSurfaceImpl, PopupSurfaceImpl, ToplevelSurfaceImpl
  (Kjell Ahlstedt)
* Remove Point
  (Andreas Persson) Merge request !54
* Add MemoryTexture
  (Kjell Ahlstedt)

Gtk:
* Add DropControllerMotion, EventControllerFocus, DragIcon,
  DropTargetAsync, namespace Accelerator
  Remove SelectionData, AccelGroup, namespace AccelMap
  ScaleButton inherits from Widget
  (Kjell Ahlstedt)
* Remove Bin and Container. Affects all classes that inherited from
  those classes.
  Remove Dialog::run(). Affects how modal dialogs are made.
  Application: Remove application menu methods
  (Kjell Ahlstedt)
* Add WindowControls, WindowHandle, EditableLabel, Bitset,
  BitsetConstIter, MultiSelection
  (Kjell Ahlstedt)
* Add ShortcutController, ShortcutManager, Shortcut, ShortcutAction,
  ShortcutTrigger
  (Kjell Ahlstedt) Issue #3 (Chong Kai Xiong)
* Add BuilderScope and BuilderCScope
  (Kjell Ahlstedt) Issue #61 (Daniel Boles)
* Remove Main. Replace Gtk::Main::init_gtkmm_internals() by
  Gtk::init_gtkmm_internals()
  (Kjell Ahlstedt)
* Add DropDown
  (Andreas Persson) Merge request !29, !33
* Add ListView
  (Andreas Persson) Merge request !30
* Add ColumnView
  (Andreas Persson) Merge request !34
* Add the Accessible interface, and make Widget implement it.
  It's a replacement for atk/atkmm.
  (Kjell Ahlstedt)
* Remove AccelLabel
  (Andreas Persson) Merge request !36
* Add TreeListModel and TreeListRow
  (Andreas Persson) Merge request !38
* Add SortListModel and FilterListModel
  (Andreas Persson) Merge request !39
* Remove Native vfuncs as interface is now private
  (Andreas Persson) Merge request !41
* Actionable::get_action_target_value(): Fix ref count
  (Kjell Ahlstedt)
* Remove RadioButton and RadioButtonGroup
  (Kjell Ahlstedt)
* Add GridView
  (Andreas Persson) Merge request !43
* Add FlattenListModel and SliceListModel
  (Andreas Persson) Merge request !45
* Add Expression
  (Andreas Persson) Merge request !40
* Add BoolFilter and MultiSorter
  (Andreas Persson) Merge request !48
* Add MultiFilter, AnyFilter, EveryFilter, SelectionFilterModel,
  DirectoryList, NumericSorter
  (Andreas Persson) Merge request !49, !50, !51, !52
* Application: Add make_window_and_run()
  and remove the run() overloads that take a Window&.
  (Kjell Ahlstedt) Issue #78 (Andreas Persson)
* Remove FileChooserButton
  (Andreas Persson)
* Add TreeExpander
  (Kjell Ahlstedt)

Documentation:
* README: Add instructions for building gtkmm
  (Kjell Ahlstedt)
* ListView: Fix the class description
  (Kjell Ahlstedt) Issue #75
* Explain key values
  (Kjell Ahlstedt) Issue #6 (Mark Vender)

Demos:
* Add listview application launcher demo
  (Andreas Persson) Merge request !42
* Add DropDown demo
  (Andreas Persson) Merge request !46, !55

Tests:
* Add bitset_iterator test
  (Kjell Ahlstedt)

Build:
* Use glibmm-2.68 instead of glibmm-2.64
  Use pangomm-2.48 instead of pangomm-2.44
  (Kjell Ahlstedt)
* Require glibmm >= 2.68.0, pangomm >= 2.48.0 and gtk4 >= 4.0.0
  (Kjell Ahlstedt)
* Drop dependency on Atkmm
  (Kjell Ahlstedt)
* Improve NMake support
  (Chun-wei Fan)
* Use __declspec(dllexport) when building with Visual Studio
  Drop gendef.exe
  (Chun-wei Fan) Merge request !28
* Add support for building gtkmm with Meson
  (Chun-wei Fan, Kjell Ahlstedt) Merge request !27
* docs/reference/: Update for Doxygen >= 1.8.16
  (Kjell Ahlstedt)


3.97.1 (unstable):
Distro packagers should probably not package this yet.
See https://mail.gnome.org/archives/gtkmm-list/2020-January/msg00009.html

Gtkmm 3.97.1 is a C++ binding of gtk 3.98.0.

Apart from the changes listed below there are lots of small changes.
Most changes correspond to similar changes in gtk4.

Gdk:

Gtk:
* Add Text
  (Kjell Ahlstedt)
* Builder: Add returning versions of get_widget[_derived]
  Add get_object<Derived>(name) overloads
  (Daniel Boles) Issue #43, merge request !11
* Builder: Remove old get_widget*() overloads
  (Daniel Boles) Merge request !17
* MenuButton derives from Widget (was ToggleButton)
  Add the Native interface
  Rename GestureMultiPress to GestureClick
  (Kjell Ahlstedt)
* Add Gtk::Constraint, Gtk::ConstraintGuide, Gtk::ConstraintLayout,
  Gtk::ConstraintTarget
  (Kjell Ahlstedt)
* Fix ownership of some GLists
  (Kjell Ahlstedt)
* Add CenterLayout and NoSelection
  (Kjell Ahlstedt)
* Update class hierarchy of AppChooserButton, InfoBar, SrtakcSidebar,
  StackSwitcher
  (Kjell Ahlstedt)
* Add Gtk::Window::unset_titlebar()
  (Kjell Ahlstedt) Issue #57 (Daniel Boles)
* Gtk::Application, Window: Always remove a window from its app when hidden
  (Kjell Ahlstedt) Issue #56 (Daniel Boles)
* Remove ModelButton
  Builder: The gtkmm__ prefix must sometimes (but rarely) be used in
  the .ui file. See the description of get_widget_derived().
  (Kjell Ahlstedt)
* Remove CheckMenuItem, Menu, MenuBar, MenuItem, MenuShell,
  RadioMenuItem, SeparatorMenuItem.
  Add Gtk::PopoverMenuBar, replaces the removed MenuBar
  (Kjell Ahlstedt)
* Remove old drag-and-drop API.
  Add Gtk::DragSource, DropTarget.
  (Kjell Ahlstedt)
* Remove WidgetPath
  Rename IconInfo to IconPaintable
  (Kjell Ahlstedt)
* Remove MenuToolButton, RadioToolButton, SeparatorToolItem,
  ToggleToolButton, Toolbar, ToolButton, ToolItem, ToolShell.
  Use Box instead of Toolbar, Button instead of ToolButton, etc.
  Add Gtk::EmojiChooser
  (Kjell Ahlstedt)

Demos, tests:
* Update many demo programs and test programs.
  (Kjell Ahlstedt, Daniel Boles)

Documentation:
* Gtk::TreeView::append_column() doc: Add code example
  (Pavlo Solntsev) Merge request !21
* Many improvements
  (Kjell Ahlstedt, Daniel Boles)

Build:
* Merge libgdkmm-4.0 and libgtkmm-4.0 into one library.
  (Kjell Ahlstedt) Issue #48
* Visual Studio Build: Build gdkmm into gtkmm
  (Chun-wei Fan) Merge request !20
* Use glibmm-2.64 instead of glibmm-2.62
  Require gtk4 >= 3.98.0
  (Kjell Ahlstedt)


3.95.1 (unstable):
Distro packagers should probably not package this yet.
Gtkmm 3.95.1 is a C++ binding of gtk 3.96.0.

Gdk:
* Add GLTexture, Paintable, Snapshot
  Texture implements the Paintable interface
  (Kjell Ahlstedt)
* Gdk::Window has been renamed to Surface
  (Kjell Ahlstedt)
* Remove Gdk::Cairo::create_surface_from_pixbuf().
  DrawingContext: Remove get_surface(), is_valid() and
    get_drawing_context_from_cairo_context().
  Surface: Remove create_similar_image_surface().
  (Kjell Ahlstedt)
* Add CairoContext. Remove DrawingContext.
  DrawContext: Add begin_frame(), end_frame(), is_in_frame()
    and get_frame_region().
  GLContext: Remove get_damage().
  Surface: Remove begin_draw_frame() and end_draw_frame().
    They have been moved to DrawContext.
    Add queue_expose() and create_cairo_context().
  (Kjell Ahlstedt)
* Remove DragContext::drop_reply().
  (Kjell Ahlstedt)
* DragContext: Add enum DragCancelReason.
    Add drag_drop_done(), get_drag_surface(), get_display().
    Add properties and signals.
  Mnitor: Add signal_invalidate().
  Texture: Add save_to_png().
  (Kjell Ahlstedt)
* Add Drop and move some methods there from DragContext.
  Replace EventDND::get_drag_context() by EventDND::get_drop().
  Surface: Remove get/set_events() and get/set_device_events().
  (Kjell Ahlstedt)
* Clipboard, Drop: Add read_async() and read_finish()
  (Kjell Ahlstedt)
* Rename DragContext to Drag
  (Kjell Ahlstedt)
* Drag: Remove get_suggested_action() and signal_action_changed().
    Add property_selected_action(), property_actions(), property_surface().
  Remove EventExpose.
  Surface: Remove withdraw(). Add move_to_rect(), signal_move_to_rect(),
    signal_size_changed(), signal_render(), property_mapped().
  (Kjell Ahlstedt)
* Drag: Move set_icon_name() and set_icon() to the new Gtk::DnD namespace.
  (Kjell Ahlstedt)
* RGBA: Add a constructor RGBA(double r, g, b, a)
  (Daniel Boles) Issue #40
* RGBA::set_hsv(): Properly interpret hue 360° as red
  (Daniel Boles) Issue #42
* Add DevicePad and DeviceWithPad
  (Kjell Ahlstedt)
* Device: Remove warp(), get_position(int& x, int& y),
    get_surface_at_position(int& x, int& y).
    Add get_surface_at_position(double& x, double& y).
  Surface: Remove set_role(),
    get_device_position(..., int& x, int& y, ...),
    set/get_group(), invalidate_rect(), invalidate(),
    invalidate_region(), set_skip_taskbar_hint(),
    set_skip_pager_hint(), set_urgency_hint().
    Add property_frame_clock().
  (Kjell Ahlstedt)

Gtk:
* Object::_release_c_instance(): Don't release if in a container
  (Kjell Ahlstedt) Bug #773642 comments 20-22
* Entry: Remove set/get_cursor_hadjustment()
  (Kjell Ahlstedt)
* Expander: Remove get/set/property_label_fill().
  (Kjell Ahlstedt)
* Overlay: Add get/set_measure_overlay() and child_property_measure().
  (Kjell Ahlstedt)
* Settings: Remove property_gtk_modules().
  (Kjell Ahlstedt)
* Widget: Add two drag_source_set_icon() overloads
  (Kjell Ahlstedt)
* Remove WidgetCustomDraw and WidgetCustomSnapshot.
  Snapshot: Add clips_rect(const graphene_rect_t*).
  Widget: Remove queue_draw_area(), queue_draw_region(),
    get_clip(), draw() and set_realized().
  (Kjell Ahlstedt)
* Snapshot: Remove push() and clips_rect(). Add create() and push_debug().
    Add append_texture() and append_cairo().
    Only push_debug() has a 'name' parameter.
  (Kjell Ahlstedt)
* Remove Scrollbar::get_wheel_delta().
  (Kjell Ahlstedt)
* Add EventControllerKey, EventControllerMotion and EventControllerScroll.
  Widget: Remove signal_key_[press|release]_event().
  Widget: Add add_controller() and remove_controller().
  (Kjell Ahlstedt)
* Image: Add more constructors
  (Kjell Ahlstedt) Issue #35 (Daniel Boles)
* Container: Add signal_set_focus_child().
  FontChooser: Add set_language().
  Printer: Add get_hard_margins(const PaperSize& ...).
  SearchBar: Add set/unset/get_key_capture_widget().
  SearchEntry: Add set/unset/get_key_capture_widget().
  (Kjell Ahlstedt)
* Image: Remove set/get/property_keep_aspect_ratio() and
    set/get/property_can_shrink().
  (Kjell Ahlstedt)
* Add Picture and WidgetPaintable
  (Kjell Ahlstedt)
* StackSwitcher: Remove property_icon_size().
  StyleContext]: Remove set/get/property_frame_clock().
  (Kjell Ahlstedt)
* Add MediaControls, MediaFile, MediaStream and Video
  (Kjell Ahlstedt)
* StyleContext: Remove render_slider().
  (Kjell Ahlstedt)
* Add Gtk::GestureStylus
  (Kjell Ahlstedt)
* CssProvider: Remove get_default().
  Menu: Remove 3 popup() overloads.
  StyleContext: Remove render_frame_gap().
  (Kjell Ahlstedt)
* Add namespace Gtk::DnD.
  Widget: Move drag_get_source_widget() and drag_set_as_icon() to Gtk::DnD.
    Add drag_dest_[set|get]_track_motion() and
    drag_source_[set|get]_target_list().
  (Kjell Ahlstedt)
* Container: Remove has/get/set/unset_focus_chain()
  (Kjell Ahlstedt)
* Window: Move to a proper get_accel_groups()
  (Daniel Boles) Bug #784390 = Issue #18 (Maurice van der Pot)
* Add Gtk::make_managed<T>(args...)
  (Daniel Boles) Bug #795816 = Issue #33
* Application: Add property_screensaver_active().
  Widget: Add observe_children(), observe_controllers().
    Remove signal_event(), intersect().
  Window: Add get_toplevels().
  (Kjell Ahlstedt)
* ModelButton: Fix property_icon(). Add property_use_markup().
  Tooltip: Remove trigger_tooltip_query()
  (Kjell Ahlstedt)
* ActionBar: Remove child_property_position().
  Box: Remove pack_start(), pack_end(), reorder_child().
    Add insert_child_after(), insert_child_at_start(),
    reorder_child_after(), reorder_child_at_start().
  ComboBox: Remove set/get/property_wrap_width(),
    set/get/property_row_span_column(),
    set/get/property_column_span_column().
  Menu: Remove attach().
  Widget: Replace the insert_before/after() overloads without
    a sibling parameter with insert_at_start() and insert_at_end().
    Add set_expand().
  (Kjell Ahlstedt)
* Remove all child properties.
  (Kjell Ahlstedt)
* Remove ButtonBox, Invisible, Layout.
  Add AssistantPage, StackPage, NotebookPage, Root, SelectionModel,
  SingleSelection, PadController, PadActionEntry, PasswordEntry,
  LayoutManager, LayoutChild, BinLayout, BoxLayout, GridLayout,
  GridLayoutChild, CssLocation
  (Kjell Ahlstedt)
* Assistant: Remove set/get_has_padding().
  Container: Remove check_resize() and signal_check_resize().
  (Kjell Ahlstedt)
* Entry: Remove signal_activate().
  Add property_enable_emoji_completion().
  (Kjell Ahlstedt)
* Entry, SpinButton: Remove set/get_text(), set/get_width_chars()
    and set/get_max_width_chars().
* Add the GTKMM_CHECK_VERSION() preprocessor macro
  and remove macros that check the GTK version. Issue #5
  (Kjell Ahlstedt) Bug #580302 = Issue #5 (Hubert Figuière)
* EventControllerKey: Add get_focus_origin/target(),
    property_is_focus(), property_contains_focus().
  EventControllerMotion: Add get_pointer_origin/target(),
    property_is_pointer_focus(), property_contains_pointer_focus().
  Widget: Add get_focus_child(). Remove signal_focus().
  Window: Remove signal_set_focus().
  (Kjell Ahlstedt)
* Application: Add signal_query_end().
  SearchEntry.hg: Add property_placeholder_text(),
    property_actives_default().
  ToolItem: Add property_expand_item(), property_homogeneous().
  Window: Remove set/get/property_role(),
    set/get/property_gravity(), move(), get_position().
  (Kjell Ahlstedt)
* CssProvider: Replace CssProviderError by CssParserError and
    CssParserWarning. Replace get_named() by load_named().
  CssSection: Remove enum CssSection::Type. Add create()
    and to_string(). Replace get_[start|ned]_[line|position]() by
    get_[start|end]_location().
  ListBox: Add set/get/property_show_separators().
  MenuBar.hg: Remove enum PackDirection.
    Remove set/get/property_pack_direction(),
    set/get/property_child_pack_direction().
  Widget: Replace set/get/property_can_pick() by
    set/get/property_can_target(). Remove set/get_parent_surface().
  Window: Remove set/get/property_skip_taskbar_hint(),
    set/get/property_skip_pager_hint(),
    set/get/property_urgency_hint().
  (Kjell Ahlstedt)
* Menu: Remove set_display().
  Popover.hg: Add property_default_widget().
  Widget: Remove set/get/property_can_default(), grab_default(),
    signal_display_changed().
    Add activate_action(), activate_default().
  Window: Remove activate_focus(), activate_default().
    Add property_default_widget().
    Rename set_default() to set_default_widget(),
    unset_default() to unset_default_widget().
  (Kjell Ahlstedt)

Demos:
* Update many demo programs.

Documentation:
* Use libsigc++-3.0.tag for libsigc++ documentation
  (Kjell Ahlstedt)
* Many improvements
  (Kjell Ahlstedt, Daniel Boles)

Build:
* Require C++17
  (Murray Cumming)
* Replace the Visual Studio project files with MSVC NMake project files
  (Chun-wei Fan) Merge request !1
* Use glibmm-2.62 instead of glibmm-2.56,
    atkmm-2.30 instead of atkmm-2.28,
    pangomm-2.44 instead of pangomm-2.42,
    gtk4 instead of gtk+-4.0.
  Require gtk4 >= 3.96.0
  (Kjell Ahlstedt)


3.93.0 (unstable):
Distro packagers should probably not package this yet.

Gtk:
* AboutDialog:
  - Add set/get/property_system_information().
  - Remove unset_license(). Can now be unset with set_license("").
  (Kjell Ahlstedt)
* AccelGroup: Remove signal_accel_activate().
  (Kjell Ahlstedt)
* ButtonBox: Add property_secondary() and
  property_non_homogeneous().
  (Kjell Ahlstedt)
* Clipboard: Remove, replaced by Gdk::Clipboard.
  (Kjell Ahlstedt)
* Entry: Add property_show_emoji_icon().
  (Kjell Ahlstedt)
* FlowBox: Add get_child_at_pos().
  (Kjell Ahlstedt)
* FontButton:
  - Remove set/get/property_font_name().
  - Remove show_style and show_size.
  (Kjell Ahlstedt)
* FontButton: Remove show_style and show_size.
* FontChooser: Add the Gtk::FontChooser::Level enum and
  set/get/property_level(), get/property_font_features(),
  get/property_language().
  (Kjell Ahlstedt)
* InfoBar: Add set/get/property_revealed().
  (Kjell Ahlstedt)
* ListBox: Add property_accept_unpaired_release().
  (Kjell Ahlstedt)
* ListBox: Add property_accept_unpaired_release().
  (Kjell Ahlstedt)
* ListBoxRow: Implement the Gtk::Actionable interface.
  (Kjell Ahlstedt)
* MenuItem: Fix add_accel_label()
  (Christian Schoenebeck)
* Remove RecentFileChooser, RecentChooserDialog, RecentChooserMenu,
  (Kjell Ahlstedt)
  RecentChooserWidget and RecentFilter.
  (Kjell Ahlstedt)
* Remove Screen.
  (Kjell Ahlstedt)
* SelectionData: Add set/get_surface(). Remove the non-const
  get_pixbuf() and let the const get_pixbuf() return a non-const Pixbuf.
  (Kjell Ahlstedt)
* TargetList: Remove, replaced by Gdk::ContentFormats.
  (Kjell Ahlstedt)
* TextTag: Remove event() and signal_event().
  (Kjell Ahlstedt)
* Add Gdk::Texture.
  (Kjell Ahlstedt)
* Remove ToolItemGroup and ToolPalette.
  (Kjell Ahlstedt)
* Remove Visual.
  (Kjell Ahlstedt)
* Widget: Remove show_now().
  (Kjell Ahlstedt)
* Window:
  - Add get_frame_clock().
  (Kjell Ahlstedt)
  - Add show_uri().
  (Daniel Boles) Bug #787242

Gdk:
* Add Gdk::DeviceTool
  (Kjell Ahlstedt)
* Add Gkd::Clipboard.
  (Kjell Ahlstedt)
* Add ContentFormats.
* ContentFormatsBuilder: Add operator bool().
  (Kjell Ahlstedt)
* Add ContentProvider.
  (Kjell Ahlstedt)
* Device: Add signal_tool_chaged() and property_tool().
  (Kjell Ahlstedt)
* Remove Gdk::DeviceManager.
  (Kjell Ahlstedt)
* DrawingContext: Add property_clip().
  (Kjell Ahlstedt)
* Display:
  - Remove supports_cursor_alpha(), supports_cursor_color(),
  get_default_cursor_size(), get_maximal_cursor_size().
  - Add signal_setting_changed().
  (Kjell Ahlstedt)
* Event
  - Inherit from Glib::Object.
  - Add set/get_device() and set/get_source_device().
  - Move get_device() to the base Event class.
  (Kjell Ahlstedt)
* EventButton: Add get_device_tool().
  (Kjell Ahlstedt)
* EventMotion: Add get_device_tool().
  (Kjell Ahlstedt)
* Add FrameClock and FrameTimings.
  (Kjell Ahlstedt)
* GLArea: Remove get/set/property_has_alpha().
  (Kjell Ahlstedt)
* GLContext: Add unset_use_es().
  (Kjell Ahlstedt) Bug #787898
* IconInfo: Inherit from Glib::Object.
  (Kjell Ahlstedt)
* Menu: Add place_on_monitor().
  (Kjell Ahlstedt)
* MenuButton: Add set_popup().
  (Kjell Ahlstedt)
* Overlay: Add child_property_blur().
  (Kjell Ahlstedt)
* Remove PlacesSidebar.
  (Kjell Ahlstedt)
* RGBA: Add is_clear() and is_opaque().
  (Kjell Ahlstedt)
* StyleContext: Add set/get_frame_clock().
  (Kjell Ahlstedt)
, Widget:
  - Add get_frame_clock(), add_tick_callback() and
  remove_tick_callback().
  - Remove all event signals except signal_event(),
    signal_key_press_event() and signal_key_release_event().
  (Kjell Ahlstedt)
* Texture: Add create_for_gl() and release_gl().
  (Kjell Ahlstedt)
* Window:
  - Remove add/remove_filter().
  - Add set/get/property_hide_on_close() and signal_close_request().
  (Kjell Ahlstedt)

Documentation:
* Update the Menus demo.
  (Kjell Ahlstedt)
* Pixbufs demo: Use Gdk::FrameClock.
  (Kjell Ahlstedt)
* Fix the Change Display demo.
  (Kjell Ahlstedt)
* Update the Image demo.
  (Kjell Ahlstedt)
* Update the DrawingArea demo.
  (Kjell Ahlstedt)
* IconTheme, SelectionData: Add class documentation.
  (Kjell Ahlstedt)
* Widget: Document drag_dest_set(Gtk::DestDefaults, Gdk::DragAction).
  (Kjell Ahlstedt)


3.91.2 (unstable):
Distro packagers should probably not package this yet.

Gtk:
* Use Gdk::Event instead of GdkEvent
  (Kjell Ahlstedt) Bug #135978
* Gtk::[App|File|Font|Recent]ChooserWidget: Inherit from Widget.
  (Kjell Ahlstedt)
* AccelLabel:
  - Inherit from Widget.
  - Add set/get/property_label() and set/get/property_use_underline().
  - Make get_accel() const.
  (Kjell Ahlstedt)
* ActionBar: Inherit from Container, ad child properties and
  set/get/property_revealed().
  (Kjell Ahlstedt)
* AspectFrame: set(): Remove default value of obey_child.
  (Kjell Ahlstedt)
* Add CenterBox.
  (Kjell Ahlstedt)
* Box: pack_end(): Don't call a pack_start() method.
  (Murray Cumming) Bug #784118 (Marc Micalizzi)
* CellRenderer:
  - get_aligned_area(): Return value instead of using an
  output parameter.
  - Add implementation of the get_state() overload without a Widget parameter.
  (Kjell Ahlstedt)
* CheckMenuItem: Remove snapshot_indicator_vfunc().
  (Kjell Ahlstedt)
* ColorButton, Statusbar: Inherit from Widget.
  (Kjell Ahlstedt)
* ComboBox and Scale: Fix signals that return a gchar*.
  (Kjell Ahlstedt) Bug #783360
* Container: Remove propagate_draw().
  (Murray Cumming)
* Expander: Inherit from Container.
  (Kjell Ahlstedt)
* Editable and RecentChooser: Plug memory leaks in vfuncs.
  (Kjell Ahlstedt)
* FileChooserButton, FontButton: Inherit from Widget.
  (Kjell Ahlstedt)
* FileFilter, RecentFilter, TextTagTable, TreeViewColumn: Implement Buildable.
  (Kjell Ahlstedt)
* Remove EventBox.
  GtkEventBox has been removed from gtk+. All widgets can now receive events.
  (Kjell Ahlstedt)
* Gesture: Remove get/set/unset_window() and property.
  (Kjell Ahlstedt)
* IconView: Remove convert_widget_to_bin_window_coords().
  (Kjell Ahlstedt)
* Layout: remove get_bin_window().
  (Kjell Ahlstedt)
* Add NativeDialog and FileChooserNative.
  (Kjell Ahlstedt) Bug #783801
* PaperSize: Throw exception from a constructor.
  (Kjell Ahlstedt)
* PaperSizeTraits: Implement release_c_type() to fix memory leak.
  (Kjell Ahlstedt)
* Paned: Remove get_handle_window().
  (Kjell Ahlstedt)
* PrintJob: Fix a call to Glib::throw_exception().
  (Kjell Ahlstedt)
* Range: Remove get/set/property_lower_stepper_sensitivity() and
  get/set/property_upper_stepper_sensitivity().
  (Kjell Ahlstedt)
* Range, ScaleButton: Use RefPtr<Adjustment> consistently.
  (Kjell Ahlstedt)
* ResponseType enum: Make this implicitly convertible to int.
  (Kjell Ahlstedt)
* Scale:
  - Remove calc_digits_().
  - Remove draw_value_vfunc().
  (Kjell Ahlstedt)
* Scrollbar:
  - Inherit from Widget.
  - Implement the Orientable interface.
  - Add set/unset/get/property_adjustment() and get_wheel_delta().
  (Kjell Ahlstedt)
* Settings: Implement StyleProvider.
  (Kjell Ahlstedt)
* Spinbutton:
  - Inherit from Widget.
  - Implement the Orientable and Editable interfaces.
  - Add set/get/property_text(), set/get/property_width_chars() and
    set/get/property_max_width_chars().
  - Make a constructor explicit and add documentation.
  (Kjell Ahlstedt)
  - SpinButton: signal_input: Pass double&, not double*.
  (Daniel Boles) Bug #783136
* Remove StyleProperty.
  (Kjell Ahlstedt)
* StyleContext: Remove get_style_property() and get_style_property_value().
  (Kjell Ahlstedt)
* ToolItem: Remove set/get_use_drag_window().
  (Murray Cumming)
* TreeModelFilter, TreeModelSort: Implement TreeDragSource.
  (Kjell Ahlstedt)
* Widget:
  - Remove set_redraw_on_allocate().
  - Remove set_allocation(), set_clip(), get_style_property(), transform_cairo_context_to_window(),
    queue_draw_region_vfunc() and queue_draw_child_vfunc().
  - Add new parameters to size_allocate() and signal_size_allocate() handlers.
  - Add insert_before() and insert_after().
  - Remove property_events().
  (Kjell Ahlstedt)
  - Remove get/set/add events()/device_events().
  (Murray Cumming)

Gdk:
* Cursor: Make get_image() and get_surface() const-correct.
  (Kjell Ahlstedt)
* Pixbuf: Implement Gio::LoadableIcon
  (Kjell Ahlstedt)
* Point: Fix copy assignment.
  (Kjell Ahlstedt)
* Rectangle: Add contains_point().
  (Kjell Ahlstedt)
* Screen: Remove get_root_window().
  (Kjell Ahlstedt)
* Window: Remove get_default_root_window() and create_input().
  (Kjell Ahlstedt)

Build:
* Use glibmm-2.56 instead of glibmm-2.54.
  We changed the ABI name in glibmm.
  (Murray Cumming)
* enums: Shadow DELETE macro
  Like in event.hg, the DELETE macro from winnt.h interferes with an enumerator.
  (Kjell Ahlstedt) Bug #135978


3.91.0 (unstable):
Distro packagers should probably not package this yet.

Gdk:
* Improve Gdk::Event, creating a class hierarchy.
  (Mark Vender, Kjell Ahlstedt) Bug #135978
* Cursor: Change CursorType to Cursor::Type.
  (Murray Cumming)
* Device: Change DeviceType to Cursor::Type.
  (Murray Cumming)
* Pixbuf:
  - Remove AlphaMode enum.
  - Change PixbufRotation to Pixbuf::Rotation.
  (Murray Cumming)
* Seat: Change SeatCapabilities to Seat::Capabilities.
  (Murray Cumming)
* Visual: Change VisualType to Visual::Type.
  (Murray Cumming)
* Window:
  - Change WindowHints to Window::Hints.
  - Change WindowTypeHint to Window::TypeHint.
  - Change WindowType to Window::Type.
  - Change WindowState to Window::State.
  (Murray Cumming)

Gtk:
* Assistant: Change AssistantPageType to Assistant::PageType.
  (Murray Cumming)
* Box: pack_start/pack_end(): Reimplement with new GTK+ API.
  (GtkWidget halign and hexpand properties.
  The gtk_box_pack_start() and gtk_box_pack_end() functions no longer
  have the expand and fill arguments.
  We might remove these parameters later too.
  Be careful that the default behaviour of pack_start/pack_end() has now
  changed.
  - Make PackOptions an enum class, for stricter type checking.
  (Murray Cumming)
* Builder::get_widget_derived(): Make this static.
  To avoid the need to create a shared_ptr to this.
  (Murray Cumming) Bug #755037
* ButtonBox: Remove apparently-useless BUTTONBOX_DEFAULT_SPACING.
  (Murray Cumming)
* Application: Change ApplicationInhibitFlags to Application::InhibitFlags.
  (Murray Cumming)
* Calendar: Change CalendarDisplayOptions to Calendar::Display::Options.
  (Murray Cumming)
* CellRendererAccel: Change CellRendererAccelMode to CellRendererAccel::Mode.
  (Murray Cumming)
* CssSection: Change CssSectionType to CssSection::Typewq.
  (Murray Cumming)
* Container:
  - forall_vfunc(): Remove include_internals parameter.
  - Remove set_focus_child(), get_focus_child(), etc.
  (Murray Cumming)
* Entry: Change EntryIconPosition to Entry::IconPosition.
  (Murray Cumming)
* FileFilter: Change FileFilterFlags to FileFilter::Flags.
  (Murray Cumming)
* FileChooser:
  - Change FileChooserConfirmation to FileChooser::Confirmation.
  - Change FileChooserAction to FileChooser::Action.
  (Murray Cumming)
* IconView: change IconViewDropPosition to IconView::DropPosition.
  (Murray Cumming)
* Image: Change ImageType to Image::Type.
  (Murray Cumming)
* Label: Remove get/set_angle() and property.
  (Murray Cumming)
* LevelBar: Change LevelBarMode to LevelBar::Mode.
  (Murray Cumming)
* Notebook: Remove NotebookTab enum.
  (Murray Cumming)
* Popover: Change PopoverConstraint to Popover::Constraint.
  (Murray Cumming)
* PrintOperation:
  - Change PrintOperationAction to PrintOperation::Action.
  - Change PrintOperationResult to PrintOperation::Result.
  (Murray Cumming)
* Range: Derive from (and implement) Orientable.
  (Muray Cumming) Bug #781655 (Daniel Boles)
* RecentFilter: Change RecentFilterFlags to RecentFilter::Flags.
  (Murray Cumming)
* Scrollable: Change ScrollablePolicy to Scrollable::Policy.
  (Murray Cumming)
* ShortcutsShortcut: Derive directly from Widget.
  (Kjell Ahlstedt)
* SizeGroup: Rename SizeGroupMode enum to SizeGroup::Mode.
  (Murray Cumming)
* SpinButton:
  - Change SpinButtonUpdatePolicy to SpinButton::UpdatePolicy.
  - Move INPUT_ERROR constant into class.
  (Murray Cumming)
* TextConstIter (TextModel::const_iterator): Add a default constructor.
  (Murray Cumming)
* TextMark: Avoid creating a RefPtr to this.
  By adding a private TextBuffer::get_iter_at_mark()
  (Murray Cumming) Bug #755037#c21
* TreeModel: Change TreeModelFlags to TreeModel::Flags.
  (Murray Cumming)
* TreeView:
  - Change TreeViewGridLines to GridLines.
  - Change TreeViewDropPosition to TreeView::DropPosition.
  (Murray Cumming)
* TreeViewColumn: Change TreeViewColumnSizing to TreeViewColumn::Sizing.
  (Murray Cumming)
* Widget:
  - Remove get_preferred_width() etc.
  (Kjell Ahlstedt)
  - Remove get/set_center_widget().
  (Murray Cumming)
* Window:
  - Remove get/set_hide_titlebar_when_maximized().
  - Remove has_toplevel_focus() and property.
  (Murray Cumming)

Documentation:
* Gtk::CellLayout: Improve docs of get_first_cell() funcs.
  (Daniel Boles)
* Gtk::TreeModel: Improve docs of foreach*() functions.
  (Daniel Boles)
* Gdk, Gtk: Update documentation of in-class enums.
  (Kjell Ahlstedt)
* Demos:
  - Fix make check after changes in Glib::SignalProxy::connect()
  (Kjell Ahlstedt) Bug 126213
  - Adapt to changed Box::pack_start/pack_end() behaviour.
  For instance: Specify EXPAND_WIDGET, where we previously
  used the default value.
  (Murray Cumming)
* Builder demo: Remove "expand" child property from the .ui file
  Because it has been removed from GtkBox. Expand the ScrolledWindow.
  (Kjell Ahlstedt)

Build:
* Adapt to cairomm and glibmm enum changes.
  (Murray Cumming)
* Adapt dynamic casts for RefPtr as std::shared_ptr.
  (Murray Cumming)
* Visual Studio builds: Update glibmm ABI version.
  (Chun-wei Fan)


3.89.5.1 (unstable):
Distro packagers should probably not package this yet.

Gdk
* Pixbuf: get_pixels(): Const corrections.
  (Murray Cumming)

Gtk:
* FileChooserDialog:
  - Allow constructing with use-header-bar.
  - Remove constructors that take a backend parameter.
  (Daniel Boles) Bug #780004
* TreeView: More use of TreeModel::const_iterator instead of iterator,
  where appropriate.
  (Murray Cumming)

Build:
* Use glibmm-2.54 instead of glibmm-2.52.


3.89.5 (unstable):
Distro packagers should probably not package this yet.

Gtk:
* AboutDialog: Add a constructor with a use_header_bar parameter.
  Bug #780004 (Daniel Boles)
* AccelMap: Change accel_path method paramters from std::string to Glib::ustring,
  because there are always UTF-8.
  (Kjell Ahlstedt)
* Assistant: Add child properties and a constructor with use_header_bar.
  (Kjell Ahlstedt)
* Dialog: Simplify the constructors: Remove constructors that take DialogFlags.
  Add an optional use_header_bar parameter to the other constuctors. There is
  now no way to specify the GTK_DIALOG_DESTROY_WITH_PARENT flag,
  but hopefully this is not used much anyway.
  Bug #780004 (Daniel Boles)
* ScaleButton: Let get_[plus,minus]_button() return Button*.
  (Kjell Ahlstedt)
* Move PageRange out of PageSettings.
  (Kjell Ahlstedt)
* RecentManager: Remove unused SlotChanged
  (Kjell Ahlstedt)
* TreeIter<> (TreeModel::iterator/const-iterator): Fix operator==() and operator!=()
  comparisons of const and non-const iterators.
  (Kjell Ahlstedt) Bug #134520
* TreeModel: Use const_iterator for some vfunc parameters.
  (Murray Cumming)
* TreeModel::Path::get_from_selection_data(): Make the TreeModel parameter
  const.
  (Kjell Ahlstedt)
* Tree*, ComboBox*: Change some parameters to const_iterator.
  (Murray Cumming)
* Widget: Remove get_valign_with_baseline().
  (Kjell Ahlstedt)

Gdk:
* Pixbuf:
  - Throw exception from ctor instead of creating invalid object.
  - add get_pixels().
* RGBA: Add alpha parameter to set_hsv() and set_hsl()
  (Kjell Ahlstedt)
* Window: constrain_size(): change the flags parameter from guint to WindowHints.
  (Kjell Ahlstedt)

Build:
* Visual Studio builds: Require Visual Studio 2017.
  (Chun-wei Fan)


3.89.4: (unstable)
Distro packagers should probably not package this yet.

Gtk:
* Add Gtk::WidgetCustomDraw and WidgetCustomSnapshot.
  These make it possible to use signal_draw() and snapshot_vfunc() in gtkmm
  without modification of gtk+.
  (Kjell Ahlstedt) Bug #775348. See also gtk+ bug 774778.
* Add Gtk::Snapshot.
  (Kjell Ahlstedt)
* Application: Remove create() method with argc,argv arguments.
  https://mail.gnome.org/archives/gtkmm-list/2017-February/msg00000.html
  (Kjell Ahlstedt)
* CellArea: Add snapshot() and snapshot_vfunc().
  (Kjell Ahlstedt)
* CellRenderer: Add snapshot() and snapshot_vfunc().
  (Kjell Ahlstedt)
* CellArea: Remove property_cell_area() and the constructor
  that takes a CellArea parameter.
  (Kjell Ahlstedt)
* CheckButton: Remove draw_indicator_vfunc().
  (Kjell Ahlstedt)
* CheckMenuItem: Add snapshot_indicator_vfunc().
  (Kjell Ahlstedt)
* Container: Remove show_all_children().
  (Widgets are now visible by default, unlike in gtkmm 3.)
  (Kjell Ahlstedt)
* Main:
  - Remove constructors that take (argc,argv) parameters.
  (Kjell Ahlstedt)
  - Remove add_gtk_option_group().
  (Kjell Ahlstedt)
* ToggleButton:
  - Move set/get_inconsistent() to CheckButton.
  - Move set/get_mode() to CheckButton, renaming it to set/get_draw_indicator().
  (Kjell Ahlstedt)
* Widget:
  - Add get_first_child(), get_last_child(), get_next_sibling(),
  get_prev_sibling(), snapshot_child(). Add property_css_name().
  (Kjell Ahlstedt)
  - Add compute_expand_vfunc(), queue_draw_region_vfunc(),
  queue_draw_child_vfunc().
  (Kjell Ahlstedt)
  - Remove show_all(), set/get_no_show_all(), show_all_vfunc(),
  property_no_show_all().
  (Widgets are now visible by default, unlike in gtkmm 3.)
  (Kjell Ahlstedt)
* Adapt various implementation code to changed GTK+ API.
  (Kjell Ahlstedt)


3.89.3: (unstable)
Distro packagers should probably not package this yet.

Gtk:
* Grid: attach(): Add default values.
  (Kjell Ahlstedt)
* TextIter:
  - TextIter: Make a real const_iterator
  (Kjell Ahlstedt) Bug #142126
  - forward/backward_find_char(): Take a sigc::slot
  instead of a function pointer.
  (Kjell Ahlstedt)

Documentation:
* Demos: Remove obsolete text from the TextView demo
  (Kjell Ahlstedt)


3.89.2: (unstable)
Distro packagers should probably not package this yet.

Gtk:
* Application: Set the global locale.
  (Kjell Ahlstedt) Bug #661588
* CellArea, CellRenderer, CheckMenuItem: Remove render functions.
  (Kjell Ahlstedt)
* CellView: Remove Remove property_background(),
  property_background_rgba() and property_background_set(),
  and set_background_rgba().
  (Kjell Ahlstedt)
* Container:
  - forall_vfunc(): Take a sigc::slot instead of a function pointer.
  - get_child_property_vfunc() and set_child_property_vfunc(): Take
    Gtk::Widget* and Glib::ValueBase& instead of GtkWidget* and GValue*.
  - Add get_path_for_child_vfunc().
  (Kjell Ahlstedt) Bug #670204
* IconInfo: Rename load_symbolic(context) to load_symbolic_for_context().
  (Kjell Ahlstedt)
* LevelBar: Implement the Orientable interface.
  (Kjell Ahlstedt)
* PlacesSidebar: signal_populate_popup(): Change Menu* parameter
  to Container*.
  (Kjell Ahlstedt)
* RecentChooser: get_recent_manager_vfunc(): Fix refcounting.
  (Kjell Ahlstedt)
* Scrollable: Add get_border_vfunc().
  (Kjell Ahlstedt)
* ToolBar: Implement the Orientable interface.
  (Kjell Ahlstedt)
* ToolShell: Add some vfuncs and make most others const.
  (Kjell Ahlstedt)
* StyleContext:
  - Remove set/get_junction_sides().
  - Remove get_background_color() and
    get_border_color().
  (Kjell Ahlstedt)
* TextView: signal_populate_popup(): Change Menu* parameter
  to Container*.
  (Kjell Ahlstedt)
* TreeIter: Make a real const_iterator.
  (Kjell Ahlstedt) Bug #134520
* TreeModelFilter, TreeModelSort: Add const method overloads.
  (Kjell Ahlstedt) Bug #134520
* TreeSelection: Add const versions of get_selected().
  (Kjell Ahlstedt) Bug #94742
* TreeView: Remove get_bin_window().
  (Kjell Ahlstedt)
* TreeRow, TreeNodeChilren: Make real const versions.
  (Kjell Ahlstedt) Bug #134520
* ViewPort: Remove get_bin_window() and get_view_window().
  (Kjell Ahlstedt)
* Widget:
  - Remove get_style_property_value().
  (Kjell Ahlstedt)
  - Add set_margin().
  - Remove get_preferred_height_for_width() that takes a baseline.
  (Murray Cumming)

Gdk:
* Device: Remove grab() and ungrab().
  (Kjell Ahlstedt)
* DeviceManager: Remove list_devices().
* Display:
  - Add is_composited() and is_rgba().
  - Remove get_device_manager().
  (Kjell Ahlstedt)
* Add DrawContext.
  (Kjell Ahlstedt)
* DrawingContext: Add get_paint_context() and property_paint_context().
  (Kjell Ahlstedt)
* GLContext:
  - Derive from DrawContext.
  - Add get_damage().
  - Remove property_display() and property_window(), which are moved to
    DrawContext.
  (Kjell Ahlstedt)
* Pixbuf: Remove create_from_inline(). Remove non-const
  versions of save() and save_to_buffer().
  (Kjell Ahlstedt)
* Window:
  - begin_draw_frame(): Add (optional) context.
  - Remove ensure_native() and reparent().
  (Murray Cumming)

General:
* Fix some cppcheck issues.
  (Murray Cumming)
* Use Cairo::make_refptr_for_instance().
  (Murray Cumming)


3.89.1: (unstable)

This is the first release of the gtkmm-4.0 API/ABI, wrapping
GTK+-4.0. It installs in parallel with the gktmm-3.0 API/ABI,
of which the most recent version is gtkmm 3.22.0.

Build/General:
* Use GTK+-4.0 instead of GTK+-3.0.
  (Kjell Ahlstedt)
* Use C++14.
  (Murray Cumming)
* Use glibmm-2.52 instead of glibmm-2.4,
  pangomm-2.42 instead of pangomm-1.4,
  and atkmm-2.26 instead of atkmm-1.6.
  Note that, via, glibmm, we now use libsigc++-3.0 instead
  of libsigc++-2.0.
  (Murray Cumming)
* Remove deprecated API.
  (Kjell Ahlstedt)
* Add default signal handlers (on_*()), where we couldn't
  before without breaking ABI.
  (Kjell Ahlstedt)

Gtk:
* Container: Make add() non-virtual.
  (Kjell Ahlstedt)
* FontButton: Derice from, and implement, the FontChooser
  interface.
  (Kjell Ahlstedt)
* Label(): don't use misleading align argument names.
  (djb) Bug #774652
* Object: Remove gobject_disposed_.
  (Kjell Ahlstedt)
* ToolButton: Derive from, and implement, the Actionable
  interface.
  (Kjell Ahlstedt)
* Widget: Add measure() and measure_vfunc(), which replaces
  get_preferred_*_vfunc().
  (Kjell Ahlstedt)
* Window: Make raise() non-virtual.
  (Kjell Ahlstedt)

Documentation:
* Frame: Fix the documentation of set_label_align()
  (Kjell Ahlstedt) Bug #774249

3.22.0: (stable)

No changes compared to 3.21.6.

3.21.6:

Gtk:
* FileChooser: Added add_choice(), remove_choice(), set_choice(), get_choice().
  (Kjell Ahlstedt)
* Menu: Add popup_at_rect(), popup_at_widget(), popup_at_pointer(),
  signal_popped_up(), and the anchor_hints, rect_anchor_dx, rect_anchor_dy,
  and menu_type_hint properties.
  (Kjell Ahlstedt)
* Popover: Add popup() and popupdown(),
  deprecating get/set_transitions_enabled().
  (Murray Cumming)
* RadioMenuItem, RadioToolButton: Add join_group().
  (Kjell Ahlstedt) Bug #769374
* ScrolledWindow:
  - Added get/set_max_content_height/width()
  and properties.
  (Kjell Ahlstedt)
  - Added get/set_propagate_natural_height/width()
  and the properties.
  (Murray Cumming)
* Add the ShortcutLabel widget.
  (Kjell Ahlstedt)
* TreeNodeChildren: Deprecate the reverse iterator.
  (Kjell Ahlstedt) Bug #554889 (Pavelo)

Gdk:
* Pixbuf: Added set_option(), remove_option(), and copy_options().
  (Murray Cumming)
* PixbufFormat: Added is_save_option_supported().
  (Murray Cumming)

Documentation:
* Gtk::Clipboard::wait_for_uris(): Fix the documentation
   (Kjell Ahlstedt)

3.21.4 (unstable):

Gtk:
* ApplicationWindow: Add a correct wrap() method, deprecating the
  incorrect one.
  (Kjell Ahlstedt) Bug #767951
* FlowBox, ListBox: Add bind_model() and bind_list_store().
  (Kjell Ahlstedt, Murray Cumming) #755149
* UIManager, ActionGroup, RadioAction, RecentAction, ToggleAction:
  Deprecated, as in the C GTK+ API.
  (Kjell Ahlstedt) Bug #768573.

Build:
* Fix silent builds
  (Kjell Ahlstedt) Bug #768797

3.21.3 (unstable):

Gtk:
* AppChooserDialog, FontChooserDialog: Add _UNMANAGEABLE.
  (Kjell Ahlstedt)
* ScrolledWindow: Deprecate remove_with_viewport().
  (Kjell Ahlstedt) Bug #685739
* SizeGroup: Deprecate set/get/property_ignore_hidden().
  (Kjell Ahlstedt)
* Widget: Deprecate send_expose().
  (Kjell Ahlstedt)
* Window: Deprecate begin_paint_rect(), begin_paint_region(),
  end_paint() and create_cairo_context(). Add begin_draw_frame() and
  end_draw_frame() which use the new Gdk::DrawingContext.
  (Kjell Ahlstedt)

Gdk:
* Add DrawingContext.
  (Kjell Ahlstedt)

Build:
* Visual Studio builds: Update gdkmm project
  (Chun-wei Fan)

3.21.2 (unstable):

Gdk:
* Clipboard: Add get_selection().
  (Kjell Ahlstedt)
* Device: Add get_axes(), signal_changed() and many properties.
  (Kjell Ahlstedt)
* Display:
  - Add methods and signals related to Gdk::Monitor.
  (Kjell Ahlstedt)
  - Deprecated get_screen().
  (Kjell Ahlstedt)
* GLArea: Add set/get_use_es() and property.
  (Kjell Ahlstedt)
* GLContext: Add set/get_use_es()
  (Kjell Ahlstedt)
* Add Monitor.
  (Kjell Ahlstedt)
* ShortscutsShortcut: Add "action-name" property.
* Visual: Deprecate get_byte_order(), get_colormap_size(), and get_bits_per_rgb().
  (Kjell Ahlstedt)i
* Window: create_gl_context() and signal_create_context():
  Correct the reference counting.
  (Kjell Ahlstedt)

Gtk:
* IconInfo, PaperSize, TextIter, TreeIter, TreePath, TreeRowReference:
  Deprecated operator void*, replacing it with explicit operator bool.
  (Murray Cumming)
* PrintSettings: Make create_*() from public, not protected.
  Noticed by Phil Wolff:
  https://mail.gnome.org/archives/gtkmm-list/2016-May/msg00008.html
  (Murray Cumming)
* TreeView: _auto_store_on_cellrenderer_text_edited_numerical():
  Catch the exception from std::stod().
  This is a regression since version 3.17.80.
  (Murray Cumming) Bug #765044 (Justinas)

Documentation:
* ButtonBox demo: Enable mnemonics in the buttons.
  (Kjell Ahlstedt) Bug #766228.


3.20.0 (stable):

* No major changes compared to 3.19.12.

3.19.12 (unstable):

Gtk:
* CellRendererProgress:_property_renderable(): Avoid infinite loop.
  (Murray Cumming)
* CellrendererToggle: Deprecate property_indicator_size().
  (Kjell Ahlstedt)
* ColorButton: Add property_show_editor().
  (Kjell Ahlstedt)
* Container: Deprecate property_resize_mode().
  (Kjell Ahlstedt)
* Entry: Deprecate property_shadow_type().
  (Kjell Ahlstedt)
* Expander: Deprecate property_spacing().
  (Kjell Ahlstedt)
* PlacesSidebar:
  - Deprecate property_show_other_locations().
  - Add property_show_other_locations_with_flags(), signal_mount() and
    signal_unmount().
  (Kjell Ahlstedt)
* Settings: Add property_gtk_keynav_use_caret().
  (Kjell Ahlstedt)
* StyleContext: Deprecate property_direction().
  (Kjell Ahlstedt)
* TextView: Add reset_cursor_blink().
  (Kjell Ahlstedt)

Build:
* Fix "make check" after sigc::mem_fun(pointer, func) was deprecated.
  (Kjell Ahlstedt)
* MSVC builds: Update for shortcuts widgets.
  (Chun-wei Fan)
* MSVC builds: Look for headers in include/gio-win32-2.0 as well
  (Chun-wei Fan)


3.19.11:

Gtk:
* AccelLabel: Ad get_accel().
  (Kjell Ahlstedt)
* ApplicationWindow:
  * Add set/unset/get_help_overlay().
  (Kjell Ahlstedt)
* Builder: Make get_widget_derived() a variadic template,
  forwarding its arguments to the constructor of the derived class.
  (Kjell Ahlstedt) Bug #134161
* GestureLongPress: Add property_delay_factor().
  (Kjell Ahlstedt)
* Popover: Add PopoverConstraint enum and
  set/get/property_constrain_to().
    (Kjell Ahlstedt)
* Range: Deprecate get/set_min_slider_size().
  (Murray Cumming)
* Stack: Add set/get/property_interpolate_size().
  (Kjell Ahlstedt)
* StackSwitcher: Add property_icon_size().
  (Kjell Ahlstedt)
* Settings: Add reset_property() and
  property_gtk_titlebar_double_click/middle_click/right_click().
  (Kjell Ahlstedt)
* Add Shortcuts* widgets, such as ShortcutsWindow.
  (Kjell Ahlstedt)
* TextTag: Add tag_changed() and property_strikethrough_rgba/
  strikethrough_rgba_set/underline_rgba/underline_rgba_set/font_features/
  font_features_set().
  (Kjell Ahlstedt)
* TextView: Add set/get/property_top_margin() and 
  set/get/property_bottom_margin().
  (Kjell Ahlstedt)
* Replace deprecated Glib::ScopedPtr with make_unique_g_free().
  (Murray Cumming)

Gdk:
* Add GLContext::is_legacy().
  (Kjell Ahlstedt)
* Seat: Add get_slaves()
  (Kjell Ahlstedt) Bug #759806
* Window: Deprecate parse_geometry() and set_default_geometry().
  (Kjell Ahlstedt)

Documentation:
* Add Shortcuts Window demo.
  (Kjell Ahlstedt)
* treeview_editable_cells demo: Catch exception from std::stoi.
  (Kjell Ahlstedt)
* Misc: Mention non-deprecated get/set_margin_*() in docs.
  (Murray Cumming)
* Gdk::DeviceManager::get_client_pointer(): Update the deprecation message
  (Kjell Ahlstedt) Bug #759806.

Build:
* Visual Studio builds: Update gdkmm project for GdkSeat.
  (Chun-wei Fan)


3.19.6:

Gtk:
* TextIter: Add starts_tag(), deprecate begins_tag().
  (Kjell Ahlstedt)
* TreeView: Fix a crash in get_tooltip_context_path()
  (Philipp Lenk) Bug #760030.

Gdk:
* Add Gdk::Seat
  (Kjell Ahlstedt) Bug #759806.
* Device:
  - Add get_seat().
  - Deprecate grab() and ungrab().
   DeviceManager, Display: Add and deprecate
  (Kjell Ahlstedt) Bug #759806.
* DeviceManager: Deprecate list_devices() and get_client_pointer().
  (Kjell Ahlstedt) Bug #759806.
* Display:
  - Deprecate get_device_manager().
  - Add list_seats(), get_default_seat(), signal_seat_added() and
  signal_seat_removed().
  (Kjell Ahlstedt) Bug #759806.

Build:
* C++11: Use the override keyword, instead of virtual, for suitable destructors.
  (Murray Cumming)


3.19.5:

Gtk:
* Button: Deprecate get/set_focus_on_click() and property.
  (Kjell Ahlstedt)
* ComboBox: Deprecate get/set_focus_on_click() and property.
  (Kjell Ahlstedt)
* FileChooserButotn: Deprecate set/get_focus_on_click() and property.
  (Kjell Ahlstedt)
* Widget:  Add set/get/property_focus_on_click(),
  set/unset/get_font_options(), set/get_font_map(), queue_allocate(),
  get_allocated_size().
  (Kjell Ahlstedt)
* Window: Deprecate resize_to_geometry().
  (Kjell Ahlstedt)

Gdk:
* Screen::get_font_options(): Really take a copy.
  (Kjell Ahlstedt)

Build:
* Remove #ifdefs with obsolete GLIBMM_*_ENABLED constants
 (Kjell Ahlstedt)
* Demos, tests: Use nullptr instead of 0.
  (Kjell Ahlstedt)
* Gtk: Use nullptr instead of 0
  (Kjell Ahlstedt)
* Gdk: Use nullptr instead of 0
  (Kjell Ahlstedt)
* Menushell, Widget: Use noexcept on the destructor implementation.
  To match the generated declaration.
  (Emeric Maschino) Bug #759263, Bug #759262


3.19.3:

* Gdk::Rectangle: Add operator==().
  (Murray Cumming)
* C++11: Use of the override keyword.
  (Murray Cumming)

Changes in 3.18 compared to 3.16:

General:
* Use, and require C++11, using features such as move operations, noexcept
  auto, = delete, nulltpr, override, range-based for loops.
  (Murray Cumming, Kjell Ahlstedt)

Gtk:
* C++11: Add move operations to widget classes.
  (Murray Cumming)
* C++11: Point, TimeCoord: Add move operations.
  (Murray Cumming)
* C++11: Mark all _CLASS_OPAQUE_REFCOUNTED classes as final.
  (Murray Cumming)
* Object (and Widget): Add dont_allow_use_in_glib_refptr_.
  (Kjell Ahlstedt, Murray Cumming)
* Actionable: Add keep_return to the _WRAP_VFUNC() for get_action_name.
  (Kjell Ahlstedt) Bug #705124.
* Adjustment: Deprecate changed() and value_changed().
  (Murray Cumming)
* Assistant: Add get/set_page_has_padding().
  (Murray Cumming)
* CellRendererPixbuf: Deprecate property_follow_state().
  (Kjell Ahlstedt)
* Entry: Add grab_focus_without_selecting()
  (Murray Cumming)
* FontChooser: Add get/set_font_map().
  (Murray Cumming)
* IconInfo: Deprecate get_builtin_pixbuf().
  (Kjell Ahlstedt)
* IconTheme: lookup_icon(), choose_icon(): Add default 0 for flags.
  (Murray Cumming)
* LevelBar: Add set_orientation().
  (Murray Cumming) Bug #752568 (Tobias Hoffmann)
* Add ModelButton.
  (Kjell Ahlstedt)
* Notebook: Add detach_tab().
  (Murray Cumming)
* Overlay:
  - Add reorder_overlay() and get/set_overlay_pass_through().
  - Add child properties.
  (Murray Cumming)
* Paned: Add get/set_wide_handle() and property.
  (Murray Cumming)
* PaperSize: Add is_ipp().
  (Murray Cumming)
* PlacesSidebar:
  - Add set_drop_targets_visible().
  (Kjell Ahlstedt)
  - Deprecate set/get_show_connect_to_server() and the property.
  - Add set/get_show_recent(), set/get_show_trash(),
    set/get_show_other_locations() and properties, and the populate_all
    property.
  (Kjell Ahlstedt)
* Popover:
  - Add get/set_default_widget().
  (Murray Cumming)
  - Wrap the pointing-to property.
  (Kjell Ahlstedt) Bug #723394
* Add PopoverMenu.
  (Kjell Ahlstedt)
* Scrollable: Add get_border() and ScrolledWindow::signal_edge_reached()
  (Kjell Ahlstedt)
* ScrolledWindow: Add signal_edge_reached().
  (Kjell Ahlstedt)
* SearchEntry: Add handle_event() and new signals
  (Kjell Ahlstedt)
* StyleContext: Deprecate set_background().
  (Kjell Ahlstedt)
* IconView: Fix a crash in get_tooltip_context_path().
  (Kjell Ahlstedt)
* TreeView, TreeViewColumn: Deprecate SlotCellData, add SlotTreeCellData.
  (Kjell Ahlstedt) Bug #657844
* Widget: Deprecate drag_begin() without coordinates.
  (Kjell Ahlstedt)
* Window:
  - Add fullscreen_on_monitor().
  (Murray Cumming)
  - Add get_titlebar().
  (Murray Cumming)

Gdk:
* Cursor, Pixbuf, Window: Fix use of Cairo::xxx in namespace Gd
  (Kjell Ahlstedt) Bug #755061 (lagerstrom15)
* Window:
  - Add get/set_passthrough().
  (Murray Cumming)
  - Deprecate get/set_composited(), set_static_gravities() and flush().
  (Kjell Ahlstedt)
* Deprecate open_default_libgtk_only() and supports_composite().
  (Kjell Ahlstedt)


Documentation:
* Remove pixbuf-demo because it is already in the main demo.
  (Kjell Ahlstedt)
* Demo: Remove Icon Theme demo, replacing it by a standalone
  Icon Broswer demo.
  (Kjell Ahlstedt)
* Add GLArea and example to gtkmm-demo.
  (Daniel Hams) Bug #752314
* Demo:
  - Show data files in extra tabs in the Gtk::Notebook.
  - Remove the last traces of the UIManager and stock browser demos.
  - Add Builder demo.
  - Use resource files for the source code and data files.


Build:
* MSVC build fixes.
  (Chun-wei Fan)
* Missing GTKMM_API for CellLayout.
  (Mikhail Titov) Bug #748720
* Demo:  Use getc() if HAVE_GETC_UNLOCKED is not defined.
  (Mikhail Titov) Bug #748657
* Don't disable more deprecation warnings than necessary
  (Kjell Ahlstedt) Bug #750379.


3.18.0 (stable):

* Gtk::Object (and Gtk::Widget): Add dont_allow_use_in_glib_refptr_.
  (Kjell Ahlstedt, Murray Cumming)
* Gtk::TreeView, TreeViewColumn: Deprecate SlotCellData, add SlotTreeCellData.
  (Kjell Ahlstedt) Bug #657844
* Gdk::Cursor, Pixbuf, Window: Fix use of Cairo::xxx in namespace Gd
  (Kjell Ahlstedt) Bug #755061 (lagerstrom15)
* MSVC build fixes.
  (Chun-wei Fan)


3.17.90 (unstable):

Gtk:
* Entry: Add grab_focus_without_selecting()
  (Murray Cumming)
* LevelBar: Add set_orientation().
  (Murray Cumming) Bug #752568 (Tobias Hoffmann)
* Notebook: Add detach_tab().
  (Murray Cumming)
* Overlay:
  - Add reorder_overlay() and get/set_overlay_pass_through().
  - Add child properties.
  (Murray Cumming)
* Paned: Add get/set_wide_handle() and property.
  (Murray Cumming)
* PaperSize: Add is_ipp().
  (Murray Cumming)
* Window: Add fullscreen_on_monitor().
  (Murray Cumming)

Build:
* MSVC Build improvements.
  (Chun-wei Fan)
* MSVC Build: Require MSVC .Net 2013 for C++11 support.
  (Chun-wei Fan)


3.17.80 (unstable):

* Rebuilt with latest glibmm,
  whose gmmproc generates C++ move operations.
  (Murray Cumming)
* C++11: Add move operations to widget classes.
  (Murray Cumming)
* C++11: Point, TimeCoord: Add move operations.
  (Murray Cumming)
* C++11: Mark all _CLASS_OPAQUE_REFCOUNTED classes as final.
  (Murray Cumming)
* C++11: Use std::stod() instead of std::strtod()
  and Use std::stoi() instead of atod().
  (Murray Cumming)


3.17.70 (unstable):

Gtk:
* Add GLArea and example to gtkmm-demo.
  (Daniel Hams) Bug #752314
* PlacesSidebar: Add set_drop_targets_visible().
  (Kjell Ahlstedt)

Build:
* Fix the build with -Wshadow compiler warnings.
  (Murray Cumming, Kjell Ahlstedt) Bug #752469


3.17.50 (unstable):

Gtk:
* PlacesSidebar:
  - Deprecate set/get_show_connect_to_server() and the property.
  - Add set/get_show_recent(), set/get_show_trash(),
    set/get_show_other_locations() and properties, and the populate_all
    property.
  (Kjell Ahlstedt)
* Popover: Add get/set_default_widget().
  (Murray Cumming)
* Window: Add get_titlebar().
  (Murray Cumming)

Build:
* gtk_generate_extra_defs.sh: Fix for the patch command, version 2.7.5
  (Kjell Ahlstedt)
* C++11: Use nullptr instead of 0.
  (Murray Cumming)
* C++11: Use of the override keyword.
  (Murray Cumming)
* C++11: Use of auto.
  (Murray Cumming)
* C++11: Use of range-based for loops.
  (Murray Cumming)
* Fix the build when using -Wshadow (now used in --enable-warnings=fatal).
  (Murray Cumming)

Documentation:
* LevelBar: Document how to workaround the lack of Orientation base class.
  (Murray Cumming) Bug #752568 (Tobias Hoffmann)


3.17.41 (unstable):

Gtk:
* StyleContext: Deprecate set_background().
  (Kjell Ahlstedt)
* IconView: Fix a crash in get_tooltip_context_path().
  (Kjell Ahlstedt)

Build:
* Use (and require) C++11.
  (Murray Cumming, Kjell Ahlstedt)

Documentation:
* Remove pixbuf-demo because it is already in the main demo.
  (Kjell Ahlstedt)
* Demo: Remove Icon Theme demo, replacing it by a standalone
  Icon Broswer demo.
  (Kjell Ahlstedt)


3.17.4 (unstable):

Gtk:
* Assistant: Add get/set_page_has_padding().
  (Murray Cumming)
* FontChooser: Add get/set_font_map().
  (Murray Cumming)
* IconInfo: Deprecate get_builtin_pixbuf().
  (Kjell Ahlstedt)
* IconTheme: lookup_icon(), choose_icon(): Add default 0 for flags.
  (Murray Cumming)
* Widget: Deprecate drag_begin() without coordinates.
  (Kjell Ahlstedt)

Gdk:
* Window: Add get/set_passthrough().
  (Murray Cumming)

* Demo: IconTheme: Don't use deprecated builtin-icon API.
  (Murray Cumming)

Build:
* Don't disable more deprecation warnings than necessary
  (Kjell Ahlstedt) Bug #750379.


3.17.3 (unstable):

Gdk:
* Deprecate open_default_libgtk_only() and supports_composite().
  (Kjell Ahlstedt)
* Window: Deprecate get/set_composited(), set_static_gravities() and flush().
  (Kjell Ahlstedt)

Gtk:
* Actionable: Add keep_return to the _WRAP_VFUNC() for get_action_name.
  (Kjell Ahlstedt) Bug #705124.
* Adjustment: Deprecate changed() and value_changed().
  (Murray Cumming)
* CellRendererPixbuf: Deprecate property_follow_state().
  (Kjell Ahlstedt)
* Add ModelButton.
  (Kjell Ahlstedt)
* Popover: Wrap the pointing-to property.
  (Kjell Ahlstedt) Bug #723394
* Add PopoverMenu.
  (Kjell Ahlstedt)
* Scrollable: Add get_border() and ScrolledWindow::signal_edge_reached()
  (Kjell Ahlstedt)
* ScrolledWindow: Add signal_edge_reached().
  (Kjell Ahlstedt)
* SearchEntry: Add handle_event() and new signals
  (Kjell Ahlstedt)

Documentation:
* Demo:
  - Show data files in extra tabs in the Gtk::Notebook.
  - Remove the last traces of the UIManager and stock browser demos.
  - Add Builder demo.
  - Use resource files for the source code and data files.


Build:
* Missing GTKMM_API for CellLayout.
  (Mikhail Titov) Bug #748720
* Demo:  Use getc() if HAVE_GETC_UNLOCKED is not defined.
  (Mikhail Titov) Bug #748657


3.16:

API additions since 3.14:

Gdk:
* Device: Add get_vendor_id() and get_product_id().
  (Murray Cumming)

Gtk:
* CssProvider: Add CssProviderError and signal_parsing_error()
  (Kjell Ahlstedt)
* Add CssSection.
  (Kjell Ahlstedt)
* Dialog: Add constructors with DialogFlags,
  for instance to create a dialog with a header bar.
  (Kjell Ahlstedt) Bug #738513.
* Grid: Add attach_next_to() without the 'sibling' parameter.
  (Kjell Ahlstedt)  Bug #739340.
* Label: Add get/set_xalign/yalign() and properties.
  (Murray Cumming)
* ScaleButton: Add a constructor without the icons.
  (Murray Cumming)
* ScrolledWindow: Add get/set_overlay_scrolling() and property.
  (Juan R. García Blanco)
* SearchEntry: Add the search_changed signal
  (Kjell Ahlstedt)
* Stack: Add hhomogeneous and vhomogeneous properties.
  (Juan R. García Blanco)
* Add StackSidebar.
  (Kjell Ahlstedt)
* StackSwitcher: Add unset_stack().
  (Kjell Ahlstedt)
* Added StyleProperty
  (Mark Vender) Bug #673317.
* TextTag: Add fallback, fallback-set, letter-spacing, and
  letter-spacing-set properties.
  (Juan R. García Blanco)
* TextBuffer:
  - Add insert_markup().
  - Add the copy_target_list and paste_target_list properties.
  - Wrap the serialize()/deserialize() methods.
  (Kjell Ahlstedt)
* TextView: Add monospace property.
  (Juan R. García Blanco)
* Widget: Added get_action_group() and list_action_prefixes().
  (Murray Cumming)


3.16.0 (stable):

Gtk
* Builder: Don't get gtkmm-derived GTypes while parsing TreeModel <columns>
  (Kjell Ahlstedt) Bug #742637.


3.15.10 (unstable);

Gtk:
* Label: Add get/set_xalign/yalign() and properties.
  (Murray Cumming)
* PaperSize: Define the paper name constants in the .cc file
  (Benoît Dejean) Bug #745345

Documentation:
* CssProvider::load_from_data(): Document that this throws an exception.
  (Murray Cumming)
* Icon theme demo: Catch exceptions while loading icons.
  (Kjell Ahlstedt)
* Stock: Mention the named icons for Copy, Cut, Paste and Delete.
  (Murray Cumming) See GTK+ bug #741969


3.15.9 (unstable);

Gtk:
* Add StackSidebar.
  (Kjell Ahlstedt)
* StackSwitcher: Add unset_stack().
  (Kjell Ahlstedt)
* StyleContext: Deprecate list_regions(), add_region(),
  remove_region(), has_region(), get_backgrount_color(), get_border_color(),
  invalidate.
  (Kjell Ahlstedt)
* TextBuffer: Wrap the serialize()/deserialize() methods.
  (Kjell Ahlstedt) Bug #694250
* Widget: Deprecate  Deprecate override_color(), unset_color(),
  override_background_color(), unset_background_color(), override_font(),
  unset_font(), override_symbolic_color(), unset_symbolic_color(),
  override_cursor(), unset_cursor().
  (Kjell Ahlstedt)
* Window: Deprecate Deprecate property_has_resize_grip(),
  property_resize_grip_visible(), set/get_has_resize_grip(),
  get_resize_grip_is_visible(), get_resize_grip_area().
  (Kjell Ahlstedt)
* Fix error messages from gmmproc by removing unnecessary _IGNORES()s.
  (Kjell Ahlstedt)

Gdk:
* Device: Add get_vendor_id() and get_product_id().
  (Murray Cumming)

Documentation:
* demos: Add stacksidebar demo.
  (Kjell Ahlstedt)
* demos: Replace calls to deprecated Widget::override_*() API.
  (Kjell Ahlstedt)
* Container: Remove obsolete comments that confuse doxygen.
  (Kjell Ahlstedt)
* Put DOXYGEN_SHOULD_SKIP_THIS around *_Class prototypes.
  To workaround a doxygen bug, to fix the genereated DevHelp search index.
  (Murray Cumming) Bug #743918


3.15.4 (unstable);

Gtk:
* Builder::get_type_from_name_vfunc(): Call the base class function.
  Instead of jusgin calling g_type_from_name(), in case the base class
  function does more.
  (Kjell Ahlstedt) Bug #742637.
* TextBuffer:
  - Add insert_markup().
  - Add the copy_target_list and paste_target_list properties.
  (Kjell Ahlstedt)

Documentation:
* Pixbuf: Change a mention of Glib::ResourceError to Gio::ResourceError.
  (Kjell Ahlstedt)


3.15.3 (unstable);

Gtk:
* CssProvider: Add CssProviderError and signal_parsing_error()
  (Kjell Ahlstedt)
* Add CssSection.
  (Kjell Ahlstedt)
* Dialog: Fix the constructors with DialogFlags.
  (Kjell Ahlstedt) Bug #738513 (Simonas Kazlauskas)
* ScaleButton:
  - Correct the constructor.
  - Add a constructor without the icons.
  (Murray Cumming)
* ScrolledWindow: Add get/set_overlay_scrolling() and property.
  (Juan R. García Blanco)
* Stack: Add hhomogeneous and vhomogeneous properties.
  (Juan R. García Blanco)
* TextTag: Add fallback, fallback-set, letter-spacing, and
  letter-spacing-set properties.
  (Juan R. García Blanco)
* TextView: Add monospace property.
  (Juan R. García Blanco)
* Widget: Added get_action_group() and list_action_prefixes().
  (Murray Cumming)

Documentation:
* Add an empty line after @newin where it's missing.
  (Kjell Ahlstedt)
* Fix some Doxygen warnings.
  (Kjell Ahlstedt)
* ScaleButton: Document the constructors.
  (Murray Cumming)


3.15.2 (unstable);

Gtk:
* Dialog: Add constructors with DialogFlags,
  for instance to create a dialog with a header bar.
  (Kjell Ahlstedt) Bug #738513.
* Grid: Add attach_next_to() without the 'sibling' parameter.
  (Kjell Ahlstedt)  Bug #739340.
* Overlay:  Correct the "since" documentation.
* SearchEntry: Add the search_changed signal
  (Kjell Ahlstedt)
* Added StyleProperty
  (Mark Vender) Bug #673317.

Gdk
* Curor: Deprecate the constructor that doesn't take a Display parameter.
  (Murray Cumming)
* Pixbuf: Deprecate create_from_inline().
  (Kjell Ahlstedt)


3.14:

API additions since 3.12:

Gdk:
* Device: Add get_last_event_window().
  (Murray Cumming)
* Pixbuf: Add get_byte_length() and create_from_resource().
  (Murray Cumming)
* Window: Add get/set_event_compression(), set_shadow_width(),
  and show_window_menu().
  (Murray Cumming)

Gtk:
* Deprecate Alignment.
  (Murray Cumming)
* Application: Add get_actions_for_accel(), prefers_app_menu(), and
  get_menu_by_id().
  (Murray Cumming)
* Deprecate Arrow.
  (Kjell Ahlstedt)
* Bin: Deprecate add_label(const Glib::ustring& label, bool mnemonic, double x_align, double y_align) and
    add_pixlabel(const std::string& pixfile, const Glib::ustring& label, double x_align, double y_align).
    Add add_pixlabel(const std::string& pixfile, const Glib::ustring& label, Align x_align, Align y_align).
* Box: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* CellArea: Add attribute_get_column().
  (Murray Cumming)
* Container: Deprecate [set|get]_resize_mode() and set_reallocate_redraws().
* EntryCompletion: Add the no_matches signal.
  (Murray Cumming)
* Add EventController and Gesture* classes.
  (Kjell Ahlstedt)
* Grid: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* HeaderBar: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* IconInfo: Deprecate set_raw_coordinates(), get_embedded_rect(),
  get_attach_points() and get_display_name().
  (Murray Cumming)
* IconTheme: Add add_resource_path() and deprecate add_builtin_icon().
  (Murray Cumming)
* Label: Deprecate Label(const Glib::ustring& label, float xalign, float yalign, bool mnemonic).
* ListBox:
  - Add selected_foreach(), get_selected_rows(), unselect_row(), select_all()
  and unselect_all(). Add the selected_rows_changed signal.
  (Murray Cumming)
* ListBoxRow: Add is_selected(), set/get_selectable(), set/get_activatable().
  Add the selectable and activatable properties.
  (Murray Cumming)
* Deprecate Misc (almost - it is still a base class).
  (Kjell Ahlstedt)
* Notebook: Add child properties tab_label, menu_label, position,
  tab_expand, tab_fill, reorderable, and detachable.
  (Juan R. García Blanco)
* Deprecate NumerableIcon.
  (Kjell Ahlstedt)
* Add Overlay.
  (Juan R. García Blanco)
* Paned: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* Settings: Add the gtk_long_press_time property.
  (Murray Cumming)
* Stack: Add child properties name, title, icon_name, position, and
  needs_attention.
  (Juan R. García Blanco)
* StatusIcon:  Deprecate this because it is deprecated in gtk+
  (Kjell Ahlstedt)
* StyleContext: Really add get_scale().
  (Murray Cumming)
* Switch: Add set/get_state(), the state property, and the state_set signal.
* Toolbar: Add child properties expand and homogeneous.
  (Juan R. García Blanco) Bug #140515
* TreeView: Deprecate property_rules_hint().
  (Kjell Ahlstedt)
* Widget:
  - Deprecate get/set_double_buffered() and the property.
  - Deprecate region_intersect(),
  get_root_window(), [set|get]_margin_[left|right](), property_style(),
  property_margin_[left|right]().
  (Kjell Ahlstedt)
  - Add get/set_clip().
  (Murray Cumming)
* WidgetPath:  Deprecate iter_add_region(),
  iter_remove_region(), iter_clear_regions(), iter_list_regions()
  and iter_has_region().
  (Murray Cumming)


3.14.0 (stable):

Documentation:
* Headerbar demo: Update for renamed arrow icons.
  (Kjell Ahlstedt)
    
Build:
* Update and Overhaul Visual Studio 2008 and 2010 Projects.
  (Chun-wei Fan)
* Fix the demos on Windows.
  (Chun-wei Fan)
    

3.13.8 (unstable):

Gdk:
* Window: Add get/set_event_compression(), set_shadow_width(),
  and show_window_menu().
  (Murray Cumming)

Gtk:
* Application: Add get_actions_for_accel(), prefers_app_menu(), and
  get_menu_by_id().
  (Murray Cumming)
* CellArea: Add attribute_get_column().
  (Murray Cumming)
* EntryCompletion: Add the no_matches signal.
  (Murray Cumming)
* ListBox:
  - Add selected_foreach(), get_selected_rows(), unselect_row(), select_all()
  and unselect_all(). Add the selected_rows_changed signal.
  (Murray Cumming)
* ListBoxRow: Add is_selected(), set/get_selectable(), set/get_activatable().
  Add the selectable and activatable properties.
  (Murray Cumming)
* Settings: Add the gtk_long_press_time property.
  (Murray Cumming)
* StatusIcon:  Deprecate this because it is deprecated in gtk+
  (Kjell Ahlstedt)
* StyleContext: Really add get_scale().
  (Murray Cumming)
* Widget: Add get/set_clip().
  (Murray Cumming)


3.13.7 (unstable):

Gtk:
* Box: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* Grid: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* HeaderBar: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* Paned: Wrap child properties
  (Juan R. García Blanco) Bug #140515
* TreeView: Deprecate property_rules_hint().
  (Kjell Ahlstedt)

Documentation:
* Gtk::FileChooser::get_current_folder(): Update documentation from GTK+.
  (Kjell Ahlstedt) Bug #734570 (da_fox)


3.13.5 (unstable):

Gtk:
* Container: Support child properties.
  (Juan R. García Blanco)
* Add EventController and Gesture* classes.
  (Kjell Ahlstedt)
* IconTheme: Add add_resource_path() and deprecate add_builtin_icon().
  (Murray Cumming)
* Notebook: Add child properties tab_label, menu_label, position,
  tab_expand, tab_fill, reorderable, and detachable.
  (Juan R. García Blanco)
* Stack: Add child properties name, title, icon_name, position, and
  needs_attention.
  (Juan R. García Blanco)
* Switch: Add set/get_state(), the state property, and the state_set signal.
* Toolbar: Add child properties expand and homogeneous.
  (Juan R. García Blanco) Bug #140515
* Widget: Deprecate get/set_double_buffered() and the property.
  (Kjell Ahlstedt)

Documentation:
* Demo: Update notebook's tabs style to match the gtk3-demo.
  (Juan R. García Blanco)
* Demo: Add a gestures example, based on the gtk3-demo equivalent.
  (Kjell Ahlstedt)
* Add Gestures group to the reference docs
  (Kjell Ahlstedt)


3.13.3 (unstable):

Gtk:
* Builder: Fix ref count in get_widget() and get_widget_derived() and add test
  case.
  (Kjell Ahlstedt) Bug #731444 (Peter)
* Container: Deprecate [set|get]_resize_mode() and set_reallocate_redraws().
* Widget: Deprecate reparent(), region_intersect(),
  get_root_window(), [set|get]_margin_[left|right](), property_style(),
  property_margin_[left|right]().
  (Kjell Ahlstedt) 
* Add Overlay.
  (Juan R. García Blanco)
* IconInfo: Deprecate set_raw_coordinates(), get_embedded_rect(),
  get_attach_points() and get_display_name().
  (Murray Cumming)
* Widget: Undeprecate and reimplement reparent() because it is still useful in
  gtkmm.
  (Kjell Ahlstedt)
* WidgetPath:  Deprecate iter_add_region(),
  iter_remove_region(), iter_clear_regions(), iter_list_regions()
  and iter_has_region().
  (Murray Cumming)

Documentation:
* Application: Add documentation concerning the use of quit()
  (Kjell Ahlstedt) Bug #731126 (Glenn Rice)
* Builder: Add documentation about widget and window lifetimes.
  (Kjell Ahlstedt) Bug #731444 (Peter)
* Add Overlay demo.
  (Juan R. García Blanco)
* demo: Avoid use of deprecated API.
  (Murray Cumming)
* demo: Make side bar scrollable as in the C version.
   (Juan R. García Blanco)   


3.13.2 (unstable):

Gtk:
* Don't assert argc/argv are non-null in Application::run()
  (Jonathon Jongsma) Bug #729212.
* Deprecate Alignment.
  (Murray Cumming)
* Deprecate Arrow.
  (Kjell Ahlstedt)
* Bin: Deprecate add_label(const Glib::ustring& label, bool mnemonic, double x_align, double y_align) and
    add_pixlabel(const std::string& pixfile, const Glib::ustring& label, double x_align, double y_align).
    Add add_pixlabel(const std::string& pixfile, const Glib::ustring& label, Align x_align, Align y_align).
* Label: Deprecate Label(const Glib::ustring& label, float xalign, float yalign, bool mnemonic).
* MenuItem: Don't use deprecated Misc property.
* Deprecate Misc (almost - it is still a base class).
  (Kjell Ahlstedt)
* Deprecate NumerableIcon.
  (Kjell Ahlstedt)

Documentation:
* gtkmm-demo: use HeaderBar in main window.
  (Juan R. García Blanco)
* Fix a segfault in the Drawing Area demo
  (Kjell Ahlstedt )
* Update documentation of Gtk::Dialog::run()
  (Kjell Ahlstedt)
*  Remove unnecessary parts of the docs_override.xml files
  (Kjell Ahlstedt)


3.12:

API additions since 3.10:

Gtk:
* Add ActionBar.
  (Juan R. García Blanco) Bug #723124
* Application:
  - Added set_accel_for_action(), get/set_accels_for_action() and
  list_action_descriptions().
  (Murray Cumming)
  - Add set_accels_for_action(), deprecating add_accelerator().
  (Murray Cumming)
* Assistant: Add use-header-bar property.
  (Juan R. García Blanco)
* Box: Add get/set_center_widget() and unset_center_widget().
  (Juan R. García Blanco)
* Builder: Add expose_[object|widget](), [set|get]_application().
  (Kjell Ahlstedt)
* Button: Add set_image_from_icon_name() with a use_fallback argument.
  (Kjell Ahlstedt)
* CellArea: Add signal_apply_attributes().
  (Kjell Ahlstedt)
* Dialog: Add get/set_header_bar() and the
  use_header_bar property.
  (Juan R. García Blanco)
* Entry:
  - Add the max-width-chars property.
  - Add get/set_max_width_chars() and the property.
  (Juan R. García Blanco)
  - Add set/get_attributes() and the property.
  (Kjell Ahlstedt)
* Add FlowBox and FlowBoxChild.
  (Juan R. García Blanco) Bug #723801
* HeaderBar: Addd get_decoration_layout(), get_has_subtitle(),
  set_decoration_layout() and set_has_subtitle() and properties.
  (Juan R. García Blanco) Bug #723199
* IconInfo: Add is_symbolic().
  (Juan R. García Blanco)
* MenuButton:
  - Add get/set_popover() and unset_popover() and the property.
  - Add get/set_use_popover() and the property.
  (Juan R. García Blanco)
* PlacesSidebar: Add local-only object property and get/set methods.
  (Juan R. García Blanco) Bug #723893
* Add Popover.
  (Juan R. García Blanco) Bug #723058
* SelectionData: Add get_data(int& length).
  (Kjell Ahlstedt)
* Settings: Add gtk-decoration-layout, gtk-shell-shows-desktop
  and gtk-dialogs-use-header properties.
  (Juan R. García Blanco) Bug #723397
* Stack: Add get_transition_running(), get_child_by_name() and
  the transition-runnning property.
  (Juan R. García Blanco) Bug #723397
* ToolItem: Add unset_proxy_menu_item().
  (Kjell Ahlstedt)
* Widget:
  - Added get/set_margin_start/end() and properties.
  (Murray Cumming)
  - Added scale-factor property.
  (Murray Cumming)
* Window: Add is_maximized() and the is-maximized property.
  (Juan R. García Blanco)


Gdk:
* Device: Add get_last_event_window().
  (Murray Cumming)
* Pixbuf:
  - Add get_byte_length() and create_from_resource().
  (Murray Cumming)


3.12.0 (stable):

* Application: Add set_accels_for_action(), deprecating add_accelerator().
  (Murray Cumming)
* Button: Add set_image_from_icon_name() with a use_fallback argument.
  (Kjell Ahlstedt)
* demo:
  - Add the FlowBox demo part.
  (Juan R. Garcia Blanco, Murray Cumming)
  - Add HeaderBar demo.
  (Juan R. Garcia Blanco)

3.11.10 (unstable):

Gdk:
* Pixbuf: Add get_byte_length().
  (Murray Cumming)

Gtk:
* Dialog: Deprecate the const version of get_action_area() too.
  (Kjell Ahlstedt)  

Build:
* Update Visual Studio Projects
  (Chun-wei Fan)

3.11.9 (unstable):

Gdk:
* Device: Add get_last_event_window().
  (Murray Cumming)

Gtk:
* Application: Added set_accel_for_action(), get/set_accels_for_action() and
  list_action_descriptions().
  (Murray Cumming)
* Widget:
  - Added get/set_margin_start/end() and properties.
  (Murray Cumming)
  - Added scale-factor property.
  (Murray Cumming)


3.11.8 (unstable):

Gtk:
* Window: Add is_maximized() and the is-maximized property.
  (Juan R. García Blanco)
* IconInfo: Add is_symbolic().
  (Juan R. García Blanco)
* Assistant: Add use-header-bar property.
  (Juan R. García Blanco)
* ActionBar:
  - Now inherits from GtkBin
  - spacing and center-widget properties removed.
  - Add unset_center_widget() method.
  (Juan R. García Blanco)
* Box: Add get/set_center_widget() and unset_center_widget().
  (Juan R. García Blanco)
* Dialog: Add get/set_header_bar() and the
  use_header_bar property.
  (Juan R. García Blanco)
* Entry:
  - Add the max-width-chars property.
  - Add get/set_max_width_chars() and the property.
  (Juan R. García Blanco)
* MenuButton:
  - Add get/set_popover() and unset_popover() and the property.
  - Add get/set_use_popover() and the property.
  (Juan R. García Blanco)
* Popover: Add constructor that takes a model and
  add bind_model().
  (Juan R. García Blanco)


3.11.7 (unstable):

* MessageDialog: Deprecate get/set_image() and the property.
  (Murray Cumming)
* Popover:
  - Add closed signal.
  (Juan R. García Blanco)
  - Add closed signal.
  Correct the type of the pointing_to property and method parameter.
  (Juan R. García Blanco)
* FlowBoxChild: Add activate signal.
  (Juan R. García Blanco)


3.11.5 (unstable):

Gtk:
* Add ActionBar.
  Bug #723124
  (Juan R. García Blanco)
* Builder: Add expose_[object|widget](), [set|get]_application().
  (Kjell Ahlstedt)
* Dialog: Deprecate set_alternative_button_order_from_array(),
  and alternative_button_order().
  (Murray Cumming)
* Entry: Add set/get_attributes() and the property.
  (Kjell Ahlstedt)
* Add FlowBox.
  Bug #723801
  (Juan R. García Blanco)
* HeaderBar: Added decoration-layout, decoration-layout-set and
  has-subtitle object properties.
  Addd get_decoration_layout(), get_has_subtitle(),
  set_decoration_layout() and set_has_subtitle().
  Bug #723199
  (Juan R. García Blanco)
* Main: Undeprecate add_gtk_option_group(), because it is still needed.
  (Murray Cumming)
* PlacesSidebar: Add local-only object property and get/set methods.
  Bug #723893
  (Juan R. García Blanco)
* Add Popover.
  Bug #723058
  (Juan R. García Blanco)
* Settings: Add gtk-decoration-layout, gtk-shell-shows-desktop
  and gtk-dialogs-use-header properties.
  Bug #723397
  (Juan R. García Blanco)
* Stack: Add get_transition_running(), get_child_by_name() and
  the transition-runnning property.
  Bug #723397
  (Juan R. García Blanco)

Documentation:
* Update the Doxygen configuration.
  (Kjell Ahlstedt)


3.11.4 (unstable):

Gtk:
* Action, Activatable: Undeprecate methods that don't use a StockID.
  We didn't mean to leave them deprecated.
  (Kjell Ahlstedt)
* CellArea: Add signal_apply_attributes().
  (Kjell Ahlstedt)
* SelectionData: Add get_data(int& length).
  (Kjell Ahlstedt)
* ToggleAction: Deprecate the create() that uses (deprecated) StockID
  (Kjell Ahlstedt)
* ToolItem: Add unset_proxy_menu_item().
  (Kjell Ahlstedt)
* UIManager: Deprecate the add-tearoffs property.
  (Kjell Ahlstedt)

Gdk:
* Pixbuf: Add create_from_resource() methods.
* RGBA, Color: Fix set_hsl(), improve documentation.
  (Kjell Ahlstedt) Bug #720258

Build:
* CellArea: Fix documentation of typedef SlotForeachAlloc
  An extra '>' in the docs trapped doxygen 1.8.4 in an infinite loop.
  (Kjell Ahlstedt)
* Fix the build with --disable-deprecated-api
  (Kjell Ahlstedt)

Documentation:
* Add missing widget images.
  (Kjell Ahlstedt)
* AppChooser*: Improve documentation.
  (Kjell Ahlstedt) Bug #650012
* ColorChooser::get_rgba(): Add documentation
  (Kjell Ahlstedt)
* SelectionData: Add methods docs.
  (Kjell Ahlstedt)
* ToolItem: Add class docs.
  (Kjell Ahlstedt)


3.10.1 (stable):

Gtk:
* Avoid including deprecated stockid.h.
  This lets applications build with deprecated API disabled.
  (Murray Cumming)
* RadioAction, RecentAction: Deprecate constructors and methods that
  take StockID.
  StockID was already deprecated so this should not affect
  application builds.
  (Kjell Ahlstedt)

Changes in 3.10 compared to 3.8:

Gtk
* Added HeaderBar.
  (Juan Rafael García Blanco) Bug #708194
* Added ListBox and ListBoxRow,
  (Kjell Ahlstedt) Bug #708115
* Added PlacesSidebar.
  (Juan Rafael García Blanco) Bug #705642
* Add Revealer.
  (Juan R. García Blanco) Bug #705460
* Added Stack and StackSwitcher,
  (Andrew Potter) Bug #704964
* Deprecate Table.
  (Kjell Ahlstedt)
* Deprecate StockID, StockItem, BuiltinStockID, namespace Gtk::Stock.
  (Kjell Ahlstedt)
* Deprecate Gtk::IconFactory, IconSet, IconSource.
  (Kjell Ahlstedt)
* Application:
  - add/remove_accelerator(): Add overloads without the variant parameter.
  (Murray Cumming)
  - Add missing gtk_init() call in one of the constructors.
  (Murray Cumming)
* Button: Add constructor that takes an icon_name and size.
  (Murray Cumming)
* CellRenderer: Deprecate property_cell_background_gdk().
  (Kjell Ahlstedt)
* CellRendererPixbuf: Add the surface property.
  (Murray Cumming)
* CellView: Deprecate property_background_gdk().
  (Kjell Ahlstedt)
* ColorButton: Deprecate get_alpha().
  (Kjell Ahlstedt)
* Container: deprecate resize_children().
  (Kjell Ahlstedt)
* Box: Add get/set_baseline_position() and property.
  (Murray Cumming)
* Entry: Add get/set_tabs() and property.
  (Murray Cumming)
* FileChooser: Add get_current_name().
  (Murray Cumming)
* HeaderBar: Make get_show_close_button() const.
  (Juan Rafael García Blanco)
* Grid:
  - Add get/set_row_baseline_position()
  and get/set_baseline_row(), and baseline-row property.
  (Murray Cumming)
  - Add remove_row() and remove_column().
  (Murray Cumming) 
* Image: Add set(Cairo::Surface)
  (Murray Cumming)
* InfoBar: Add get/set_show_close_button() and
  the property.
  (Murray Cumming)
* IconInfo: Add load_surface() and get_base_scale().
  (Murray Cumming)
* IconTheme:  Add lookup_icon() method overloads that
  take a scale parameter.
  Add choose_icon() method overload that take a scale
  parameter.
  Add load_icon() method overload that takes a scale parameter.
  Add load_surface().
  (Murray Cumming) 
* IconView: set_cursor(): Add a version with no cell parameter
  (Murray Cumming)
* Image: Deprecate methods that take an IconSet or a StockID parameter.
* Label: Add get/set_lines() and property.
  (Murray Cumming)
* Menu, MenuBar: Add constructors that take Gio::MenuModels.
  (Murray Cumming)
* Menu: Make attach_to_widget() public.
  (Murray Cumming)
* MenuButton: Deprecate unset_menu().
  (Kjell Ahlstedt)
* MenuShell: bind_model(): Add a method overload without the
  action_namespace parameter.
  (Murray Cumming)
* PlacesSidebar: Fix crash with the drag_* signals,
  correct some OWNERSHIP_*s, pass vectors by reference in signals
  (Murray Cumming) Bug #705642
* RadioAction: Deprecate the constructor that uses StockID.
  (Murray Cumming)
* RadioToolButton: Fix set_group(). Add reset_group().
  (Kjell Ahlstedt)
* Scale: Constructor: Remove the default parameter value
  to avoid ambiguity.
  (Murray Cumming) Bug #707810 (cheshirekow)
* Add SearchBar.
  (Juan Rafael Garcia Blanco)
* ScrolledWindow: Deprecate property_window_placement_set().
* Settings:
  - Deprecate ignored settings.
    (Murray Cumming)
  - Add create_action().
    (Murray Cumming)
* StyleContext: Deprecate [set|get]_direction() and render_icon_pixbuf().
  (Kjell Ahlstedt)
* ToggleAction: Deprecate the constructor that uses StockID
  (Murray Cumming)
* Widget:
  - Make insert_action_group() public.
    (Murray Cumming)
  - Add remove_action_group()
    (Murray Cumming)
  - Add get_scale_factor().
    (Murray Cumming)
  - Add drag_begin() that takes x and y coordinates.
    (Murray Cumming)
  - Widget Add get_preferred_height_for_width(),
    get_allocated_baseline() and get_valign_with_baseline().
    (Murray Cumming)
  - Deprecate [un]set_composite_name(),
    [push|pop]_composite_child(), get_requisition() and methods that take a
    StockID parameter.
    (Kjell Ahlstedt)
* Window:
  - get_frame_extents(): Add const version.
    (Murray Cumming)
  - Add close().
    (Murray Cumming)
  - Deprecate reshow_with_initial_size().
    (Kjell Ahlstedt)
* Add missing includes in gdkmm.h and gtkmm.h.
  (Kjell Ahlstedt) Bug #699993.

Gdk:
* Deprecate Color.
  (Murray Cumming)
* Cursor: Wrap some new functions.
  (Murray Cumming)
* Device: Add get_position() that uses doubles.
  (Murray Cumming)
* Display: Deprecate get_n_screens().
  (Murray Cumming)
* Screen: Add get_monitor_scale_factor().
  (Murray Cumming)
* Window:
  - Add get_scale_factor().
  - Add get_device_position() taking doubles.
  - Add create_similar_image_surface().
  - Add set_opaque_region().
    (Murray Cumming)

Build:
* Update Visual Studio Projects
  (Chun-wei Fan)
* Update gtk-demo MSVC Projects
  (Chun-wei Fan)
* Move to a generated ChangeLog.
  (José Alburquerque)

Documentation:
* Demos: Catch Glib::FileError from demo_find_file().
  (Kjell Ahlstedt)
* Demos: Add IconTheme demo.
  (Kjell Ahlstedt)
* Demos: Fix calls to Gtk::Grid::attach().
  (Kjell Ahlstedt)



3.10.0 (stable):

Gtk

* Undeprecate UIManager, Action, ActionGroup,
  ToggleAction, RadioAction and RecentAction,
  though they are still deprecated in the C API:
  See https://mail.gnome.org/archives/gtkmm-list/2013-October/msg00003.html
  (Murray Cumming)
* RadioAction: Deprecate the constructor that uses StockID.
  (Murray Cumming)
* ToggleAction: Deprecate the constructor that uses StockID
  (Murray Cumming)
* Application:
  - add/remove_accelerator(): Add overloads without the variant parameter.
  (Murray Cumming)
  - Add missing gtk_init() call in one of the constructors.
  (Murray Cumming)
* Button: Remove unnnecessary BuiltinStockID declaration.
  (Murray Cumming)
* HeaderBar: Make get_show_close_button() const.
  (Juan Rafael García Blanco)
* IconView: set_cursor(): Add a version with no cell parameter
  (Murray Cumming)
* PlacesSidebar: Fix crash with the drag_* signals,
  correct some OWNERSHIP_*s, pass vectors by reference in signals
  (Murray Cumming) Bug #705642
* Settings: Add create_action().
* SearchBar: handle_event(): Take a GdkEventKey instead of GdkEvent.
  (Murray Cumming)
* Window: get_frame_extents(): Add const version.
  (Murray Cumming)

Gdk:
* Deprecate Color.
  (Murray Cumming)

Build:
* Update gtk-demo MSVC Projects
  (Chun-wei Fan)


3.9.16 (unstable):

Gtk:
* Added HeaderBar.
  (Juan Rafael García Blanco) Bug #708194
* Added ListBox and ListBoxRow,
  (Kjell Ahlstedt) Bug #708115
* Added PlacesSidebar.
  (Juan Rafael García Blanco) Bug #705642
* Added Stack and StackSwitcher,
  (Andrew Potter) Bug #704964
* Widget:
  * Make insert_action_group() public.
  (Murray Cumming)
  * Add remove_action_group()
  (Murray Cumming)

3.9.14 (unstable):

Gtk:
* Add SearchBar.
  (Juan Rafael Garcia Blanco)
* Button: Replace the icon_name ctor by set_image_from_icon_name().
  (Kjell Ahlstedt)  Bug #707791
* Scale: Constructor: Remove the default parameter value
  to avoid ambiguity.
  (Murray Cumming) Bug #707810 (cheshirekow)

Gdk:
* Window: Add set_opaque_region().
  (Murray Cumming)

Tools:
* gtk_generate_extra_defs.sh: Add --make-patch option.
  (Kjell Ahlstedt)

Build:
* Update Visual Studio Projects
  (Chun-wei Fan)


3.9.12 (unstable):

Gtk:
* Button: Add constructor that takes an icon_name and size.
  (Murray Cumming)
* Entry: Add get/set_tabs() and property.
  (Murray Cumming)
* Label: Add get/set_lines() and property.
  (Murray Cumming)
* Add Revealer.
  (Juan R. García Blanco) Bug #705460
* Widget:
  - add get_scale_factor().
    (Murray Cumming)
  - Widget: Add drag_begin() that takes x and y coordinates.
    (Murray Cumming)

Gdk:
* Cursor: Wrap some new functions.
  (Murray Cumming)


3.9.10 (unstable):

Gdk:
* Device: Add get_position() that uses doubles.
  (Murray Cumming)
* Screen: Add get_monitor_scale_factor().
  (Murray Cumming)
* Window: Add get_scale_factor().
  Add get_device_position() taking doubles.
  Add create_similar_image_surface().
  (Murray Cumming)

Gtk:
* CellRendererPixbuf: Add the surface property.
  (Murray Cumming)
* Box: Add get/set_baseline_position() and property.
  (Murray Cumming)
* FileChooser: Add get_current_name().
  (Murray Cumming)
* Image: Add set(Cairo::Surface)
  (Murray Cumming)
* InfoBar: Add get/set_show_close_button() and
  the property.
  (Murray Cumming)
* IconInfo: Add load_surface() and get_base_scale().
  (Murray Cumming)
* IconTheme:  Add lookup_icon() method overloads that
  take a scale parameter.
  Add choose_icon() method overload that take a scale
  parameter.
  Add load_icon() method overload that takes a scale parameter.
  Add load_surface().
  (Murray Cumming) 
* Grid:
  - Add get/set_row_baseline_position()
  and get/set_baseline_row(), and baseline-row property.
  (Murray Cumming)
  - Add remove_row() and remove_column().
  (Murray Cumming) 
* Menu, MenuBar: Add constructors that take Gio::MenuModels.
  (Murray Cumming)
* Menu: Make attach_to_widget() public.
  (Murray Cumming)
* MenuShell: bind_model(): Add a method overload without the
  action_namespace parameter.
  (Murray Cumming)
* RadioToolButton: Fix set_group(). Add reset_group().
  (Kjell Ahlstedt)
* Widget Add get_preferred_height_for_width(),
  get_allocated_baseline() and get_valign_with_baseline().
  (Murray Cumming)
* Window: Add close().
  (Murray Cumming)

Documentation:
* Demos: Catch Glib::FileError from demo_find_file().
  (Kjell Ahlstedt)
* Demos: Add IconTheme demo.
  (Kjell Ahlstedt)


3.9.8 (unstable):

Gdk:
* Display: Deprecate get_n_screens().
  (Murray Cumming)

Gtk:
* Action: Deprecate all methods, signals and properties, but not yet the 
  class itseld, because it is still used in not-yet-deprecated API.
  Also deprecated RadioACtion, RecentAction, ToggleAction.
  (Kjell Ahlstedt)
* Deprecate ActionGroup.
  (Kjell Ahlstedt)
* CellRenderer: Deprecate property_cell_background_gdk().
  (Kjell Ahlstedt)
* CellView: Deprecate property_background_gdk().
  (Kjell Ahlstedt)
* ColorButton: Deprecate get_alpha().
  (Kjell Ahlstedt)
* Container: deprecate resize_children().
  (Kjell Ahlstedt)
* Deprecate Gtk::IconFactory, IconSet, IconSource.
  (Kjell Ahlstedt)
* Image: Deprecate methods that take an IconSet or a StockID parameter.
* StyleContext: Deprecate [set|get]_direction() and render_icon_pixbuf().
* Deprecate StockID, StockItem, BuiltinStockID, namespace Gtk::Stock.
* MenuButton: Deprecate unset_menu().
  (Kjell Ahlstedt)
* MenuButton: Deprecate unset_menu().
  (Kjell Ahlstedt)
* ScrolledWindow:  Deprecate property_window_placement_set().
* Settings: Deprecate ignored settings.
* Deprecate Table.
  (Kjell Ahlstedt)
* Deprecate UIManager.
  (Kjell Ahlstedt)
* Widget: Deprecate [un]set_composite_name(),
  [push|pop]_composite_child(), get_requisition() and methods that take a
  StockID parameter.
  (Kjell Ahlstedt)
* Window: Deprecate reshow_with_initial_size().
  (Kjell Ahlstedt)
* Add missing includes in gdkmm.h and gtkmm.h.
  (Kjell Ahlstedt) Bug #699993.

Build:
* Move to a generated ChangeLog.
  (José Alburquerque)

Documentation:
* Demos: Fix calls to Gtk::Grid::attach().
  (Kjell Ahlstedt)


3.8.1 (stable):

Gtk:
* Widget: Don't call signal_hide handlers on a widget being deleted,
  to fix a crash in some applications.
  (Kjell Ahlstedt) Bug #605728

Changes in 3.8 compared to 3.6:

Gtk:
* AccelLabel: Add set_accel().
  (Murray Cumming)
* ActionGroup: Add get/set_accel_group()
  and the accel-group property.
  (Murray Cumming)
* Bin, Container::remove(): Restore the floating ref of a managed widget.
  (Kjell Ahlstedt) Bug #685739 (Jonas Platte)
* Builder:
  - Add const versions of get_object() and get_widget[_derived]().
  (Kjell Ahlstedt) Bug #666823 (Hubert Figuière)
  - Add get_objects().
  (Hubert Figuière) Bug #666823
* Entry: Add the populate_all property.
  (Murray Cumming)
* Image: Add the resource property.
  (Murray Cumming)
* IconInfo: Add load_icon_async(),
  load_symbolic_async(), load_symbolic_for_context().
  (Murray Cumming)
* IconView:
  - Add get/set_activate_on_single_click().
  and the activate-on-single-click property.
  - Add get_cell_rect().
  (Murray Cumming)  
* LevelBar: Add get/set_inverted().
  (Murray Cumming)
* MenuShell: Add bind_model().
  (Murray Cumming)
* ScrolledWindow: Add remove_with_viewport().
  (Kjell Ahlstedt) Bug #685739 (Jonas Platte)
* Settings: Add the  gtk-recent-files-enabled
  and gtk-primary-button-warps-slider
  properties.
  (Murray Cumming)
* TextView: Add the populate_all property.
  (Murray Cumming)
* TreeView: Add get/set_activate_on_single_click()
  and the activate-on-single-click property.
  (Murray Cumming
* Widget:
  - Add is_visible(), register_window() and
  unregister_window().
  (Murray Cumming)
  - Add get/set_opacity(),
  set_opacity() and the opacity property.
  (Murray Cumming)
* Window: Deprecate get_opacity(),
  set_opacity() and the opacity property.
  (Murray Cumming)
* Window: Add set_titlebar().
  (Murray Cumming)
* Modify the deletion of widgets.
  (Kjell Ahlstedt) Bug #605728 (Murray Cumming) and Bug #315874 (Philip Langdale)

Gdk:
* PixbufAnimation: Fix refcounting on get_iter().
  (Andrew Potter) Bug #688686
* Rectangle: Add Gdk::join() and Gdk::intersect() nonmember functions.
  (Kjell Ahlstedt) Bug #452130 (Jonathon Jongsma)
* Window: Add get/set_fullscreen_mode().
  (Murray Cumming)

Build:
* Fix and Update the Visual Studio Solution Files
  for MSVC.Net 2005, 2008 and 2010.
  (Chun-wei Fan)
* Fix the build with the lastest GTK+ from git master,
  to cope with the slightly-changed GTK+ API caused by this commit:
  https://git.gnome.org/browse/gtk+/commit/?id=88623b98a7ca0afca08ac21bc3aa662c6ed3ab7f
  Bug #695305 (Cosimo Cecchi, mussadek)
* Preserve our generated API/ABI after GTK+ API-compatible changes.
  (Kjell Ahlstedt)
* Gtk::ScrolledWindow: Do not use a deprecated function.
  (Murray Cumming)
* Gtk::IconInfo: Do not use deprecated copy/free functions.
  (Murray Cumming)
* gen_scripts: Get information from gdk-pixbuf.
  (Kjell Ahlstedt)

Documentation:
* Update generated documentation.
  (Kjell Ahlstedt)
* Small correction to TreeModel::set_value_impl().
  (Murray Cumming)
* Fix many warnings from Doxygen.
  (Kjell Ahlstedt)      


3.8.0 (stable):

Changes since 3.7.12:

Gtk:
* AccelLabel: Add set_accel().
  (Murray Cumming)
* ActionGroup: Add get/set_accel_group()
  and the accel-group property.
  (Murray Cumming)
* Entry: Add the populate_all property.
  (Murray Cumming)
* Image: Add the resource property.
  (Murray Cumming)
* IconInfo: Add load_icon_async(),
  load_symbolic_async(), load_symbolic_for_context().
  (Murray Cumming)
* IconView:
  - Add get/set_activate_on_single_click().
  and the activate-on-single-click property.
  - Add get_cell_rect().
  (Murray Cumming)  
* LevelBar: Add get/set_inverted().
  (Murray Cumming)
* MenuShell: Add bind_model().
  (Murray Cumming)
* Settings: Add the  gtk-recent-files-enabled
  and gtk-primary-button-warps-slider
  properties.
  (Murray Cumming)
* TextView: Add the populate_all property.
  (Murray Cumming)
* TreeView: Add get/set_activate_on_single_click()
  and the activate-on-single-click property.
  (Murray Cumming
* Widget: Add is_visible(), register_window() and
  unregister_window().
  (Murray Cumming)
* Window: Add set_titlebar().
  (Murray Cumming)

Gdk:
* Window: Add get/set_fullscreen_mode().
  (Murray Cumming)

Build:
* Fix and Update the Visual Studio Solution Files
  for MSVC.Net 2005, 2008 and 2010.
  (Chun-wei Fan)



3.7.12 (unstable):

Gtk:
* Modify the deletion of widgets.
  (Kjell Ahlstedt) Bug #605728 (Murray Cumming) and Bug #315874 (Philip Langdale)

Build:
* Fix the build with the lastest GTK+ from git master,
  to cope with the slightly-changed GTK+ API caused by this commit:
  https://git.gnome.org/browse/gtk+/commit/?id=88623b98a7ca0afca08ac21bc3aa662c6ed3ab7f
  Bug #695305 (Cosimo Cecchi, mussadek)
* Preserve our generated API/ABI after GTK+ API-compatible changes.
  (Kjell Ahlstedt)

Documentation:
* Update generated documentation.
  (Kjell Ahlstedt)


3.7.10 (unstable):

Gdk:

* PixbufAnimation: Fix refcounting on get_iter().
  (Andrew Potter) Bug #688686
* Rectangle: Add Gdk::join() and Gdk::intersect() nonmember functions.
  (Kjell Ahlstedt) Bug #452130 (Jonathon Jongsma)

Gtk:
* Bin, Container::remove(): Restore the floating ref of a managed widget.
  (Kjell Ahlstedt) Bug #685739 (Jonas Platte)
* Builder:
  - Add const versions of get_object() and get_widget[_derived]().
  (Kjell Ahlstedt) Bug #666823 (Hubert Figuière)
  - Add get_objects().
  (Hubert Figuière) Bug #666823
* ScrolledWindow: Add remove_with_viewport().
  (Kjell Ahlstedt) Bug #685739 (Jonas Platte)
* Widget: Add get/set_opacity(),
  set_opacity() and the opacity property.
  (Murray Cumming)
* Window: Deprecate get_opacity(),
  set_opacity() and the opacity property.
  (Murray Cumming)

Documentation:
* Small correction to TreeModel::set_value_impl().
  (Murray Cumming)
* Fix many warnings from Doxygen.
  (Kjell Ahlstedt)	

Build:
* Gtk::ScrolledWindow: Do not use a deprecated function.
  (Murray Cumming)
* Gtk::IconInfo: Do not use deprecated copy/free functions.
  (Murray Cumming)
* gen_scripts: Get information from gdk-pixbuf.
  (Kjell Ahlstedt)


Changes in 3.6 compared to 3.4:

Gtk:
* Application:
 - Added get_active_window() and get_window_by_id().
   (Murray Cumming)
* ApplicationWindow: Add get_id().
  (Murray Cumming)
* Builder: Add create_from_resource() and add_from_resource().
  (Kalev Lember) Bug #674545
* Button: Addedset/get_always_show_image() and the property.
* CellRendererText: Added the placeholder_text property.
  (Murray Cumming)
* ComboBox: Add set_active_id(), deprecating get_active_id(string).
  (Murray Cumming) Bug #685801 (Phil Wolff)
* Container: Add forall(), propagate_draw(),
  get_focus_child() and get_path_for_child().
  (Murray Cumming)
* Entry:
  - Add input purpose and input hints methods.
    (Murray Cumming)
  - Undeprecate the activate signal.
    (Murray Cumming) Bug #655500 (Kjell Ahlstedt)
* IconView: Add get_item_row() and get_item_column()
  and reorderable, tooltip-column and item-padding properties.
  (Murray Cumming)
* Added the LevelBar widget.
  (Murray Cumming)
* Added MenuButton.
  (Murray Cumming)
* PrintJob: Added get/set_page_ranges().
  (Murray Cumming)
* Added SearchEntry.
  (Murray Cumming)
* Settings: Added the enable_primary_paste property.
  (Murray Cumming)
* StyleContext:
  - Add render_icon() and render_insertion_cursor() and deprecate some 
    functions.
    (Kjell Ahlstedt) Bug #675632
  - Add get_style_property().
    (Mark Vender) Bug #674746
* TargetList: Add some add_*_targets() methods.
  (Murray Cumming)
* TextView: Added input purpose and input hints methods.
  (Murray Cumming)
* UIManager: Add add_ui_from_resource().
  (Kalev Lember) Bug #674545
* Widget: Add has_visible_focus() and insert_action_group().
  (Murray Cumming)
* WidgetPath: Added to_string(), iter_get_siblings() and 
  iter_list_regions().
  (Murray Cumming)
* Window: Add set_startup_id(), is_active(), 
  has_toplevel_focus(), set_default_geometry(), 
  resize_to_geometry(), has_group().
  Add the focus-visible and attached-to properties.
  (Murray Cumming)
* WindowGroup: Add list_windows() and get_current_grab().
  (Murray Cumming)

Gdk:
* Pixbuf: Added  const version of save() and friends
  (Mark Vender) Bug #678886.
* Screen: Added get_monitor_workarea().
  (Murray Cumming)
	

3.6.0 (stable):

Gtk:
* ComboBox: Add set_active_id(), deprecating get_active_id(string).
  (Murray Cumming) Bug #685801 (Phil Wolff)
* TargetList: Add some add_*_targets() methods.
  (Murray Cumming)
* WindowGroup: Add list_windows() and get_current_grab().
  (Murray Cumming)

3.5.13 (unstable):

Gtk:
* ApplicationWindow: Add get_id().
* Container: Add forall(), propagate_draw(),
  get_focus_child() and get_path_for_child().
* IconView: Add get_item_row() and get_item_column()
  and reorderable, tooltip-column and item-padding properties.
* LevelBar: Added properties and signal.
* PrintJob: Added get/set_page_ranges().
* Settings: Added the enable_primary_paste property.
* Widget: Add has_visible_focus().
* Window: Add set_startup_id(), is_active(), 
  has_toplevel_focus(), set_default_geometry(), 
  resize_to_geometry(), has_group().
  Add the focus-visible and attached-to properties.
  (Murray Cumming)

Build:
* Use std::time_t instead of ::time_t.
* Use std::size_t and std::ptrdiff_t.
  (Kjell Ahlstedt)

3.5.12 (unstable):

Gtk:
* Added the LevelBar widget.
  (Murray Cumming)
* Application:
  - Added get_active_window().
    (Murray Cumming)
  - Don't call add_window() before the application is registered.
    (Kjell Ahlstedt) Bug #681323 (Gregory Martin)
* CellRendererText: Added the placeholder_text property.
* Entry: Add input purpose and input hints methods.
* MenuButton: Added get/set_popup(), deprecated get/set_menu().
* Settings: Deprecate the gtk-touchscreen-property.
* TextView: Added input purpose and input hints methods.
* Widget: Added insert_action_group().
  (Murray Cumming)

Documentation:
* Show the get_type() methods in the API documentation.
  (Murray Cumming) Bug #670212 (Mark Vender).

3.5.6 (unstable):

Gtk:
* AppChooserDialog: Fix property name in constructors.
  (Kjell Ahlstedt)
* Application:
  - run(): Do not show the window until activation, fix a crash.
  - Added get_window_by_id().
* Button: Addedset/get_always_show_image() and the property.
* Added Gtk::MenuButton.
* Added Gtk::SearchEntry.
* WidgetPath: Added to_string(), iter_get_siblings() and 
  iter_list_regions().
  (Murray Cumming)
* Fix wrap_init() for Quartz (MacOS).
  (Kjell Ahlstedt) Bug #678883.

Gdk:
* Pixbuf: Added  const version of save() and friends
  (Mark Vender) Bug #678886.
* Screen: Added get_monitor_workarea().

3.5.4 (unstable):

* Application:
  - Document that ID may now be empty.
  - Pass 0 (NULL) rather than "" to GApplication.
* Builder: Add create_from_resource() and add_from_resource().
  (Kalev Lember) Bug #674545
* Entry: Undeprecate the activate signal.
  (Murray Cumming) Bug #655500 (Kjell Ahlstedt)
* StyleContext:
  - Add render_icon() and render_insertion_cursor() and deprecate some 
    functions.
    (Kjell Ahlstedt) Bug #675632
  - Add get_style_property().
    (Mark Vender) Bug #674746
* UIManager: Add add_ui_from_resource().
	(Kalev Lember) Bug #674545
* Widget: Deprecate draw_insertion_cursor().
  (Kjell Ahlstedt) Bug #675632
* Documentation:
  - Application: add_window(): Correct the documentation.
	  (Murray Cumming) Noticed by Mateusz Marzantowicz.
  - Container: Document several rarely used virtual functions
    (Mark Vender) Bug #670206
  - Widget: Document get_style_property_value() and get_style_property().
    (Mark Vender) Bug #673303
* Build: Make the list of gdk targets non-automagic. Otherwise, it is difficult
  e.g. to build a wayland-only gtkmm on a build machine that has gdk with both 
  x11 and wayland targets installed.
  (Alexandre Rostovtsev) Bug #673963
	
3.4.0 (stable):

Gtk:
* CellArea: Add signals.
  (Murray Cumming)
* TreePath: Guarantee that all constructors make gobject_ != 0.
  (Kjell Ahlstedt) Bug #511136 (Tom Jaeger)
* Window: Add begin/move_resize_drag() overloads that take a Device.
  (Murray Cumming)

Build:
* Remove the Maemo Extensions API.
  (Adrian Bunk)

Documentation:
* Gtk::Widget: add documentation for the destructor.
  (Mark Vender) Bug #670275


3.3.20 (unstable):

Gdk:
* Added AppLaunchContext.
* Device: Added list_axes().
  (Murray Cumming)
* Display: Deprecate the set_double_click_[time|distance]() methods.
  (Kjell Ahlstedt)
* RGBA: set_grey(), set_grey_u(): Correct the default alpha values.
  (Murray Cumming) Bug #671573 (Mark Vender)

Gtk:
* Actionable: Ensure virtual functions don't return freed memory.
  (José Alburquerque)
* Button:
  -  Deprecate the activate signal.
    ( Kjell Ahlstedt)
  - Deprecated signal_pressed(), signal_released(), signal_enter() 
    and signal_leave().
    (Murray Cumming)
* CellArea: Added foreach() and some properties. 
* ColorChooser: Added add_palette().
* ComboBox: Added signal_format_entry_text().
* Entry: Deprecate the activate signal.
* FontChooser: Added set_filter().
* MenuItem:
  - Deprecated get/set_right_justified().
  - Added signal_select() and signal_deselect().
* MenuShell: Added Add signal_insert().
* Notebook: Deprecated get_tab_hborder() and get_tab_vborder().
* ScrolledWindow: Added get/set_kinetic_scrolling(),
  get/set_capture_button_press() and the kinetic-scrolling property.
* Scale: Added set/get_has_origin() and property.
* Settings: Added several new properties.
* StyleContext: Added list_classes() and get_parent().
* TreeView: Added get_n_columns().
* Widget:
  - Deprecated get/set_state() and 
  signal_state_changed(), adding signal_state_flags_changed().
  - Added signal_touch_event().
  (Murray Cumming)
* Undeprecate init_gtkmm_internals()
  (Murray Cumming)

Build:
* Fix warnings found by clang++.
  (Murray Cumming)
* TreeView: Work around a HP-UX aCC compiler error.
  (Albert Chin)


3.3.18 (unstable):

Gtk:
* AboutDialog: Added add_credits_section().
* Application: Added get/set_app_menu(), get/set_menubar(),
  add/remove_accelerator(), inhibit(), uninhibit(), is_inhibited(),
  properties and signals.
* Add ApplicationWindow.
* Add ColorChooser and ColorChooserDialog.
* ColorSelection*: Document these as deprecated.
* EntryCompletion: Added compute_prefix().
* FontChooser: Add properties and signals.
* Image: Add set_from_resource().
* Main: Deprecate (most of) this in favor of Gtk::Application.
* StyleContext: Added set_parent() and unset_parent().
* Widget: Add get_modifier_mask().
* Window: Add unset/set/get_attached_to(),
  get/set_hide_titlebar_when_maximized() and property.
  (Murray Cumming)

* gmmproc: _CLASS_GTKOBJECT: Include destructor documentation.
  (José Alburquerque) Bug #668918.

3.3.16 (unstable):

Gtk:
* Add the Actionable interface.
  However, we cannot make it a base class of existing classes because that
  would break ABI. We can use it for new classes, or use it after a future
  ABI break.
  (José Alburquerque) Bug #637445.
* Application:
  - Constructor: Receive argc and argv params by reference.
  - Initialize gtkmm early enough for successful construction.
  (José Alburquerque) Bug #637445.
  - Avoid the need to use Gtk::Main.
  - Make the create() methods static.
  (Murray Cumming)
* Border: Add reference documentation.
  (Murray Cumming) Bug #669907 (Mark)
* ColorButton: set_color(), set_alpha(), constructor: Deprecate
  these, as they are deprecated in the C API.
  (Murray Cumming)
* EntryBuffer: Correct the EntryBuffer(name) constructor.
  Bug #670784 (Marcus Yass)
* Grid: Add get_child_at(), insert_row(),
  insert_row(), insert_column(), insert_next_to().
  (Mark Vender) Bug #670238
* TextTag: Add RGBA versions of the properties.
  (Murray Cumming)
* Window: set_background(Color): Deprcate this.
  (Murray Cumming)
* Deprecate some properties that use Gdk::Color.
  (Murray Cumming)
* Documentation: Add documentation for signals, based on the C
  documentation.
  (José Alburquerque) Bug #668918.

3.3.14 (unstable):

Gtk:
* AboutDialog: Add unset_license() and set_logo_default().
  (Kjell Ahlstedt) Bug #616769
* Application: Add back Application, though it is not ready yet.
  (Murray Cumming) Bug #637445#c29
* Deprecate some methods using Gdk::Color, to fix the build.
  (Murray Cumming)
* Entry: Deprecate [set|get]_inner_border().
	(José Alburquerque) Bug #669190.
* IconView: Implement IconView::IconView(Gtk::CellArea). 
	(Hub Figuière) Bug #665361
* Main: Deprecate signal_key_snooper().
	(Murray Cumming)
* Settings: Add missing properties.
  (Hub Figuière) Bug #665264
* Widget: Deprecate get_pointer().
  (Murray Cumming)

Build:
* Fix the build for Quartz (MacOS).
  (John Ralls) Bug #662975
* Fix configure.ac that had a broken shell syntax.
  (Hub Figuière) Bug #665267
* Fix namespacing for Cairo
  (Hub Figuière) Bug #663303

3.3.2. (unstable):

* Avoid some more deprecation warnings with the recent GTK+.
* Deprecate HandleBox.
* Deprecate TearOffMenuItem.
* Deprecate Gtk::Table in favour of Gtk::Grid.
* Add #includes needed with the latest glibmm.
* Build: make check: Use xmllint to check the generated .html documentation.
  (Murray Cumming)

3.2.0 (stable):

Gtk:
* Remove Application, because it is still not ready.
  See bug #637445#c29
* Assistant: Deprecate get/set_page_header_image() and get/set_page_side_image().
* TreeView: Added unset_row_separator_func().
	
3.1.90.1 (unstable):

Gdk:
* Device: Added get_n_keys() and list_slave_devices().
* Pixbuf: Added properties.
* Window: Added get_drag_protocol().
  (Murray Cumming)
Documentation:
* Avoid invalid HTML in link titles (hopefully).
  (José Alburquerque) Bug #650544 (Hubert Figuiere)
* Remove collaboration diagrams.
  (Murray Cumming)
    
3.1.90 (unstable):

Gtk:
* FontChooser is now an interface, like AppChooser and
* FontChooserDialog: Derive from FontChooser, removing some methods.
* FontChooserWidget: A new widget derived from FontChooser.
* FontButton: This should now derive from FontChooser but 
	we cannot do that without breaking ABI because FontButton was in gktmm 3.0.
  (Murray Cumming)
* TreeView: Make append_column_numeric_editable() work for [unsigned] short.
  (Kjell Ahlstedt) Bug #655416 (Morpheus)
* Widget::get_allocation(): Add the newer documentation from the C docs.
  (Murray Cumming)

3.1.18 (unstable):

Gtk:
* Assistant: Added remove_page().
  (Murray Cumming)
* Dialog::get_content_area(): Avoid infinite loop.
  (Kjell Ahlstedt)
* Added FontChooser and FontChooserDialog, deprecating old widgets.
  (Murray Cumming)
* PrintUnixDialog::get_selected_printer(): ref-counting correction.
  (Kjell Ahlstedt) Bug #657751.
* TreeView: Added unset_drag_dest_row().
 (Murray Cumming) Bug #577986 (Hubert Figuiere, Johannes Schmid)

Build:
* Updated Visual C++ Projects
	(Chun-wei Fan)

3.1.16 (unstable):

* Added Gtk::FontChooser and Gtk::FontChooserDialog, deprecating old widgets.
  (Murray Cumming)
* Updated Visual C++ Projects
	(Chun-wei Fan )

3.1.10 (unstable):

Gtk:
* Adjustment: Added get_minimum_increment().
* ButtonBox: Added get_child_non_homogeneous() and
	set_child_non_homogeneous().
* CellArea: Added get_focus_siblings().
* CssProvider: Added to_string(), 
* Entry: Added get_placeholder_text(), set_placeholder_text(),
	and placeholder-text property.
* Expander: Added set_resize_toplevel(), get_resize_toplevel() 
	and resize-toplevel property.
* PrintJob: Added set/get_pages(), set/get_page_set(), 
	set/get_num_copies(), set/get_scale(), set/get_n_up(), set/get_n_up_layout(),
	set/get_rotate(), set/get_collate(), set/get_reverse().
	(Murray Cumming)
* Tooltip: Add unset_*() methods.
  (Jonathon Jongsma) Bug #541296
* TreeViewColumn: Added get_x_offset().
* Added several other properties to various classes.
  (Murray Cumming)
	
3.1.8 (unstable):

* Gtk:
- ComboBoxText: Constructor: Set entry-text-column and id-column.
  Bug #653579 (Glus Xof)
	
3.1.6 (unstable):

Gtk:
* All H* or V* specialized classes have been deprecated, to 
  match the deprecations in the GTK+ C API. You should now 
  set the orientation instead.
  This includes HBox, VBox, HButtonBox, VButtonBox, HPaned, VPaned, HScale, 
  VScale,  HSeparator, VSeparator, HScrollbar and VScrollbar.
  HBox and VBox are not protected by ifdefs because they are used as base 
  classes for several other widgets, and we can't change that without breaking 
  ABI.
* Dialog: Deprecate get_vbox(), replacing with get_content_area(), 
  to match the C function name.

3.0.1 (stable):

Gtk:
* EntryCompletion: signal_cursor_match_info(): Fix this.
  (Murray Cumming) Noticed by Andrew E. Makeev.
* MessageDialog: Correct the get_message_area() return type.
  (Murray Cumming) Noticed by Kjell Ahlstedt.
* ScrolledWindow: Correct the get_v/hscrollbar() return types.
  (Murray Cumming) Noticed by Andrew E. Makeev.
* Fix the --enable-warnings=fatal build with GTK+ 3.1.x.
  (Murray Cumming)

gtkmm 3.0:

To port to gtkmm-3.0 you should first try to build your application with
gtkmm-2.4 but without using deprecated API. For instance:
http://www.murrayc.com/blog/permalink/2011/01/18/avoiding-use-of-deprecated-api/

The deprecated API generally has documentation suggesting what new API you
should use instead:
http://developer.gnome.org/gtkmm/2.24/deprecated.html

These hints might also be helpful:
http://live.gnome.org/gtkmm/PortingToGtkmm3

Some new/changed API in gtkmm-3.0:

Gtk:
* Adjustment is now used via RefPtr.
* AppChooser, AppChooserButton, AppChooserDialog.
* Box, ButtonBox, IconView, Paned, ProgressBar, ScaleButton, ScrollBar,
  and Separator now derive from Orientable.
* All widgets derive from Buildable.
* Several widgets derive from Scrollable.
* CellArea and CellAreaBox
* ComboBox now derives from CellLayout.
* IconSet is now used via RefPtr.
* StyleContext, StyleProvider, and CssProvider, replacing Style and Rc.
* Grid
* NumerableIcon.
* Switch
* Widget::on_expose_event() is now Widget::on_draw().

Gdk:
* Added DeviceManager.
* Removed Drawable, Pixmap and Bitmap.
* Cursor is now used via RefPtr.
* RGBA replaces Color, though Color still exists because it is used by TextView.
  We hope to deprecated Color completely in gtkmm 3.2.
* Removed Colormap and its general awkardness.

General:
* Use std::vector in several methods instead of the intermediate *Handle types,
  to make the API clearer.
* Change all operator void* to operator const void*, with a BoolExpr typedef
  and extra documentation.
  This avoids an unintentional implicit cast to int, and is generally
  considered good practice in C++. The new C++ standard allows the use of
  the explicit keyword here instead, but that is not yet widespread.
* Many existing classes have many new methods.
* gtkmm-3.0 currently has no deprecated API.
  Not even API that was added and then deprecated during GTK+ 3.0.

See also the list of new API in gtkmm 3.0:
http://developer.gnome.org/gtkmm/unstable/since_3_0.html

3.0.0 (stable):

Gtk:
* Change all operator void* to operator const void*, with a BoolExpr typedef
  and extra documentation.
  This avoids an unintentional implicit cast to int, and is generally
  considered good practice in C++. The new C++ standard allows the use of
  the explicit keyword here instead, but that is not yet widespread.
  (Murray Cumming, Daniel Elstner)
* NumerableIcon: Really add get_background_gicon() const.
  (Murray Cumming, Kjell Ahlstedt)
* StateFlags: Added missing STATE_FLAG_NORMAL enum value.
  (Kalev Lember)

2.99.9 (unstable):

* Avoid a tarball dependency on mm-common.
  (Murray Cumming)

2.99.7 (unstable):

Gtk:
* Removed Application until later because the API was not finished in time.
  (Murray Cumming)

2.99.6 (unstable):

Gtk:
* CssProvider: load_from_data(): Remove the size parameter.
	(Fabien Parent)
* Main: Added a constructor with no argc and argv.
  (Murray Cumming)
* TreeView::add_column_editable(): Make this work for TreeModelFilter models.
  (Luca Wehrstedt) Bug #582981
* Window: Added unset_application.
  (Murray Cumming)

2.99.5 (unstable):

Gtk:
* ButtonBox, Separator, Scale, Scrollbar: Add public constructors.
  (Murray Cumming)
* CellArea, CellRenderer: Added get_request_mode(),
  get_preferred_[width|height_for_width|height|width_for_height] vfuncs.
  (Kjell Ahlstedt) Bug #639073,
* CellView: Derive from Orientable and add set/get_draw_sensitive(),
	set/get_fit_model() and the new properties.
* EntryCompletion: Derive from Buildable and add the cell-area
	property.
* IconView: Added the cell_area property.
* Image: Added the set_fallback property.
* Paned: Constructor: Add an optional orientation parameter.
* Widget: Added should_draw_window() and transform_cairo_context_to_window().
  (Murray Cumming)

2.99.4 (unstable):

Gtk:
* Added AppChooser, AppChooserButton, AppChooserDialog and AppChooserWidget.
* Button: Restore the clicked() method.
	Thanks to Aurimas Černius.
* CellArea: Added constructor that takes a CellArea.
  (Murray Cumming)
* Entry: Added unset_icon().
  (Murray Cumming) Bug #621742 (feuloren)

Documentation:
* ComboBoxText: Add warning about not confusing these.
	Bug #619656 (JimO, Kjell Ahlstedt)

2.99.3 (unstable):

Gdk:
* Display:
  - selection_send_notify(): This now takes a
	Gdk::Window instead of a (now removed) GdkNativeWindow.
	- Removed get_protocol() and add_client_message_filter().
* Screen: Removed send_client_message().
  (Murray Cumming)
* Use std::vector in several methods instead of the intermediate *Handle types,
  to make the API clearer.
  (Krzesimir Nowak)

Gtk:
* Application: Try to make this a replacement for Gtk::Main, though this
 work is not finished yet.
  (Murray Cumming)
* Button: Restore the clicked() method.
  Thanks to Aurimas Černius.
* CellArea: Remove set_style_detail() and get_style_detail().
* CellRenderer: Added get_state().
  (Murray Cumming)
* ComboBoxText: Remove the constructor that takes a model.
* CssProvider:
 - Add a create() method.
 - get_default() and get_named(): fixed the reference counting.
 (Kjell Ahlstedt)
* IconSet: Use this via a RefPtr.
* LisViewText: Rename append_text(), insert_text(), and
	prepend_text() to append(), insert() and prepend() because that is what
	ComboBoxText now uses (because it has other append overloads).
* Added NumerableIcon.
* Range: Added get/set_round_digits() and property.
* TextView: Added get_cursor_locations().
* Widget:
  - Removed client_event signal.
  - Added set_state_flags(), get_state_flags(),
	reset_state_flags(), set_device_enable(), get_device_enabled(), and
	reset_style().
  (Murray Cumming)
  - Added get_request_mode_vfunc(),
	get_preferred_[width|height_for_width|height|width_for_height]_vfunc().
	Bug #639073.
	(Kjell Ahlstedt)
	- Wrap the style-updated signal.
	(Armin Burgmeier)
	- set_window(), set_has_window(), and get_requisition() are now protected.
	(Murray Cumming)
	- set_window(): Increase the ref count of the Gdk::Window because GTK+ does
	not, and will not, though we think we may need to do more work to fix this
	properly.
  (Kjell Ahlstedt) Bug #606903 (Hammered)

2.99.1 (unstable):

Gdk:
* Cursor: Add create() methods, making the constructors protected,
	because this should now be used via RefPtr.
  (Murray Cumming)
* Device:
  - Added get_history().
  - Added grab() overload.
  - Added Added get_position() and get_window_at_position().
  - Removed set_source().
  (Krzesimir Nowak)
  - Added get_window_at_position() with no parameters.
  - Added warp().
  (Murray Cumming)
* Display:
  - Removed Remove get_device_state() and get_window_at_device_position()
  (Krzesimir Nowak)
  - Added has_pending() and notify_startup_complete().
  - Removed pointer_ungrab(),  keyboard_ungrab(), pointer_is_grabbed(),
  device_is_grabbed(), get_pointer(), get_window_at_pointer(), warp_pointer,
  set_pointer_hooks(), unset_pointer_hooks(), set_device_hooks(),
  unset_device_hooks().
  (Murray Cumming)
* DisplayManager.hg: Added open_display().
* DragContext: find_window_for_screen():
  - Use a reference for the protocol parameter, instead of a pointer.
	- Added get_dest_window() and get_protocol().
* Pixbuf: Added set_option() and apply_embedded_orientation().
* Screen: The monitors_changed() signal was wrapping the
	size_changed signal. Fixed.
* Window: Added get_device_cursor().
  (Murray Cumming)

Gtk:
* Adjustment: Fix the reference counting of Adjustment.
  (Kjell Ahlstedt)
* MenuItem: Added get/set_reserve_indicator().
* MenuShell: Added get_selected_item() and get_parent_shell().
* Range: Remove get/set_update_policy(), to fix the build.
* StyleContext: Added get/set_path() and get_screen().
* TreeModel::iterator::operator--(): Use gtk_tree_model_iter_previous().
* TreeView: Added is_blank_at_pos().
* Widget: Removed style_attach().
* Window: Removed set_frame_event(), get_frame_event(),
	set_frame_dimensions(), get_frame_dimensions() and the frame_event signal.
  (Murray Cumming)

2.91.7 (unstable):

Gtk:
* Fix the build with latest glibmm after gmmproc m4 changes.
* Application: Added a protected constructor so oeople can derive from this.
	Bug #637445 (Yannick Guesnet)
* Added CellArea, CellAreaBox, and CellAreaContext.
* CellLayout: Added get_area().
* CellRenderer: Added is_activatable() and get_aligned_area().
* IconInfo:
  - Renamed load_icon_symbolic() to load_symbolic()
  - Added load_icon_symbolic(StyleContext, bool&).
* Switch: Fix the type registration to avoid breaking Widget's type
  registration completely, which probably broke everything.
* TreeViewColumn: Added get_button().
* Widget:
  - Removed reset_shapes() and get_default_visual().
  - Added unset_color/font() methods.
  - Removed render_icon(), adding render_icon_pixbuf().
* WidgetPath: Renamed get_widget_type() to get_object_type() and
	renamed iter_get/set_widget_type() renamed to iter_get/set_object_type().
* Window: Added get/set_application().
  (Murray Cumming)

Gdk:
* Cursor should now be used via RefPtr.
* Display: Removed warp_device().
* Pixbuf: Derive from Gio::Icon.
  (Murray Cumming)

2.91.6 (unstable):

Gtk:
* Added the StyleContext, StyleProvider, and CssProvider classes,
  removing the Style and RC classes.
* Added Gdk::Cairo::set_source_rgba().
* Widget: Added get_style_context().
* Cellrenderer, Cellrenderertext, Cellview, Colorbutton, TextTag:
  Added RGBA versions of color properties. We expect to remove Gdk::Color
  in future, maybe then renaming all uses of RGBA to Color.
* ColorSelection: Added get/set_current_rgba() and get/set_previous_rgba().
* ComboBoxText:
  - Renamed append_text(), prepend_text() and insert_text() to append(),
  prepend() and insert().
  - Added extra append()/prepend()/insert() overloads that also take an id.
  - Added get/set_id_column(), get/set_active_id() and properties.
* Widget:
  - Removed the style_changed signal because it used GtkStyle, though
  we might bring this back when the GTK+ code is completely ported to
  GtkStyleContext.
  - Added get_path(), removing path().
  - Removed the no_expose_event signal.
* Added WidgetPath.
* Window: get_geometry(): Removed the depth parameter.

Gdk:
* Removed Drawable.
* RGBA: Rename set_rgb_p(double) to set_rgba(dobule) and rename the old
  set_rgb(gushort) to set_rgb_u(gushort). Likewise for other methods.
  This makes it more like GdkRGBA, which uses double instead of the gushort
  that GdkColor used.
* Window:
  - Added set_background(RGBA) and renamed  set_background_pattern() to
  set_background(Pattern).
	- Added set_clip_region() and get_visible_region() and create_cairo_context(),
	which were previously in the (now removed) base Drawable class.

2.91.5.1 (unstable):

Fix the build with GTK+ 2.91.5 by removing some newer GtkComboBox methods.

2.91.5 (unstable):

Gdk:
* Device: get_n_axes() now returns an int instead of a guint.

Gtk:
* ComboBox: Added get/set_id_column(), get/set_active_id() and
	properties.
* Scrollable, ScrolledWindow: Fix Adjustment reference counting.
* Added Switch widget.
* Removed Ruler, with no replacement in gtkmm itself, because it
  was not used generally enough.
  (Murray Cumming)

2.91.4 (unstable):

Gtk:
* Dialog: get_vbox(): Return a Box instead of a VBox.
* Added Grid container.
  (Murray Cumming)
* Style: Fixed the clone_vfunc() implementation's reference-counting.
  (José Alburquerque)
* Widget: Removed the deprecated size-request signal.
  (Murray Cumming)

Build:
* Fix the refcount-debug-warnings build.
  (Krzesimir Nowak)
* Windows Installer:
  - Make sure libintl-8.dll gets cleaned up correctly on uninstall.
  - Add the lib\cairomm-1.0 directory to the installed files.
  (Armin Burgmeier)

2.91.3 (unstable):

Gtk:
* Assistant: Added next_page() and previous_page().
* Box: Added a public constructor.
* RecentInfo: Added create_app_info().
* Scrollable: Added get/set_h/vscroll_policy().
* Widget: Added in_destruction().
  (Murray Cumming)
* Style: Correct the reference counting when deriving.
  (José Alburquerque)

2.91.2 (unstable):

Gdk:
* Added RGBA class.
* Display: Added set/unset_device_hooks().
* IconInfo: load_icon_symbolic(): Change the parameters from
	Color to RGBA.

Gtk:
* AboutDialog: Add activate_link signal.
* Application: Several methods removed.
* Entry:
  - Removed get_text_window() and get_icon_window().
  - Added get_text_area() and get_icon_area().
* CellView: Added set_background_rgba().
	* tools/m4/convert_gdk.m4: Added necessary conversion.
* ColorButton: Added a constructor taking a Gdk::RGBA, and
	get/set_rgba().
* ComboBoxText: Add remove_all(), replacing clear_items().
* LinkButton: Add activate_link signal.
* RecentInfo: Add get_gicon().
* Added Scrollable interface.
* IconView, Layout, TextView, ToolPallete, TreeView, ViewPort:
  Derive from Scrollable, removing their get/set/unset_h/vadjustment() methods
  and set_scroll_adjustments signals, because they are now in the base Scrollable.
* Widget:
  - Added queue_draw_region(), set/get_hexpand(),
	set/get_hexpand_set(), set/get_vexpand(), set/get_vexpand_set(),
	queue_compute_expand(), compute_expand(), shape_combine_region(),
	input_shape_combine_region()
  - Removed hide_all().

2.91.1.1 (unstable):

* Fix the build with GTK+ 2.91.1.
  (Murray Cumming) Bug #632694 (David Ronis)
* ComboBoxText: Add clear_items() and set_active_text().

2.91.1 (unstable):

* Remove ComboBoxEntry and ComboBoxEntryText.
* ComboBox:
  - Add a has_entry bool to the constructors, replacing use of GtkComboBoxEntry.
  - Added set_entry_text_column(), get_entry() and get_entry_text(),
  - Added set_popup_fixed_width()
* ComboBoxText: Re-implemented with GtkComboBoxText.
  As a bonus this means that insert_text() will now work, and we can now
  define this widget and its data items in Glade.
* Main: Remove signal_run() and signal_quit().
* RadioButton: Added join_group().
* StatusBar: Remove get/set_has_resize_grip().
* Window: Added get/set_has_resize_grip(), get_resize_grip_is_visible(), get_resize_grip_area().
* Remove WrapBox.

2.91.0 (unstable):

Gdk:
* Drawable: Removed get_size(), get_depth(), set_colormap(),
  get_colormap(), get_visual(), get_screen() and get_display().
* Window:
  - Added get_visual(), get_screen(), get_display(),
  set_backround_pattern(), get_offscreen_surface(), get_width(), get_height().
  - Remove redirect_to_drawable(), remove_redirection, clear(),
  clear_area_a().
  (Murray Cumming)

Gtk:
* Adjustment, FileFilter and RecentFilter must now be used via RefPtr.
* Removed SizeRequest and CellSizeRequest, putting the methods in Widget and
  CellRenderer instead.
* Widget::on_expose_event() (the expose_event signal) is now on_draw(),
  which takes a pre-clipped Cairo::Context.
  (Murray Cumming)

Build:
* Adapted to the latest GTK+ 3, which has no GtkObject.
  (Murray Cumming)
* Added support for MSVC 2010 and 64 bit.
  (Armin Burgmeier)

2.90.7 (unstable):

Gdk:
* Bitmap: Remove the constructors. This whole class may be removed soon,
* Color: Remove rgb_find_color().
* Cursor: Added get_cursor_type().
* Device:
  - Added get_key(), get_axis_use(), get_n_axes(),
	get_axis_value(), get_display(), get_associated_device(), get_device_type(),
	grab(), ungrab().
  - get_key(): Make this const.
* Display: Added device_is_grabbed(), get_device_state(),
	get_window_at_device_position(), warp_device(), set_device_hooks(),
	get_device_manager()
* Added DeviceManager.
* Drawable: Removed draw_*() methods. We should use cairo now instead.
* Pixbuf:
  - Added constructor (and create) that takes a Cairo::Surface.
  - Removed constructors and create*() methods that took a Gdk::Image.
* Pixmap: Remove some constructors. This whole class may be removed soon.
* Removed RgbCmap.
* Window: Added set_device_cursor(), get_device_position(),
	get_device_events(), set_device_events(), get_support_multidevice(),
	set_support_multidevice(), get_composited(), is_input_only(), is_shaped(),
  has_native(), get_modal_hint(), get_background_pattern(),
  coords_to_parent(), coords_from_parent(),
  get_effective_parent(), get_effective_toplevel(), create_similar_surface(),
  get_accept_focus(), get_focus_on_map().
  (Murray Cumming)
* Gdk::Cairo: set_source_pixmap(): Added default parameter values
  for pixmap_x and pixmap_y.

Gtk:
* AboutDialog: Added get/set_license_type().
* Added Application, wrapping GtkApplication.
* Removed AnchorType enum.
* CellView: Added get_desired_width_of_row() and
  get_desired_height_for_width_of_row().
* Dialog:
  - Remove get/set_has_separator() and property.
  - Constructors: Remove use_separator parameters.
* Expander: Added get/set_label_fill() and property.
* FileChooserButton: Remove the constructor that lets us set
  the backend.
* IconInfo: Added load_icon_symbolic().
* IconView: Rename get/set_orientation() (and property) to
  get/set_item_orientation().
* Image: Removed get_image() and set(Gdk::Image).
* Removed Item, replaced by use of MenuItem.
* MenuItem: Added unset_submenu().
* MenuShell: Removed items() and the MenuHelper namespace.
* MessageDialog: Removed the buttons property.
* Notebook:
  - Added get_tab_hborder() and get_tab_vborder().
  - Removed Notebook::pages().
* PaperSize: Added get_paper_sizes().
* ProgressBar:
  - Added get/set_inverted() and get/set_show_text().
  - Remove get/set_orientation(), deriving from Orientable instead.
* PrintOperation: Added run_page_setup_dialog() overloads
  with no PageSetup parameter.
* PrintUnixDialog: Added get_manual_capabilities().
* RadioAction: Added join_group().
* RecentManager: Removed get/set_limit() and the property.
  RecentChooser still has these.
* Added SizeRequest.
* StatusBar: Rename remove_all() to remove_all_messages().
* StatusIcon:  Removed get/set_blinking().
* Style:
  - Removed get*_gc() and paint_polygon().
  - Added copy().
* Table:
  - Removed children(). This used API in GTK+ that has been removed.
  - Added get_size().
* Viewport: Added get_view_window().
* Widget:
  -  Added device_is_shadowed(), set_device_events(),
  add_device_events(), set/get_support_multidevice(), get_device_event().
  - Added send_focus_change().
  - Added const version of get_accessible().
* Added WrapBox.
  (Murray Cumming)

General:
* Windows build fixes.
  (Armin Burgmeier)
* API reference documentation improvements.
  (Murray Cumming)

2.90.5 (unstable):

Gdk:
* Remove Gdk::Region, using Cairo::Region instead.
  This requires the latest cairomm.
* DragContext: Added get_source_window() and get_selected_action().
  (Murray Cumming)

2.90.4 (unstable):

Gtk:
* Button: Added get_event_window().
* Table: Added get_size().
* StatusBar: Added remove_all().
* TextView:  Added get_hadjustment(), get_vadjustment(),
  im_context_filter_keypress(), and reset_im_context().

2.90.3.1 (unstable):

Build:
* Split atkmm of into a separate tarball, like pangomm.
  This allows gtkmm-2.4 and gtkmm-3.0 to use the same atkmm ABI.
  (Daniel Elstner)
* Build against gtk+ from git master too.
  (Chris Kühl)

Gtk:
* StatusBar: Added remove_all()
* TextView: Added get_hadjustment(), get_vadjustment(),
  im_context_filter_keypress(), and reset_im_context().
  (Murray Cumming)

2.90.3 (unstable):

Gtk:
* Assistant: Added commit().
* Calednar: select_month, mark_day(), unmark_day(): Remove the bool return value.
* ComboBox::popup(): Added optional device parameter.
* Entry: Added im_context_filter_keypress() and reset_im_context().
* IconTheme: Add back get_for_screen().
* Menu: popup(): Add optional device parameter.

2.90.2 (unstable):

Gdk:
* Display: Remove list_devices() and get_core_pointer() because
  they are now deprecated in GTK+.
* DragContext: Rename get_targets() to list_targets().
  Remove accessors for some (now hidden) struct fields.
* Image:
  - Rename get_bpp() to get_bytes_per_pixel().
  - Rename get_bpl() to get_bytes_per_line().
  - Added get_depth().
  (Murray Cumming)

Gtk:
* Box: Remove the children() list because it used a struct field and struct type
  that are now hidden.
* ProgressBar: Remove the unnused ProgressBarStyle enum.
  (Murray Cumming)

2.90.0 (unstable):

* Renamed ABI from gtkmm-2.4 to gtkmm-3.0.
  This requires applications to change their pkg-config check to gtkmm-3.0
  when they wish to use gtkmm-3.0 instead of gtkmm 2.x.
* Use gtk+ 3.0 instead of gtk+ 2.0.
* Removed deprecated API.
* Remove support for these glibmm build options via ifdefs:
  --enable-api-exceptions
  --enable-api-properties
  --enable-api-default-signal-handlers
  (All this gtkmm API is now always present.)
* Added Border and used it in Entry and Range.
  (Krzesimir Nowak)
* FileChooser:
  Use std::string for filenames, instead of ustring, fixing bug #142138.
* Action, ActionGroup, ListStore, SizeGroup, TreeStore, Widget:
  Inherit and Implement Buildable.
* Button, EntryCompletion, MenuItem, RecentChooserMenu, ToolButton, ToolItem,
  IconView: Inherit and implement Activatable.
  TreeViewCOlumn,
* Box, ButtonBox, Paned, Ruler, ScaleButton, ScrollBar, Separator, SpinButton:
  Inherit and implement Orientable.
* ComboBox: Inherit and implement CellEditable.
* EntryCompletion, IconView, TreeViewColumn: Inherit and implement CellLAyout.
* Add default signal handlers for several signals.

gtkmm-1 and gtkmm-2 news has been removed. It can be found in releases
prior to gtkmm 3.95.1.
