We've been bitten by a number of Gtk bugs over the years. These particularly affect our Windows packages, where we have traditionally had a limited set of prebuilt versions of Gtk to choose from, and had to choose which bug we ship with. (These days we've given up on the official releases, and build our own Gtk.)
These tables cover the versions of Gtk itself, since that's what we seem to have trouble with, rather than its dependencies like Glib. (Newer versions of Glib tend to drop compatibility with obsolete versions of Windows; this isn't covered here.)
In addition to the upstream trouble, we make life more difficult for ourselves by building Gtk2 and Gtk3 packages in a single "gnuwin" environment (ref); they share some dependencies (e.g. Glib); and in our experience, a given version of Gtk2/3 may not work with a given version of Glib (etc), and later versions of Glib are not always better in this regard. Usually we pick the extra libraries that come with Gtk3; so we may have to pick a pair of Gtk2/3 versions that are compatible in this regard. (If we ever find we can't, we can always prepare two separate environments.) The details of this are not covered here either.
(Darker colours are for observations we have made with Freeciv, lighter colours are unproven speculations about fixed versions / root causes.)
Please don't edit this table if you're not a Freeciv developer; if you have any further relevant observations please leave them in the relevant bugs in the bug tracker, or on the talk page here if they don't fit elsewhere.
||Black map / hang
||Crash with new Gtk3|
|2.12.0||Minimum version that Freeciv 2.4-2.6+ source compiles against|
|2.16.0||Yes||-||? - 2.1.9|
|2.16.5||Yes||-||2.2.0-RC1 - 2.2.7
2.3.0-beta3 - 2.3.0-RC1
|2.16.6||Yes||-||2.2.0-beta1 - 2.2.0-beta3
|2.22.1||Yes||0.6.5||2.3.0-RC2 - 2.3.0||Broken||OK||OK|
2.4.0-beta2 - 2.4.3
|2.24.20||No||0.12-0.14||(2.4.3 test, older)
We haven't officially launched Gtk3 Windows clients at the time of writing, due to major usability issues. Unadorned Freeciv versions refer to test builds made by cproc.
||Makes Gtk2 crashy|
|3.4.0||Minimum version that Freeciv 2.4-2.5 source compiles against|
|3.8.0||Minimum version that Freeciv 2.6+ source compiles against|