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 README
file, especially the last paragraph.

* Update the "Working with gtkmm's Source Code" appendix
  (Kjell Ahlstedt)
* Meson build: Don't require gtkmm unconditionally
  (Kjell Ahlstedt)
* Avoid a translation problem with <programlisting>
  (Kjell Ahlstedt) Merge request !11 (CCTV-1)
* Update AboutDialog and Assistant example programs
  (Kjell Ahlstedt)

Updated translations:
* Simplified Chinese (CCTV-1), merge requests !8, !9, !10, !11
* Spanish (Daniel Mustieles)


4.0.0 (stable):

This is the first stable release describing gtkmm-4.0.

The tarball for 4.0.0 has been created with 'meson dist'.
If you build with Autotools from the tarball, please read the README
file, especially the last paragraph.

* Lots of changes in the example programs due to changes in
  gtk4 and gtkmm4. Most such changes are not listed in this NEWS file.
  (Kjell Ahlstedt)
* Use glibmm-2.68 instead of glibmm-2.64
  Require giomm-2.68 >= 2.68.0 and gtkmm-4.0 >= 4.0.0
  (Kjell Ahlstedt)
* Meson build: Set default value of the 'warnings' option to 'min'
  (Kjell Ahlstedt)
* Describe how the mm-common/skeletonmm project is built with Meson
  (Kjell Ahlstedt)
* input example: Don't include build/config.h
  (Kjell Ahlstedt) Issue #11 (Keyikedalube Ndang)
* Describe how to build a multi-threaded program
  (Kjell Ahlstedt) Issue #12 (Keyikedalube Ndang)
* Remove description of Gtk::Container and Gtk::RadioButton
  Those classes have been removed from gtkmm4
  (Kjell Ahlstedt)
* Meson build: Drop dependence on Perl
  (Kjell Ahlstedt)
* Update the "gtkmm and Win32" appendix
  (Chun-wei Fan) Issue #4 (Daniel Boles)


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

Apart from the changes listed below there are lots of small changes.
Most changes are caused by changes in gtkmm-4.0.
All example programs are compatible with gtkmm 3.97.1.
docs/tutorial/C/index-in.docbook is not fully updated.

* Use glibmm-2.64 instead of glibmm-2.62
  Require gtkmm-4.0 >= 3.97.1
  (Kjell Ahlstedt)
* meson.build: "ninja test" builds the example programs
  README files: meson is the recommended build system
  (Kjell Ahlstedt)
* Builder, example and description: Update use of get_widget() and
  get_widget_derived(). Describe combination with Glib::Property
  (Kjell Ahlstedt)
* Application example: Use Gio::Application::add_option_group()
  (Kjell Ahlstedt) Issue glibmm#46 (Patrick Storz)
* Meson build: Replace shell scripts with Python scripts
  Makefile.am: Distribute files needed when building with Meson
  (Kjell Ahlstedt)
* Builder: Using derived widgets: Update for glibmm
  (Daniel Boles) Merge request !5
* Drop pointless/confusing class around RadioButtons
  (Daniel Boles) Merge request !6
* Don't recommend `new` for an in-class member
  (Daniel Boles) Merge request !7
* Replace Glib::Exception by Glib::Error
  (Kjell Ahlstedt) Issue glibmm#23
* index-in.docbook: Change git.gnome.org to gitlab.gnome.org
  (Kjell Ahlstedt)
* Add examples/book/treeview/custom_treemodel
  (Kjell Ahlstedt) Issue #9 (Danny van Elsen)
* Use Gtk::PopoverMenu and Gtk::PopoverMenuBar instead of the removed
  Gtk::Menu and Gtk::MenuBar.
  Update drag-and-drop examples: Use Gtk::DragSource and DropTarget.
  Examples with toolbars: Replace removed Toolbar and *ToolButton
  by Box and *Button.
  (Kjell Ahlstedt)


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

* Prepare for gtkmm-4.0.
  Require giomm-2.62 and gtkmm-4.0. Require C++17
  (Kjell Ahlstedt)
