The problem is that if you want to target any Geany from before 1.24 where it didn't provide a gtkcompat.h and you use any macros from it, then you have to assume GTK+ >2.16 because gtkcompat.h defines macros that transparently provides GTK+ >2.16 functionality for where that version isn't available. If the gtkcompat.h isn't available and plugins are using macros from it, they implicitly depend on GTK+ >2.16.


Yes, for plugins to support GTK3 they should require a new API version.

Colomban should have bumped the API version with the introduction of gtkcompat.h since it adds new functionality, then they won't compile with older versions of the API, so can't be used with older Geany versions anyway.   

The problem is that this new API isn't backward compatible with the old API.  This is rare for Geany I admit, and we normally try to avoid it, but adding GTK3 to the API makes it incompatible.

If you want to support Geany < 1.24 then you can't support 1.24 and vice versa unless you do a bunch of #define and #ifdefs anyway, figuring if gtkcompat is available is probably the least of your worries :)

Anyone who wants to compile for older Geany's should use the 1.23 tarball or git tag.  Probably that should be clearer somewhere, and maybe at the next release of g-p Frank will consider continuing to make the 1.23 tarball available with a note in "installing" on the plugins website.

Cheers
Lex