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)