* Remove the "Plugs and Sockets" chapter and example
  (Kjell Ahlstedt)
* Update most chapters and example programs.
  (Kjell Ahlstedt, Murray Cumming)
* Add "Changes in gtkmm 4" chapter (incomplete)
  (Kjell Ahlstedt)
* Headers and Linking section: Replace broken link
  (Kjell Ahlstedt) Bug #777879 (Ramana Venkata)
* Use auto instead of explicit types where appropriate.
  Adapt to Glib::RefPtr as std::shared_ptr.
  (Murray Cumming)
* Adapt to enums in classes.
  (Murray Cumming, Kjell Ahlsedt) Bug #86864
* Add Gtk::FileChooserNative example
  (Kjell Ahlstedt) Bug #783801 (Alexander Shaduri)
* Remove Gtk::EventBox example, PlacesSidebar example,
  ToolPalette example and chapter, ButtonBox example.
  (Kjell Ahlstedt)
* Mixing C & C++: Clarify ownership of wrap() result
  (Daniel Boles, Kjell Ahlstedt) Bug #788646
* Clarify: ColumnRecords can be static *singletons*
  (Daniel Boles) Bug #792482 = Issue gtkmm#29 = Issue #3
* Fix a broken link to www.gtkmm.org
  (Kjell Ahlstedt) Bug #794714 = Issue gtkmm#32 = Issue #2 (Ray)
* Clarify that user sometimes must delete if managed
  (Daniel Boles) Merge request !4
* Document the new Gtk::make_managed()
  (Daniel Boles) Bug #795816 = Issue gtkmm#33, Merge request !2
* Add meson.build files and scripts for meson builds (experimental)
  (Kjell Ahlstedt)

Updated translations:
* Czech (Marek Cernocky)
* German (Mario Blättermann)
* Spanish (Daniel Mustieles)


3.22.0: (stable)

* Add the "Building applications" chapter with example code.
  (Kjell Ahlstedt) Bug #772391
* Document that Gtk::Action and some other classes are deprecated.
  (Kjell Ahlstedt)
* Add the ListModel example.
  (Kjell Ahlstedt) Bug #755149
* gmmproc section: Document new options in _CLASS_GTKOBJECT.
  (Kjell Ahlstedt) Bug #767951
* Printing examples: Add missing menu items and toolbar.
  (Kjell Ahlstedt)
* Printing advanced example: Don't use deprecated methods.
  (Kjell Ahlstedt)
* gmmproc section: Describe the err_return_value argument in _WRAP_VFUNC.
  (Kjell Ahlstedt)
* Calendar example: Don't use deprecated font: CSS syntax.
  (Murray Cumming)
* Custom widget and calendar examples: Don't crash when showing errors.
  (Murray Cumming)
* gmmproc section: Document all options in _WRAP_ENUM and _WRAP_GERROR.
  (Kjell Ahlstedt)
* gmmproc section: Add description of _CUSTOM_MOVE_OPERATIONS macro.
  (Marcin Kolny)

3.20.0:

* Builder chapter and example: Describe additional parameters to get_widget_derived()
  (Kjell Ahlstedt) Bug #134161
* CellrendererPopup example: Don't use deprecated methods.
  (Kjell Ahlstedt)
* Custom widget and ListBox examples: Update use of CSS files.
  (Kjell Ahlstedt)
* Custom widget example: Avoid some warnings.
  (Kjell Ahlstedt)
* ProgressBar example: Fix the type of a signal connection id data member.
  (Kjell Ahlstedt)
* Update the Internationalization chapter.
  (Kjell Ahlstedt) Bug #701908.
* gmmproc section: Add "String Parameter Processing" section.
  (Kjell Ahlstedt)
* C++11: Use nullptr instead of 0
  (Kjell Ahlstedt)


3.19.3:

* Require the latest gtkmm and glibmm.
* Multi-threaded chapter: Remove warnings about sigc::slots and Glib::Threads::Thread.
  Because people would use regular lambdas or std::function functors with
  std::thread in C++11.
  (Murray Cumming) Bug #755091
* multithread example: Use std::thread, etc, instead of Glib::Threads::*.
  Because C++11 now has this concurrency API and we should use standard
  C++ where possible.
  (Murray Cumming) Bug #755091
* Input example: Fix high CPU load, by opening the fifo in read/write mode.
  (Kjell Ahlstedt)
* command_line_handling example: handle_local_options(): Correct the return
  values, now that glib bug #750796 was fixed.
  (Murray Cumming) Bug #754763
* combobox/complex example: Show use of a cell_data_func().
  (Murray Cumming)
* examples: Remove unnecessary virtual keywords.
  (Murray Cumming)
* C++11: examples: Replace deprecated std::auto_ptr by std::unique_ptr.
  (Kjell Ahlstedt)
* C++11: examples: Use the override keyword.
  (Murray Cumming)
* gmmproc chapter:
  Document _CUSTOM_* gmmproc macros
  (Kjell Ahlstedt)


3.17.50 (unstable):

* Use (and require) C++11.
  (Kjell Ahlstedt)
* C++11: Use the auto, override, and nullptr keywords.
  (Murray Cumming)
* Update the "Menus and Toolbars" chapter.
  (Kjell Ahlstedt)
* recent_files example: Add toolbar and accelerator keys.
  (Kjell Ahlstedt)
* placessidebar example: Remove use of deprecated set_show_connect_to_server().
  (Murray Cumming)
* gmmproc chapter:
  - Add description of the 'newin' parameter of some _WRAP macros. Bug #748856
  - Add description of the detail_name parameter in _WRAP_SIGNAL. Bug #749034
  - Add description of _IGNORE_PROPERTY and _IGNORE_CHILD_PROPERTY.
  - Add description of the keep_return parameter in _WRAP_VFUNC
  (Kjell Ahlstedt)
* Fix the build with -Wshadow.
  (Murray Cumming)
* Examples: Remove remaining uses of GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED.
  (Murray Cumming)


3.15.1 (unstable):

* Replace use of deprecated Widget::override_*() methods.
  (Kjell Ahlstedt)
* Add ScaleButton example.
  (Murray Cumming)
* Add VolumeButton example.
  (Murray Cumming)
* Add the "Gio::Resource and glib-compile-resources" section.
  (Kjell Ahlstedt)
* drawingarea/image and menus_and_toolbars examples: Use resource files.
  (Kjell Ahlstedt)
* Custom widget example: Use Gtk::StyleProperty.
  (Kjell Ahlstedt)
* Improve the UI definitions in the menu examples
  (Kjell Ahlstedt)
* Main menu example: Use Gtk::Application to display an app menu
  (Kjell Ahlstedt)
* Menus and Toolbars: Update the text and examples.
  (Kjell Ahlstedt)
* Completed _WRAP_SIGNAL and _WRAP_VFUNC documentation.
  (Marcin Kolny)
* Arrow example: Arrow icons have been renamed.
  (Kjell Ahlstedt)
* Remove the example with the deprecated StatusIcon
  (Kjell Ahlstedt)
* Add _WRAP_CHILD_PROPERTY section to tutorial.
  (Juan R. García Blanco)
* others/cellrenderercustom/testpopup: Use the new base class order.
  (Kjell Ahlstedt)
* Application/app_and_win_menus example: Hide the window when quitting.
  (Kjell Ahlstedt) Bug #731126
* Mention that Arrow, Alignment and most Button signals are deprecated
  (Kjell Ahlstedt)
* Fix 'make check' after Gtk::Alignment has been deprecated
  (Kjell Ahlstedt)
* Fix 'make check' after Gtk::Misc has been deprecated
  (Kjell Ahlstedt)
* Fix 'make check' after Gtk::Arrow has been deprecated
  (Kjell Ahlstedt)
* PlacesSidebar example: use new show-enter-location.
  (Juan R. García Blanco )
* Application example: Show the new command-line parsing API
  (Kjell Ahlstedt) Bug #727822
* Builder examples: Don't use deprecated API in the Glade files
   (Kjell Ahlstedt)    


3.12.0 (stable):

* Added Gtk::ActionBar.
  (Juan R. García Blanco)
* Added FlowBox example.
  (Juan R. García Blanco)
* Added HeaderBar example.
  (Juan R. García Blanco) Bug #708866
* Added ListBox example.
  (Kjell Ahlstedt)
* Added PlacesSidebar example.
  (Juan R. García Blanco)
* Added Popover example.
  (Juan R. García Blanco)
* Added Revealer example.
  (Juan R. García Blanco) Bug #705460
* Added SearchBar example.
  (Juan R. García Blanco)
* Add a multi-threaded example program.
  (Kjell Ahlstedt)
* Application example: Add a window menu.
  (Murray Cumming)
* Remove stock items and other deprecated API from the tutorial.
  (Kjell Ahlstedt)
* App_and_win_menus example: Add a menu item that sends a Gio::Notification.
  (Kjell Ahlstedt)
* ToolPalette example: Skip non-existent and large icons.
  (Kjell Ahlstedt)
* EventBox example: Make it possible to clip the label.
  (Kjell Ahlstedt)
* InfoBar example: Really show the infobar.
  (Kjell Ahlstedt)
* treemodelcustom: Use the new base class order.
  (Murray Cumming)
* SignalIO example: Add Gio::Application::hold().
  (Kjell Ahlstedt)
* Port from gnome-doc-utils to yelp-tools.
  (Murray Cumming)
* Drag and Drop chapter: Correct the description of the DnD signals.
  (Kjell Ahlstedt)
* Remove mention of deprecated Range::set_update_policy().
  (Murray Cumming)Bug #703147 (Joris)
* Fix broken links.
  (Kjell Ahlstedt)
* gmmproc appendix improvments.
  (José Alburquerque)


3.8.0:

* Dialogs chapter: Add Non-modal AboutDialog section.
  (Kjell Ahlstedt)
* Fix some details in the Clipboard chapter.
  (Kjell Ahlstedt)
* Add some info to the custom/custom_container example.
  (Kjell Ahlstedt)
* Add "Multi-threaded programs" chapter.
  (Chris Vine) Bug #512348
* Builder examples: Update the Glade files to gtkmm3 status.
  (Kjell Ahlstedt)
* Update the description of Box to gtkmm3 status.
  (Kjell Ahlstedt)
* Fix the box example.
  (Kjell Ahlstedt)
* Fix the book/application/app_menu example.
  (Kjell Ahlstedt) Bug #683645 (Tom Jaeger)
* Clipboard and Socket examples: Make them non-unique.
  (Kjell Ahlstedt) Bug #681323.
* Basics, Simple Example: Synchronize code and description.
  (Kjell Ahlstedt) Bug #681323.
* I18n and L10n chapter: Fix broken links.
  (Kjell Ahlstedt) Bug #680546.
* gmmproc: _WRAP_METHOD: Include docs on wrapping methods with slots.
  (José Alburquerque) Bug #688587
* gmmproc: _WRAP_CTOR: Document the new "errthrow" extra argument option.
  (José Alburquerque)
* gmmproc: _WRAP_METHOD: Document gmmproc's output parameter functionality.
  (José Alburquerque)
* gmmproc: _WRAP_VFUNC: Add the errthrow optional parameter documentation.
  (José Alburquerque)
* Fix 'make check' with the latest versions of glib and glibmm.
  (Kjell Ahlstedt)


3.4.1:

* Entry, ComboBox sections: Adapt because
  Entry::signal_activate() has been undeprecated.
  (Kjell Ahlstedt) Bug #655489, comment 21.
* Memory management chapter: Improve the Widgets section.
  (Kjell Ahlstedt) Bug #678566.
* Signals Appendix: Mention exceptions.
  (Kjell Ahlstedt) Bug #677104.
* ComboBox and Range widgets examples: Set an active ComboBox entry.
  (Kjell Ahlstedt)
* Range Widgets example: Really show a Position combo.
  (Murray Cumming)
* SpinButton example: Fix orientation of vertical boxes.
  (Kjell Ahlstedt)
* Update some screenshots.
  (Kjell Ahlstedt)

3.4.0:

* Application examples: Add an AppMenu example.
  (Murray Cumming)
* Improve the Entry and ComboBox with Entry sections.
  (Kjell Ahlstedt) Bug #655489
* Replace the deprecated Gtk::Entry::signal_activate() by signal_key_press_event().
  (Kjell Ahlstedt) Bug #655489.
* Install all screenshots used in the tutorial.
  (Kjell Ahlstedt) Bug #655489.

3.3.18:

* Remove Table and other deprecated classes.
  (Kjell Ahlstedt)
* Use and mention Gtk::Application instead of Gtk::Main.
* Use Gtk::ApplicationWindow.
* Use ColorChooserDialog instead of deprecated ColorSelectionDialog.
  (Murray Cumming)
* Keyboard Events chapter: Clarify keyboard event propagation.
  (Pedro Ferreira) Bug #661857
* New example programs in the DrawingArea chapter.
  (Pedro Ferreira) Bug #666885

3.2.1 (stable):

* Corrected the list of authors.

3.2.0 (stable):

* New chapter: Keyboard Events
	(Pedro Ferreira, Kjell Ahlstedt)
	Bug #661857.
* "Working with gtkmm's Source Code" appendix,
  "Recently Used Documents" chapter,
  "Drawing Area Widget chapter" chapter,
  "Dialogs" chapter:
  Update for gtkmm 3
	(Kjell Ahlstedt) Bug #658265.
* Various examples:
  Correct orientation and packing, which were wrong since we ported to these
  examples to gtkmm 3.
  (Kjell Ahlstedt) Bug #658265.
* Use the new FontChooserDialog instead of FontSelectionDialog.
  (Murray Cumming, Kjell Ahlstedt)
* Use Gtk::Box instead of the now-deprecated Gtk::HBox and Gtk::VBox.
  Likewise for other H and V classes.
  (Murray Cumming)
* Gtk::Builder examples: Update the Glade files.
  (Kjell Ahlstedt)
* gmmproc appendix
  - More about Gtk::Object.
    (Murray Cumming)
  - Use {OUT} instead of {RET} for output params.
	  (José Alburquerque)
	- Initializations: Add comment about type substitution.
	  (José Alburquerque)
	- Mention new support for optional parameters.
	  (José Alburquerque)
	- Update for gtkmm 3
	  (Kjell Ahlstedt) Bug #658265.
* Replace Bitmap and Pixmap by Pixbuf.
  (Kjell Ahlstedt) Bug #658265
* Update links to the git repository.
  (Kjell Ahlstedt) Bug #658265.

3.0.3 (stable):

* Update library.gnome.org/devel links to developer.gnome.org.
* Added a Changes In gtkmm 3 chapter.
* Update for the change from intermediate types to std::vector.
  (Murray Cumming)
	
3.0.2 (stable):

* Put a 2 in the name, so this is now Programming with gtkmm 2.

3.0.1 (stable):

* Correct mentions of version numbers.
 (Murray Cumming)

3.0.0 (stable):

Just a version increase.

2.99.4: (unstable):

* Remove use of Gtk::Application because it was removed from gtkmm 3.0.
  (Murray Cumming)
* Builder section: Remove a now non-existent property.
  (Murray Cumming)
* ComboBox section: Mention set_entry_text_column() instead of set_text_column().
  (Kalev Lember)
* Add basic information on Gtk::Grid.
  (David King)
* Modify the custom_container and custom_widget examples.
  (Kjell Ahlstedt)
* Replace gtkmm-2.24 mentions with gtkmm-3.0.
  (David King)
* Build: Fix the installation path.
  (David King)

2.99.3: (ustable):

* Ported to the latest gtkmm API.
  (Murray Cumming, Krzesimir Nowak)
* Modified the custom_container and custom_widget examples to use
  the extended layout API.
  (Kjell Ahlstedt)
* Fix the print preview dialog in the printing/advanced example.
  (Kjell Ahlstedt)
* Build: Check for mm-common.
  (Kjell Ahlstedt) Bug #628713 (Patricia Santana Cruz)
* Book: Fix some typos.
  (Chris Kühl)

2.91.6: (unstable):

* Ported to the recent gtkmm API, using Gdk::RGBA and Gtk::StyleContext
  and the slightly-changed ComboBoxText API.

2.91.5: (unstable):

* Removed use of widgets removed from gtkmm.

2.91.4: (unstable):

* Improved the clipboard/ideal example.
	(Kjell Ahlstedt)
* Label section: Fix a /<b> -> </b> typo.
  (Murray Cumming)
* Rearranged an include to fix the build due to a not-yet-explained
  compiler error.
  (Murray Cumming)

2.91.2: (unstable):

* Book:
  - Remove mentions of the removed STL-style container APIs.
  - Fix/Hide remaining TODO comments.
  - Mark examples as being for gtkmm 3, not gtkmm 2.

2.91.1: (unstable)

* Book: Combo Boxes: Update for the removal of ComboBoxEntry.
*	Fix the build with latest gtkmm.
(Murray Cumming)

2.91.0: (unstable)

* Adapt example code to (unstable) gtkmm-3.0.
* Wrapping C Libraries with gmmproc:
  Correct the skeletonmm directory paths.
  Bug #627425. (Geodebay)

This is the master branch. See also the gtkmm-2-22 branch.

2010-07-21  Murray Cumming  <murrayc@murrayc.com>

	Buttons chapter: Remove text about non-existant XPMLabelBox class.

	* docs/tutorial/C/gtkmm-tutorial-in.xml: The mention of an XPMLabelBox
	was very odd and probably about a very very old version of the API.

2010-07-16  Murray Cumming  <murrayc@murrayc.com>

	Fix the build with latest gtkmm-2.22 with --enable-warnings=fatal.

	Generally include gtkmm/box.h before other gtkmm headers and include
	gtkmm/main.h after other gtkmm headers. Not pleasant.

2010-06-01  Murray Cumming  <murrayc@murrayc.com>

	Remove orphaned undef.

	* examples/book/treeview/popup/treeview_withpopup.cc: Remove an undef
    still left over from the removal.

2010-06-01  Murray Cumming  <murrayc@murrayc.com>

	Book: Remove the optional API appendix.

	* docs/tutorial/C/gtkmm-tutorial-in.xml: Remove the appendix about the
    reduced API because we no longer offer it in glibmm or gtkmm.

2010-05-31  Murray Cumming  <murrayc@murrayc.com>

	Finish removal of use of reduced API.

	* examples/book/treeview/drag_and_drop/treemodel_dnd.cc: Removed some
	orhpaned #endif lines left from my previous commit.

2010-05-31  Murray Cumming  <murrayc@murrayc.com>

	Remove use of reduced API.

	* examples/*.[h|cc]: Remove all ifdefed code that supported the various
	reduced API, because we no longer support that in latest glibmm and gtkmm.

2010-05-07  David King  <davidk@openismus.com>

	Improve the Assistant example

	* examples/book/assistant/*: Move examplewindow.[cc|h] to
	exampleassistant.[cc|h]]. Add another window which opens the assistant
	and receives the result from it.

2010-05-07  David King  <davidk@openismus.com>

	Recommend non-deprecated Tooltip API in Tooltips chapter

	* docs/tutorial/C/gtkmm-tutorial-in.xml: Remove text that recommended
	use of the deprecated Tooltips API, and suggest the Tooltip API
	instead.

2010-05-07  David King  <davidk@openismus.com>

	Update copyright years for tutorial

	* docs/tutorial/C/gtkmm-tutorial-in.xml: Update copyright years to
	include all years, not a range.

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